Files
dogecoin-x-vnc/Dockerfile
T
jensandClaude Sonnet 5 6264822316 Slim down runtime image and default run.sh to dogecoin-qt:latest
Split the Dockerfile into a build stage (with headers/compilers) and a
lean app stage with only runtime libraries, and strip binaries on
install. run.sh now defaults to dogecoin-qt:latest when no image is
given.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TUDyiicQWXr4XVmuJEXvn3
2026-07-12 23:31:56 +02:00

58 lines
2.1 KiB
Docker

# 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"]