-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathdocker-compose.erigon-nimbus2.yml
109 lines (103 loc) · 3.11 KB
/
docker-compose.erigon-nimbus2.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
version: "3.8"
services:
init-erigon:
image: erigontech/erigon:$ERIGON_VERSION
container_name: init-erigon
volumes:
- $EXECUTION_DATA_VOLUME:/execution_data
- $CONFIGS_VOLUME:/configs
command: >
--datadir=/execution_data init /configs/genesis.json
erigon:
image: erigontech/erigon:$ERIGON_VERSION
container_name: erigon
depends_on:
- init-erigon
volumes:
- $EXECUTION_DATA_VOLUME:/execution_data
- $CONFIGS_VOLUME:/configs
restart: unless-stopped
stop_signal: SIGINT
stop_grace_period: 2m
command: >
--datadir=/execution_data
--db.size.limit=8TB
--networkid=$LUKSO_NETWORK_ID
--miner.gaslimit=42000000
--authrpc.jwtsecret=/configs/jwt.hex
--snapshots=0
--nat="extip:$EXTERNAL_IP"
--http
--http.addr="0.0.0.0"
--http.api="erigon,engine"
--http.vhosts="*"
--maxpeers 100
--authrpc.addr="0.0.0.0"
--authrpc.port=8551
--authrpc.vhosts="*"
--bootnodes="$EXECUTION_BOOTSTRAP_NODE_1,$EXECUTION_BOOTSTRAP_NODE_2"
--metrics
--metrics.addr="0.0.0.0"
--ethstats="${NODE_NAME}:${ETH_STATS_SECRET}@${ETH_STATS_ADDRESS}"
network_mode: host
logging:
driver: "local"
options:
max-size: "100m"
nimbus2_checkpoint:
image: statusim/nimbus-eth2:multiarch-$NIMBUS2_VERSION
container_name: nimbus2_checkpoint
volumes:
- $CONSENSUS_DATA_VOLUME:/consensus_data
- $CONFIGS_VOLUME:/configs
stop_signal: SIGINT
stop_grace_period: 2m
command: >
trustedNodeSync
--network=/configs
--data-dir=/consensus_data
--trusted-node-url=$CHECKPOINT_SYNC_URL
nimbus2:
image: statusim/nimbus-eth2:multiarch-$NIMBUS2_VERSION
container_name: nimbus2
depends_on:
nimbus2_checkpoint:
condition: service_completed_successfully
volumes:
- $CONSENSUS_DATA_VOLUME:/consensus_data
- $CONFIGS_VOLUME:/configs
restart: unless-stopped
stop_signal: SIGINT
stop_grace_period: 2m
network_mode: host
command: >
--network=/configs
--data-dir=/consensus_data
--bootstrap-file=/configs/bootnodes.txt
--genesis-state=/configs/genesis.ssz
--jwt-secret=/configs/jwt.hex
--el='http://127.0.0.1:8551'
--nat=extip:$EXTERNAL_IP
--rest
--rest-address='127.0.0.1'
--rest-port=5052
# Note that nimbus doesn't support non-interactive keystore import,
# please prepare the validator_data using the nimbus_beacon_node deposits import command.
nimbus2_validator:
image: statusim/nimbus-validator-client:multiarch-$NIMBUS2_VERSION
container_name: nimbus2_validator
depends_on:
nimbus2:
condition: service_started
volumes:
- $VALIDATOR_DATA_VOLUME:/validator_data
restart: unless-stopped
stop_signal: SIGINT
stop_grace_period: 2m
network_mode: host
command: >
nimbus_validator_client
--data-dir=/validator_data
--validators-dir=/validator_data/wallet/validators
--secrets-dir=/validator_data/wallet/secrets
--beacon-node=['127.0.0.1:5052']