-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathdocker-compose.geth-nimbus2.yml
116 lines (109 loc) · 3.29 KB
/
docker-compose.geth-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
109
110
111
112
113
114
115
version: "3.8"
services:
init-geth:
image: ethereum/client-go:$GETH_VERSION
container_name: init-geth
volumes:
- $EXECUTION_DATA_VOLUME:/execution_data
- $CONFIGS_VOLUME:/configs
command: >
--datadir=/execution_data init /configs/genesis.json
geth:
image: ethereum/client-go:$GETH_VERSION
container_name: geth
depends_on:
- init-geth
volumes:
- $EXECUTION_DATA_VOLUME:/execution_data
- $CONFIGS_VOLUME:/configs
restart: unless-stopped
stop_signal: SIGINT
stop_grace_period: 2m
command: >
--datadir=/execution_data
--ws
--ws.api "eth,net,web3"
--ws.addr 0.0.0.0
--ws.origins "*"
--http
--http.api "eth,net,web3"
--http.addr "0.0.0.0"
--http.corsdomain "*"
--http.vhosts "*"
--maxpeers 50
--ipcdisable
--authrpc.jwtsecret /configs/jwt.hex
--bootnodes $EXECUTION_BOOTSTRAP_NODE_1,$EXECUTION_BOOTSTRAP_NODE_2
--networkid $LUKSO_NETWORK_ID
--verbosity $GETH_VERBOSITY
--metrics
--metrics.expensive
--metrics.addr "0.0.0.0"
--miner.gaslimit 42000000
--miner.gasprice 1000000
--ethstats "${NODE_NAME}:${ETH_STATS_SECRET}@${ETH_STATS_ADDRESS}"
--nat extip:$EXTERNAL_IP
# Change/add your custom flags here:
# https://geth.ethereum.org/docs/fundamentals/command-line-options
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']