ARG DOGECOIN_VERSION=1.14.9
ARG DEBIAN_BASE=debian:bookworm-slim

FROM ${DEBIAN_BASE} AS builder
ARG DOGECOIN_VERSION
ARG TARGETARCH
ARG BINARY_ARCH

RUN apt-get update && apt-get install -y --no-install-recommends \
    wget \
    tar \
    git \
    gnupg \
    ca-certificates && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /tmp
RUN if [ "$TARGETARCH" = "amd64" ]; then \
        BINARY_ARCH="x86_64"; \
    elif [ "$TARGETARCH" = "arm64" ]; then \
        BINARY_ARCH="aarch64"; \
    else \
        echo "Unsupported architecture: $TARGETARCH" && exit 1; \
    fi && \
    wget https://github.com/dogecoin/dogecoin/releases/download/v${DOGECOIN_VERSION}/dogecoin-${DOGECOIN_VERSION}-${BINARY_ARCH}-linux-gnu.tar.gz && \
    wget https://github.com/dogecoin/dogecoin/releases/download/v${DOGECOIN_VERSION}/SHA256SUMS.asc && \
    git clone --depth 1 --shallow-submodules https://github.com/dogecoin/dogecoin && \
    gpg --import dogecoin/contrib/gitian-keys/*.pgp && \
    gpg --verify SHA256SUMS.asc && \
    tar -xzvf dogecoin-${DOGECOIN_VERSION}-${BINARY_ARCH}-linux-gnu.tar.gz --strip-components=1 -C /tmp/dogecoin

FROM debian:bookworm-slim
ARG DOGECOIN_VERSION

COPY --from=builder /tmp/dogecoin /opt/dogecoin

ENV PATH="$PATH:/opt/dogecoin/bin"

VOLUME ["/app/dogecoin"]

EXPOSE 22556

WORKDIR /app

CMD ["/opt/dogecoin/bin/dogecoind", "-printtoconsole", "-datadir=/app/dogecoin"]
LABEL name="dogecoin-node" version="${DOGECOIN_VERSION}" description="Dogecoin node container based on Debian"