|
| 1 | +# Use manifest image which support all architecture |
| 2 | +FROM debian:bullseye-slim as builder |
| 3 | + |
| 4 | +RUN set -ex \ |
| 5 | + && apt-get update \ |
| 6 | + && apt-get install -qq --no-install-recommends ca-certificates dirmngr gosu gpg gpg-agent wget |
| 7 | + |
| 8 | +ENV DASH_VERSION 23.1.2 |
| 9 | +ENV DASH_URL https://github.com/dashpay/dash/releases/download/v${DASH_VERSION}/dashcore-${DASH_VERSION}-aarch64-linux-gnu.tar.gz |
| 10 | +ENV DASH_SHA256 8f42584ef119b83829a09dd9b9fb971b9ae5e533591da9df0d5b79f8b1784f1f |
| 11 | +ENV DASH_ASC_URL https://github.com/dashpay/dash/releases/download/v${DASH_VERSION}/dashcore-${DASH_VERSION}-aarch64-linux-gnu.tar.gz.asc |
| 12 | +ENV DASH_PGP_KEY 52527BEDABE87984 |
| 13 | + |
| 14 | +# install dash binaries |
| 15 | +RUN set -ex \ |
| 16 | + && cd /tmp \ |
| 17 | + && wget -qO dash.tar.gz "$DASH_URL" \ |
| 18 | + && echo "$DASH_SHA256 dash.tar.gz" | sha256sum -c - \ |
| 19 | + && gpg --keyserver keyserver.ubuntu.com --recv-keys "$DASH_PGP_KEY" \ |
| 20 | + && wget -qO dash.asc "$DASH_ASC_URL" \ |
| 21 | + && gpg --verify dash.asc dash.tar.gz \ |
| 22 | + && mkdir bin \ |
| 23 | + && tar -xzvf dash.tar.gz -C /tmp/bin --strip-components=2 "dashcore-$DASH_VERSION/bin/dash-cli" "dashcore-$DASH_VERSION/bin/dashd" \ |
| 24 | + && cd bin \ |
| 25 | + && wget -qO gosu "https://github.com/tianon/gosu/releases/download/1.11/gosu-arm64" \ |
| 26 | + && echo "5e279972a1c7adee65e3b5661788e8706594b458b7ce318fecbd392492cc4dbd gosu" | sha256sum -c - |
| 27 | + |
| 28 | +# Making sure the builder build an arm image despite being x64 |
| 29 | +FROM --platform=arm64 debian:bullseye-slim |
| 30 | + |
| 31 | +COPY --from=builder "/tmp/bin" /usr/local/bin |
| 32 | +#EnableQEMU COPY qemu-aarch64-static /usr/bin |
| 33 | + |
| 34 | +RUN chmod +x /usr/local/bin/gosu && groupadd -r bitcoin && useradd -r -m -g bitcoin bitcoin |
| 35 | + |
| 36 | +# create data directory |
| 37 | +ENV BITCOIN_DATA /data |
| 38 | +RUN mkdir "$BITCOIN_DATA" \ |
| 39 | + && chown -R bitcoin:bitcoin "$BITCOIN_DATA" \ |
| 40 | + && ln -sfn "$BITCOIN_DATA" /home/bitcoin/.dashcore \ |
| 41 | + && chown -h bitcoin:bitcoin /home/bitcoin/.dashcore |
| 42 | + |
| 43 | +VOLUME /data |
| 44 | + |
| 45 | +COPY docker-entrypoint.sh /entrypoint.sh |
| 46 | +ENTRYPOINT ["/entrypoint.sh"] |
| 47 | + |
| 48 | +EXPOSE 9998 9999 19998 19999 |
| 49 | +CMD ["dashd"] |
0 commit comments