Files
dogecoin-node/docker/Dockerfile

85 lines
2.9 KiB
Docker

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"