Skip to content

Commit 0b4fdb1

Browse files
authored
Merge pull request #10 from ClubeBitcoinUnB/refactor/volume-defs
Define volumes only in node usdt docker file
2 parents 48c09b0 + 7bfb1cf commit 0b4fdb1

10 files changed

Lines changed: 21 additions & 29 deletions

.bitcoin/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*
2+
!.gitignore

.gitignore

Whitespace-only changes.

docker-compose.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,3 @@ include:
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:

docker-compose/node.usdt.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff 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

docker/bitcoin-node-entrypoint.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,21 @@ esac
3030

3131
# Start bitcoind as bitcoin user, in the background
3232
echo "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 &
3434
BITCOIND_PID=$!
3535

3636
# Now wait for the RPC
3737
for 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
4040
done
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
4646
fi
4747

4848
echo "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

docker/bitcoin-node-healthcheck.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ case "$BITCOIN_NETWORK" in
1313
;;
1414
esac
1515

16-
exec su - bitcoin -c "/shared/bitcoin-cli $NETWORK getblockchaininfo"
16+
exec su - bitcoin -c "$BTC_BIN_PATH/bitcoin-cli $NETWORK getblockchaininfo"

docker/bitcoin-node.dockerfile

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,21 +82,22 @@ RUN apt-get update && apt-get install -y \
8282
# in user land, not as root.
8383
RUN 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
8992
COPY --from=peer-observer-builder /peer-observer/scripts/bitcoin-node-entrypoint.sh /peer-observer/scripts/bitcoin-node-entrypoint.sh
9093
COPY --from=peer-observer-builder /peer-observer/scripts/bitcoin-node-healthcheck.sh /peer-observer/scripts/bitcoin-node-healthcheck.sh
9194
COPY --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)
9597
EXPOSE 8332 8333
9698

97-
# Set data directory and shared volume
99+
# Set data directory volume
98100
VOLUME /home/bitcoin/.bitcoin
99-
VOLUME /shared
100101

101102
# Spawn bitcoin daemon
102103
WORKDIR /peer-observer

node.mainnet.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,3 @@ include:
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:

node.regtest.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,3 @@ include:
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-

node.signet.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,3 @@ include:
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-

0 commit comments

Comments
 (0)