|
|
@ -1,30 +1,3 @@ |
|
|
|
# bitcoind Builder container |
|
|
|
FROM buildpack-deps:bullseye-curl as btc-builder |
|
|
|
|
|
|
|
# This buildarg can be set during container build time with --build-arg VERSION=[version] |
|
|
|
ARG VERSION=0.21.2 |
|
|
|
|
|
|
|
RUN apt-get update && \ |
|
|
|
apt-get install -y gnupg2 && \ |
|
|
|
rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
|
|
COPY ./bin/get-bitcoin.sh /usr/bin/ |
|
|
|
RUN chmod +x /usr/bin/get-bitcoin.sh && \ |
|
|
|
mkdir /root/bitcoin && \ |
|
|
|
get-bitcoin.sh $VERSION /root/bitcoin/ |
|
|
|
|
|
|
|
|
|
|
|
# electrs Builder container |
|
|
|
FROM rust:1.55.0 as electrs-builder |
|
|
|
|
|
|
|
RUN apt-get update && \ |
|
|
|
apt-get install -y clang cmake build-essential && \ |
|
|
|
rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
|
|
RUN git clone https://github.com/romanz/electrs.git |
|
|
|
RUN cd electrs && cargo build --locked --release |
|
|
|
|
|
|
|
|
|
|
|
# NodeJS Builder container |
|
|
|
FROM buildpack-deps:bullseye-curl as nodejs-builder |
|
|
|
|
|
|
@ -42,7 +15,6 @@ FROM buildpack-deps:bullseye as urbit-rpc-builder |
|
|
|
ADD https://api.github.com/repos/urbit/urbit-bitcoin-rpc/git/refs/heads/master version.json |
|
|
|
RUN git clone -b master https://github.com/urbit/urbit-bitcoin-rpc.git urbit-bitcoin-rpc |
|
|
|
|
|
|
|
|
|
|
|
# urbit-bitcoin-node container |
|
|
|
FROM debian:bullseye-slim |
|
|
|
|
|
|
@ -68,26 +40,19 @@ RUN groupadd -g $GID -o $USERNAME && \ |
|
|
|
echo "$USERNAME ALL=(ALL:ALL) NOPASSWD: /usr/bin/append-to-hosts" | tee -a /etc/sudoers |
|
|
|
|
|
|
|
# Copy files from the builder containers |
|
|
|
COPY --from=btc-builder /root/bitcoin/ /usr/local/ |
|
|
|
COPY --from=electrs-builder /electrs/target/release/electrs /usr/local/bin |
|
|
|
COPY --from=nodejs-builder /node-v14.18.1-linux-x64/ /usr/local/ |
|
|
|
COPY --from=urbit-rpc-builder /urbit-bitcoin-rpc/* / |
|
|
|
COPY --from=urbit-rpc-builder /urbit-bitcoin-rpc/src /src |
|
|
|
|
|
|
|
# Overwrite two files in the dist with our local slightly modified versions |
|
|
|
ADD /rpc/mainnet-start.sh /mainnet-start.sh |
|
|
|
ADD /rpc/bitcoin.conf /bitcoin.conf |
|
|
|
|
|
|
|
RUN npm install express |
|
|
|
RUN npm audit fix |
|
|
|
|
|
|
|
|
|
|
|
RUN mkdir -p /bitcoin/data && \ |
|
|
|
chown -R $USERNAME:$GID /bitcoin |
|
|
|
|
|
|
|
USER $USERNAME |
|
|
|
|
|
|
|
EXPOSE 8332 8333 50002 |
|
|
|
EXPOSE 50002 |
|
|
|
|
|
|
|
ENTRYPOINT ["/mainnet-start.sh"] |
|
|
|
|
|
|
|