# syntax=docker/dockerfile:1 # ------------------------------------- FROM ubuntu:jammy AS build ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential libtool autotools-dev automake pkg-config bsdmainutils git autogen make gawk file \ libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev \ libevent-dev libssl-dev \ libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler \ libqrencode-dev \ libxkbcommon-x11-0 libxcb-xinerama0 libx11-xcb1 libx11-xcb-dev libqt5x11extras5 \ libdb5.3++-dev libdb5.3++ libdb5.3-dev \ libzmq3-dev \ && rm -rf /var/lib/apt/lists/* # Miniupnpc # RUN apt-get install -y libminiupnpc-dev 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-strip # ------------------------------------- FROM ubuntu:jammy AS app ENV DEBIAN_FRONTEND=noninteractive # Runtime libraries only (headers/compilers stay in the build stage) RUN apt-get update && apt-get install -y --no-install-recommends \ bc \ libboost-system1.74.0 libboost-filesystem1.74.0 libboost-chrono1.74.0 libboost-program-options1.74.0 libboost-thread1.74.0 \ libevent-2.1-7 libevent-pthreads-2.1-7 libssl3 \ libqt5gui5 libqt5core5a libqt5dbus5 libqt5x11extras5 libqt5widgets5 libqt5printsupport5 \ libprotobuf23 \ libqrencode4 \ libxkbcommon-x11-0 libxcb-xinerama0 libx11-xcb1 \ libdb5.3++ \ libzmq5 \ && rm -rf /var/lib/apt/lists/* 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"]