2026-01-24 22:01:51 +00:00
|
|
|
app:
|
|
|
|
|
id: bitcoin-core
|
|
|
|
|
name: Bitcoin Core
|
2026-04-22 08:29:56 -04:00
|
|
|
version: 28.4.0
|
2026-01-24 22:01:51 +00:00
|
|
|
description: Full Bitcoin node implementation. The reference implementation of the Bitcoin protocol.
|
2026-04-22 08:29:56 -04:00
|
|
|
|
2026-01-24 22:01:51 +00:00
|
|
|
container:
|
2026-04-22 08:29:56 -04:00
|
|
|
image: bitcoin/bitcoin:28.4
|
2026-01-24 22:01:51 +00:00
|
|
|
image_signature: cosign://...
|
|
|
|
|
pull_policy: verify-signature
|
|
|
|
|
|
|
|
|
|
dependencies:
|
|
|
|
|
- storage: 500Gi # Minimum disk space for mainnet
|
|
|
|
|
|
|
|
|
|
resources:
|
2026-04-22 08:29:56 -04:00
|
|
|
cpu_limit: 0 # 0 = unlimited; bitcoind uses -par=auto across all cores
|
|
|
|
|
memory_limit: 4Gi # matches container-specs.sh bitcoin-knots large-disk dbcache=4096
|
2026-01-24 22:01:51 +00:00
|
|
|
disk_limit: 500Gi
|
|
|
|
|
|
|
|
|
|
security:
|
|
|
|
|
capabilities: [] # No special capabilities needed
|
|
|
|
|
readonly_root: true
|
2026-03-11 18:13:28 +00:00
|
|
|
no_new_privileges: true
|
|
|
|
|
user: 1000
|
|
|
|
|
seccomp_profile: default
|
2026-01-24 22:01:51 +00:00
|
|
|
network_policy: isolated
|
|
|
|
|
apparmor_profile: bitcoin-core
|
|
|
|
|
|
|
|
|
|
ports:
|
|
|
|
|
- host: 8332
|
|
|
|
|
container: 8332
|
|
|
|
|
protocol: tcp # RPC
|
|
|
|
|
- host: 8333
|
|
|
|
|
container: 8333
|
|
|
|
|
protocol: tcp # P2P
|
|
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
|
- type: bind
|
|
|
|
|
source: /var/lib/archipelago/bitcoin
|
|
|
|
|
target: /home/bitcoin/.bitcoin
|
|
|
|
|
options: [rw]
|
|
|
|
|
|
|
|
|
|
environment:
|
|
|
|
|
- NETWORK=mainnet
|
|
|
|
|
- RPC_USER=${BITCOIN_RPC_USER}
|
|
|
|
|
- RPC_PASSWORD=${BITCOIN_RPC_PASSWORD}
|
|
|
|
|
- PRUNE=0 # Full node (set to 550 for pruned)
|
|
|
|
|
|
|
|
|
|
health_check:
|
|
|
|
|
type: http
|
|
|
|
|
endpoint: http://localhost:8332
|
|
|
|
|
path: /
|
|
|
|
|
interval: 30s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 3
|
|
|
|
|
|
|
|
|
|
bitcoin_integration:
|
|
|
|
|
rpc_access: admin
|
|
|
|
|
sync_required: true
|
|
|
|
|
testnet_support: true
|
|
|
|
|
pruning_support: true
|