# 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 --no-install-recommends 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 --no-install-recommends libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler RUN apt-get install -y --no-install-recommends libqrencode-dev RUN apt-get install -y --no-install-recommends libxkbcommon-x11-0 libxcb-xinerama0 libx11-xcb1 libx11-xcb-dev libqt5x11extras5 # BerkeleyDB (version 5.3) RUN apt-get install -y --no-install-recommends libdb5.3++-dev libdb5.3++ libdb5.3-dev # ZMQ (provides ZMQ API 4.x) RUN apt-get install -y --no-install-recommends libzmq3-dev # Miniupnpc # RUN apt-get install -y libminiupnpc-dev # ------------------------------------- FROM base as build # Build tools RUN apt-get install -y build-essential libtool autotools-dev automake pkg-config bsdmainutils git autogen make gawk file 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 app RUN apt-get install -y bc 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"]