Files
dogecoin-x-vnc/Dockerfile
T
jens 8d40348e45 - reduced image size
- run.sh accepts image tag as first arg
2024-05-11 12:30:51 +02:00

64 lines
1.8 KiB
Docker

# syntax=docker/dockerfile:1
# -------------------------------------
FROM ubuntu:jammy as base
ENV DEBIAN_FRONTEND=noninteractive
# Update
RUN apt-get update
# Required dependencies
RUN apt-get install -y libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libevent-dev libssl-dev
# Qt (required for dogecoin-qt GUI)
RUN apt-get install -y libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
RUN apt-get install -y libqrencode-dev
RUN apt-get install -y libxkbcommon-x11-0 libxcb-xinerama0 libx11-xcb1 libx11-xcb-dev libqt5x11extras5
# BerkeleyDB (version 5.3)
RUN apt-get install -y libdb5.3++-dev libdb5.3++ libdb5.3-dev
# ZMQ (provides ZMQ API 4.x)
RUN apt-get install -y libzmq3-dev
# Miniupnpc
# RUN apt-get install -y libminiupnpc-dev
# -------------------------------------
FROM base as build_base
# Build tools
RUN apt-get install -y build-essential libtool autotools-dev automake pkg-config bsdmainutils git autogen make gawk file
# -------------------------------------
FROM build_base as build
ADD https://github.com/dogecoin/dogecoin.git /tmp/dogecoin
WORKDIR "/tmp/dogecoin"
RUN ./autogen.sh >autogen.log
RUN ./configure --with-gui -prefix=/opt/dogecoin/ >configure.log
WORKDIR "/tmp/dogecoin"
RUN make -j4 && make install
# -------------------------------------
FROM base as slim_base
RUN apt-get purge -y python3
RUN apt-get autoremove --purge -y
RUN apt-get clean -y
# -------------------------------------
FROM slim_base as app
COPY --from=build /opt/dogecoin /opt/dogecoin
RUN rm /opt/dogecoin/bin/bench_dogecoin*
RUN rm /opt/dogecoin/bin/test_dogecoin*
RUN useradd -m doge
ENV PATH=$PATH:/opt/dogecoin/bin
RUN su - -s /usr/bin/bash doge
WORKDIR "/home/doge"
COPY app/*.sh /app/
CMD ["/app/app.sh"]