ARG DOGECOIN_VERSION=1.14.9 ARG DEBIAN_BASE=debian:bookworm-slim FROM ${DEBIAN_BASE} AS builder ARG DOGECOIN_VERSION ARG TARGETARCH RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ libtool \ autotools-dev \ automake \ pkg-config \ bsdmainutils \ python3 \ libevent-dev \ libssl-dev \ libboost-dev \ libboost-system-dev \ libboost-filesystem-dev \ libboost-program-options-dev \ libboost-thread-dev \ libminiupnpc-dev \ libzmq3-dev \ git \ ca-certificates && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* WORKDIR /tmp RUN git clone --depth 1 --branch v${DOGECOIN_VERSION} https://github.com/dogecoin/dogecoin.git WORKDIR /tmp/dogecoin RUN ldconfig -p | grep boost || true && \ ldconfig -p | grep ssl || true && \ find /usr -name libboost_filesystem.pc || true && \ find /usr -name libssl.pc || true && \ echo "PKG_CONFIG_PATH=/usr/lib/${TARGETARCH}-linux-gnu/pkgconfig:/usr/lib/pkgconfig" && \ export PKG_CONFIG_PATH=/usr/lib/${TARGETARCH}-linux-gnu/pkgconfig:/usr/lib/pkgconfig && \ pkg-config --libs --cflags libboost_filesystem || echo "pkg-config failed for filesystem, continuing..." && \ pkg-config --libs --cflags libssl || echo "pkg-config failed for libssl, continuing..." && \ echo "Target architecture: ${TARGETARCH}" RUN ./autogen.sh && \ ./configure --without-gui --disable-wallet --disable-tests \ LDFLAGS="-L/usr/lib -L/usr/lib/${TARGETARCH}-linux-gnu -lboost_filesystem -lboost_system -lboost_program_options -lboost_thread -lssl -lcrypto" \ CPPFLAGS="-I/usr/include" \ PKG_CONFIG_PATH="/usr/lib/${TARGETARCH}-linux-gnu/pkgconfig:/usr/lib/pkgconfig" && \ make && \ strip src/dogecoind src/dogecoin-cli src/dogecoin-tx && \ make install DESTDIR=/opt/dogecoin && \ find /opt/dogecoin -type f -name '*.a' -delete && \ find /opt/dogecoin -type f -name '*.h' -delete && \ find /opt/dogecoin -type d -name 'include' -exec rm -rf {} + && \ rm -rf /tmp/dogecoin /tmp/* /var/cache/* /var/log/* FROM ${DEBIAN_BASE} ARG DOGECOIN_VERSION RUN apt-get update && apt-get install -y --no-install-recommends \ libevent-pthreads-2.1-7 \ libssl3 \ libboost-system1.74.0 \ libboost-filesystem1.74.0 \ libboost-program-options1.74.0 \ libboost-thread1.74.0 \ libminiupnpc17 \ libzmq5 && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /var/cache/* /var/log/* COPY --from=builder /opt/dogecoin/usr/local/bin/dogecoind /usr/local/bin/ COPY --from=builder /opt/dogecoin/usr/local/bin/dogecoin-cli /usr/local/bin/ COPY --from=builder /opt/dogecoin/usr/local/bin/dogecoin-tx /usr/local/bin/ ENV PATH="$PATH:/usr/local/bin" VOLUME ["/app/dogecoin"] EXPOSE 22556 WORKDIR /app CMD ["/usr/local/bin/dogecoind", "-printtoconsole", "-datadir=/app/dogecoin"] LABEL name="dogecoin-node" version="${DOGECOIN_VERSION}" description="Dogecoin node container based on Debian"