118 lines
3.3 KiB
YAML
118 lines
3.3 KiB
YAML
|
|
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:
|
||
|
|
|