69 lines
2.5 KiB
Django/Jinja
69 lines
2.5 KiB
Django/Jinja
#Based on Dockerflie from Kyle Manna - https://github.com/kylemanna/docker-bitcoind
|
|
|
|
FROM almalinux/9-minimal AS build
|
|
|
|
RUN microdnf update -y \
|
|
&& microdnf install -y \
|
|
ca-certificates \
|
|
gnupg2 \
|
|
libatomic \
|
|
wget \
|
|
tar \
|
|
gzip \
|
|
&& microdnf clean all && rm -fr /tmp/* /var/tmp/*
|
|
|
|
ARG VERSION=26.0
|
|
ARG BITCOIN_CORE_SIGNATURE=71A3B16735405025D447E8F274810B012346C9A6
|
|
ENV GOSU_VERSION 1.17
|
|
|
|
RUN cd /tmp \
|
|
&& gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys ${BITCOIN_CORE_SIGNATURE} \
|
|
&& wget https://bitcoincore.org/bin/bitcoin-core-${VERSION}/SHA256SUMS.asc \
|
|
https://bitcoincore.org/bin/bitcoin-core-${VERSION}/SHA256SUMS \
|
|
https://bitcoincore.org/bin/bitcoin-core-${VERSION}/bitcoin-${VERSION}-x86_64-linux-gnu.tar.gz \
|
|
&& gpg --verify --status-fd 1 --verify SHA256SUMS.asc SHA256SUMS 2>/dev/null | grep "^\[GNUPG:\] VALIDSIG.*${BITCOIN_CORE_SIGNATURE}\$" \
|
|
&& sha256sum --ignore-missing --check SHA256SUMS \
|
|
&& tar -xzvf bitcoin-${VERSION}-x86_64-linux-gnu.tar.gz -C /opt \
|
|
&& ln -sv bitcoin-${VERSION} /opt/bitcoin \
|
|
&& /opt/bitcoin/bin/test_bitcoin --show_progress \
|
|
&& rm -v /opt/bitcoin/bin/test_bitcoin /opt/bitcoin/bin/bitcoin-qt
|
|
|
|
RUN wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-amd64"; \
|
|
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-amd64.asc"; \
|
|
\
|
|
# verify the signature
|
|
export GNUPGHOME="$(mktemp -d)"; \
|
|
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
|
|
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
|
|
gpgconf --kill all; \
|
|
rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc;
|
|
|
|
FROM almalinux/9-minimal
|
|
LABEL maintainer="b0xxer@b0xxy.net"
|
|
|
|
ENTRYPOINT ["entrypoint.sh"]
|
|
ENV HOME /bitcoin
|
|
EXPOSE 8332 8333
|
|
VOLUME ["/bitcoin/.bitcoin"]
|
|
WORKDIR /bitcoin
|
|
|
|
COPY --from=build /opt/ /opt/
|
|
COPY --from=build /usr/local/bin/gosu /usr/local/bin/
|
|
|
|
RUN microdnf update -y \
|
|
&& microdnf install -y libatomic shadow-utils \
|
|
&& microdnf clean all && rm -rf /tmp/* /var/tmp/* \
|
|
&& ln -sv /opt/bitcoin/bin/* /usr/local/bin
|
|
|
|
ARG GROUP_ID=1000
|
|
ARG USER_ID=1000
|
|
RUN groupadd -g ${GROUP_ID} bitcoin \
|
|
&& useradd -u ${USER_ID} -g bitcoin -d /bitcoin bitcoin
|
|
|
|
|
|
COPY ./bin ./entrypoint.sh /usr/local/bin/
|
|
RUN chmod +x /usr/local/bin/entrypoint.sh && chmod +x /usr/local/bin/gosu \
|
|
&& chmod +x /usr/local/bin/btc_oneshot && chmod +x /usr/local/bin/btc_init
|
|
|
|
CMD ["btc_oneshot"]
|