-
Notifications
You must be signed in to change notification settings - Fork 6
/
docker-compose.erigon-prysm.yml
133 lines (128 loc) · 3.88 KB
/
docker-compose.erigon-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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
version: "3.8"
services:
init-erigon:
image: thorax/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: thorax/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"
prysm_beacon:
image: prysmaticlabs/prysm-beacon-chain:$PRYSM_BEACON_VERSION
container_name: prysm_beacon
depends_on:
- erigon
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"