File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ *
2+ ! .gitignore
Original file line number Diff line number Diff line change 77 - path : docker-compose/connectivity-check.yml
88 - path : docker-compose/metrics.yml
99 - path : docker-compose/websocket.yml
10-
11- volumes :
12- bitcoin-data :
13- bitcoin-bin :
Original file line number Diff line number Diff line change @@ -12,7 +12,6 @@ services:
1212 privileged : true
1313 volumes :
1414 - bitcoin-data:/home/bitcoin/.bitcoin
15- - bitcoin-bin:/shared
1615 - /sys/kernel/debug:/sys/kernel/debug
1716 depends_on :
1817 nats :
@@ -23,3 +22,11 @@ services:
2322 timeout : 3s
2423 retries : 3
2524 start_period : 5s
25+
26+ volumes :
27+ bitcoin-data :
28+ driver : local
29+ driver_opts :
30+ type : none
31+ device : ../.bitcoin
32+ o : bind
Original file line number Diff line number Diff line change 3030
3131# Start bitcoind as bitcoin user, in the background
3232echo " Launching Bitcoin node in $BITCOIN_NETWORK mode..."
33- /usr/sbin/runuser -u bitcoin -- /shared /bitcoind $NETWORK &
33+ /usr/sbin/runuser -u bitcoin -- $BTC_BIN_PATH /bitcoind $NETWORK &
3434BITCOIND_PID=$!
3535
3636# Now wait for the RPC
3737for i in {1..30}; do
38- /usr/sbin/runuser -u bitcoin -- /shared /bitcoin-cli $NETWORK getblockchaininfo > /dev/null 2>&1 && break
38+ /usr/sbin/runuser -u bitcoin -- $BTC_BIN_PATH /bitcoin-cli $NETWORK getblockchaininfo > /dev/null 2>&1 && break
3939 sleep 1
4040done
4141
4242# Final check
43- if ! /usr/sbin/runuser -u bitcoin -- /shared /bitcoin-cli $NETWORK getblockchaininfo > /dev/null 2>&1 ; then
43+ if ! /usr/sbin/runuser -u bitcoin -- $BTC_BIN_PATH /bitcoin-cli $NETWORK getblockchaininfo > /dev/null 2>&1 ; then
4444 echo " Error: bitcoind did not start in time." >&2
4545 exit 1
4646fi
4747
4848echo " Starting ebpf-extractor"
4949# Run ebpf-extractor as root (needs CAP_SYS_ADMIN for BPF)
50- exec /usr/local/bin/ebpf-extractor --no-idle-exit --nats-address nats://nats:4222 --bitcoind-path /shared /bitcoind
50+ exec /usr/local/bin/ebpf-extractor --no-idle-exit --nats-address nats://nats:4222 --bitcoind-path $BTC_BIN_PATH /bitcoind
Original file line number Diff line number Diff line change @@ -13,4 +13,4 @@ case "$BITCOIN_NETWORK" in
1313 ;;
1414esac
1515
16- exec su - bitcoin -c " /shared /bitcoin-cli $NETWORK getblockchaininfo"
16+ exec su - bitcoin -c " $BTC_BIN_PATH /bitcoin-cli $NETWORK getblockchaininfo"
Original file line number Diff line number Diff line change @@ -82,21 +82,22 @@ RUN apt-get update && apt-get install -y \
8282# in user land, not as root.
8383RUN useradd -m -s /bin/bash bitcoin \
8484 && mkdir -p /home/bitcoin/.bitcoin \
85- && mkdir -p /shared \
86- && chown -R bitcoin:bitcoin /home/bitcoin /shared
85+ && chown -R bitcoin:bitcoin /home/bitcoin
86+
87+ # Set bitcoin binary path environment variable
88+ ENV BTC_BIN_PATH=/bitcoin/build/bin
8789
8890# Copy everything we need from builder
91+ COPY --from=btc-core-builder $BTC_BIN_PATH $BTC_BIN_PATH
8992COPY --from=peer-observer-builder /peer-observer/scripts/bitcoin-node-entrypoint.sh /peer-observer/scripts/bitcoin-node-entrypoint.sh
9093COPY --from=peer-observer-builder /peer-observer/scripts/bitcoin-node-healthcheck.sh /peer-observer/scripts/bitcoin-node-healthcheck.sh
9194COPY --from=peer-observer-builder /peer-observer/target/release/ebpf-extractor /usr/local/bin/ebpf-extractor
92- COPY --from=btc-core-builder /bitcoin/build/bin/ /shared/
9395
9496# Expose Bitcoin ports (RPC: 8332, P2P: 8333)
9597EXPOSE 8332 8333
9698
97- # Set data directory and shared volume
99+ # Set data directory volume
98100VOLUME /home/bitcoin/.bitcoin
99- VOLUME /shared
100101
101102# Spawn bitcoin daemon
102103WORKDIR /peer-observer
Original file line number Diff line number Diff line change 77 - path : docker-compose/connectivity-check.yml
88 - path : docker-compose/metrics.yml
99 - path : docker-compose/websocket.yml
10-
11- volumes :
12- bitcoin-data :
13- bitcoin-bin :
Original file line number Diff line number Diff line change 77 - path : docker-compose/connectivity-check.yml
88 - path : docker-compose/metrics.yml
99 - path : docker-compose/websocket.yml
10-
11- volumes :
12- bitcoin-data :
13- bitcoin-bin :
14-
Original file line number Diff line number Diff line change 77 - path : docker-compose/connectivity-check.yml
88 - path : docker-compose/metrics.yml
99 - path : docker-compose/websocket.yml
10-
11- volumes :
12- bitcoin-data :
13- bitcoin-bin :
14-
You can’t perform that action at this time.
0 commit comments