-
Notifications
You must be signed in to change notification settings - Fork 6
/
docker-compose.nethermind-prysm.yml
119 lines (114 loc) · 3.61 KB
/
docker-compose.nethermind-prysm.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
version: "3.8"
services:
nethermind:
image: nethermind/nethermind:$NETHERMIND_VERSION
container_name: nethermind
volumes:
- $EXECUTION_DATA_VOLUME:/execution_data
- $CONFIGS_VOLUME:/configs
restart: unless-stopped
stop_signal: SIGINT
stop_grace_period: 2m
command: >
--config=none.cfg
--Init.ChainSpecPath=/configs/chainspec.json
--Init.GenesisHash=$GENESIS_HASH
--Init.BaseDbPath=/execution_data
--Sync.SnapSync=true
--JsonRpc.Host=localhost
--JsonRpc.Port=8545
--JsonRpc.EnginePort=8551
--JsonRpc.Enabled=true
--JsonRpc.EnabledModules=["eth","web3","net","engine"]
--JsonRpc.JwtSecretFile=/configs/jwt.hex
--Discovery.Bootnodes=$EXECUTION_BOOTSTRAP_NODE_1,$EXECUTION_BOOTSTRAP_NODE_2
--Merge.Enabled=true
--KeyStore.KeyStoreDirectory=/execution_data/keystore
--Network.MaxActivePeers=50
network_mode: host
logging:
driver: "local"
options:
max-size: "100m"
prysm_beacon:
image: prysmaticlabs/prysm-beacon-chain:$PRYSM_BEACON_VERSION
container_name: prysm_beacon
depends_on:
- nethermind
volumes:
- $CONSENSUS_DATA_VOLUME:/consensus_data
- $CONFIGS_VOLUME:/configs
restart: unless-stopped
stop_signal: SIGINT
stop_grace_period: 2m
command: >
--accept-terms-of-use
--genesis-state=/configs/genesis.ssz
--chain-config-file=/configs/config.yaml
--datadir=/consensus_data
--bootstrap-node $CONSENSUS_BOOTSTRAP_NODE_1,$CONSENSUS_BOOTSTRAP_NODE_2
--execution-endpoint=http://localhost:8551
--jwt-secret=/configs/jwt.hex
--suggested-fee-recipient $FEE_RECIPIENT
--min-sync-peers=1
--monitoring-host 0.0.0.0
--grpc-gateway-host 0.0.0.0
--rpc-host 0.0.0.0
--verbosity $PRYSM_VERBOSITY
--p2p-max-peers 70
--subscribe-all-subnets
--minimum-peers-per-subnet 1
--contract-deployment-block 0
--p2p-host-ip $EXTERNAL_IP
--checkpoint-sync-url=$CHECKPOINT_SYNC_URL
--genesis-beacon-api-url=$CHECKPOINT_SYNC_URL
network_mode: host
logging:
driver: "local"
options:
max-size: "100m"
prysm_validator_import:
image: prysmaticlabs/prysm-validator:$PRYSM_BEACON_VERSION
container_name: prysm_validator_import
volumes:
- $KEYSTORE_VOLUME:/keystore
- $VALIDATOR_DATA_VOLUME:/validator_data
- $TMP_VOLUME:/tmp/secrets
command: >
accounts import
--accept-terms-of-use
--keys-dir=/keystore
--wallet-dir=/validator_data/wallet
--wallet-password-file=/tmp/secrets/password.txt
--account-password-file=/tmp/secrets/password.txt
prysm_validator:
image: prysmaticlabs/prysm-validator:$PRYSM_BEACON_VERSION
container_name: prysm_validator
depends_on:
prysm_beacon:
condition: service_started
prysm_validator_import:
condition: service_completed_successfully
volumes:
- $KEYSTORE_VOLUME:/keystore
- $VALIDATOR_DATA_VOLUME:/validator_data
- $CONFIGS_VOLUME:/configs
- $TMP_VOLUME:/tmp/secrets
restart: unless-stopped
stop_signal: SIGINT
stop_grace_period: 2m
command: >
--accept-terms-of-use
--datadir /validator_data
--wallet-dir /validator_data/wallet
--wallet-password-file /tmp/secrets/password.txt
--chain-config-file /configs/config.yaml
--monitoring-host 0.0.0.0
--grpc-gateway-host 0.0.0.0
--rpc-host 0.0.0.0
--suggested-fee-recipient $FEE_RECIPIENT
network_mode: host
logging:
driver: "local"
options:
max-size: "100m"