Files
Sankofa/blockchain/docker-compose.besu.yml

118 lines
3.3 KiB
YAML
Raw Normal View History

version: '3.8'
services:
# Hyperledger Besu Validator Node 1
besu-validator-1:
image: hyperledger/besu:latest
container_name: besu-validator-1
ports:
- "8545:8545" # JSON-RPC
- "8546:8546" # WebSocket
- "30303:30303" # P2P
volumes:
- besu-validator-1-data:/var/lib/besu
- ./network-config/genesis.json:/config/genesis.json
- ./network-config/validator-1:/config/keys
command:
- --data-path=/var/lib/besu
- --genesis-file=/config/genesis.json
- --rpc-http-enabled=true
- --rpc-http-host=0.0.0.0
- --rpc-http-port=8545
- --rpc-http-api=ETH,NET,WEB3,ADMIN,EEA,PRIV,IBFT
- --rpc-ws-enabled=true
- --rpc-ws-host=0.0.0.0
- --rpc-ws-port=8546
- --rpc-ws-api=ETH,NET,WEB3,ADMIN,EEA,PRIV,IBFT
- --host-allowlist=*
- --p2p-host=0.0.0.0
- --p2p-port=30303
- --min-gas-price=0
- --network-id=2024
- --bootnodes=enode://validator-1@besu-validator-1:30303
networks:
- besu-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8545"]
interval: 10s
timeout: 5s
retries: 5
# Hyperledger Besu Validator Node 2
besu-validator-2:
image: hyperledger/besu:latest
container_name: besu-validator-2
ports:
- "8547:8545"
- "8548:8546"
- "30304:30303"
volumes:
- besu-validator-2-data:/var/lib/besu
- ./network-config/genesis.json:/config/genesis.json
- ./network-config/validator-2:/config/keys
command:
- --data-path=/var/lib/besu
- --genesis-file=/config/genesis.json
- --rpc-http-enabled=true
- --rpc-http-host=0.0.0.0
- --rpc-http-port=8545
- --rpc-http-api=ETH,NET,WEB3,ADMIN,EEA,PRIV,IBFT
- --rpc-ws-enabled=true
- --rpc-ws-host=0.0.0.0
- --rpc-ws-port=8546
- --rpc-ws-api=ETH,NET,WEB3,ADMIN,EEA,PRIV,IBFT
- --host-allowlist=*
- --p2p-host=0.0.0.0
- --p2p-port=30303
- --min-gas-price=0
- --network-id=2024
- --bootnodes=enode://validator-1@besu-validator-1:30303
networks:
- besu-network
depends_on:
- besu-validator-1
# Hyperledger Besu Validator Node 3
besu-validator-3:
image: hyperledger/besu:latest
container_name: besu-validator-3
ports:
- "8549:8545"
- "8550:8546"
- "30305:30303"
volumes:
- besu-validator-3-data:/var/lib/besu
- ./network-config/genesis.json:/config/genesis.json
- ./network-config/validator-3:/config/keys
command:
- --data-path=/var/lib/besu
- --genesis-file=/config/genesis.json
- --rpc-http-enabled=true
- --rpc-http-host=0.0.0.0
- --rpc-http-port=8545
- --rpc-http-api=ETH,NET,WEB3,ADMIN,EEA,PRIV,IBFT
- --rpc-ws-enabled=true
- --rpc-ws-host=0.0.0.0
- --rpc-ws-port=8546
- --rpc-ws-api=ETH,NET,WEB3,ADMIN,EEA,PRIV,IBFT
- --host-allowlist=*
- --p2p-host=0.0.0.0
- --p2p-port=30303
- --min-gas-price=0
- --network-id=2024
- --bootnodes=enode://validator-1@besu-validator-1:30303
networks:
- besu-network
depends_on:
- besu-validator-1
networks:
besu-network:
driver: bridge
volumes:
besu-validator-1-data:
besu-validator-2-data:
besu-validator-3-data: