forked from charx0r/POKT_DOKT
-
Notifications
You must be signed in to change notification settings - Fork 7
/
base-fullnode.yml
107 lines (103 loc) · 6.15 KB
/
base-fullnode.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
version: '3.1'
services:
base-fullnode: # this is Optimism's geth client
build:
context: ./op
args:
OP_GETH_VERSION: v1.101408.0
OP_NODE_VERSION: v1.9.1
expose:
- 8545 # RPC / Websocket
- 8480 # P2P TCP (currently unused)
- 8480/udp # P2P UDP (currently unused)
- 6060 # metrics
- 855
ports:
- "8480:8480"
- "8480:8480/udp"
#command: [ "sh", "./geth-entrypoint" ]
restart: always
stop_grace_period: 3m
entrypoint: ./geth
command: --datadir=/data --verbosity=3 --http --http.corsdomain=* --http.vhosts=* --http.addr=0.0.0.0 --http.port=8545 --http.api=web3,debug,eth,net,engine --authrpc.addr=0.0.0.0 --authrpc.port=8551 --authrpc.vhosts=* --authrpc.jwtsecret=/jwtsecret --ws --ws.addr=0.0.0.0 --ws.port=8545 --ws.origins=* --ws.api=debug,eth,net,engine --metrics --metrics.addr=0.0.0.0 --metrics.port=6060 --syncmode=snap --gcmode=full --state.scheme=path --db.engine=pebble --discovery.port=8480 --maxpeers=100 --networkid=8453 --op-network=base-mainnet --rollup.halt=major --rollup.sequencerhttp=https://mainnet-sequencer.base.org --port=8480 --nat=extip:${IP}
volumes:
- base-fullnode:/data
- .jwtsecret:/jwtsecret
environment:
#- "OP_GETH_GENESIS_FILE_PATH=mainnet/genesis-l2.json"
- "OP_GETH_SEQUENCER_HTTP=https://mainnet-sequencer.base.org"
- "OP_GETH_GCMODE=full"
- "OP_GETH_SYNCMODE=snap"
- "GETH_SYNCMODE=snap"
- "GETH_BOOTNODES=enode://87a32fd13bd596b2ffca97020e31aef4ddcc1bbd4b95bb633d16c1329f654f34049ed240a36b449fda5e5225d70fe40bc667f53c304b71f8e68fc9d448690b51@3.231.138.188:30301,enode://ca21ea8f176adb2e229ce2d700830c844af0ea941a1d8152a9513b966fe525e809c3a6c73a2c18a12b74ed6ec4380edf91662778fe0b79f6a591236e49e176f9@184.72.129.189:30301,enode://acf4507a211ba7c1e52cdf4eef62cdc3c32e7c9c47998954f7ba024026f9a6b2150cd3f0b734d9c78e507ab70d59ba61dfe5c45e1078c7ad0775fb251d7735a2@3.220.145.177:30301,enode://8a5a5006159bf079d06a04e5eceab2a1ce6e0f721875b2a9c96905336219dbe14203d38f70f3754686a6324f786c2f9852d8c0dd3adac2d080f4db35efc678c5@3.231.11.52:30301,enode://cdadbe835308ad3557f9a1de8db411da1a260a98f8421d62da90e71da66e55e98aaa8e90aa7ce01b408a54e4bd2253d701218081ded3dbe5efbbc7b41d7cef79@54.198.153.150:30301"
- "OP_GETH_STATE_SCHEME=path"
- "GETH_STATE_SCHEME=path"
- "OP_GETH_DB_ENGINE=pebble"
- "OP_GETH_P2P_PORT=8480"
- "GETH_DISCOVERY_PORT=8480"
- "GETH_DB_ENGINE=pebble"
- "P2P_PORT=8480"
- "WS_PORT=8545"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/tmp/engine-auth-jwt"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.base-stripprefix.stripprefix.prefixes=/base"
- "traefik.http.services.base.loadbalancer.server.port=8545"
- "traefik.http.routers.base.entrypoints=websecure"
- "traefik.http.routers.base.tls.certresolver=myresolver"
- "traefik.http.routers.base.rule=Host(`$DOMAIN`) && PathPrefix(`/base`)"
- "traefik.http.routers.base.middlewares=base-stripprefix, ipwhitelist"
networks:
- chains
base-fullnode-node:
build:
context: ./op
args:
OP_GETH_VERSION: v1.101408.0
OP_NODE_VERSION: v1.9.1
depends_on:
- base-fullnode
volumes:
- .jwtsecret:/jwtsecret
expose:
- 8545 # RPC
- 32521 # P2P TCP
- 32521/udp # P2P UDP
- 7300 # metrics
- 6060 # pprof
ports:
- "32521:32521"
- "32521:32521/udp"
#command: [ "sh", "./op-node-entrypoint" ]
entrypoint: ./op-node
restart: always
stop_grace_period: 30s
environment:
- "OP_NODE_NETWORK=base-mainnet"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${BASE_ETHEREUM_ENDPOINT}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://base-fullnode:8551"
- "OP_NODE_LOG_LEVEL=info"
- "OP_NODE_METRICS_ADDR=0.0.0.0"
- "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300"
- "OP_NODE_P2P_AGENT=base"
- "OP_NODE_P2P_BOOTNODES=enr:-J24QNz9lbrKbN4iSmmjtnr7SjUMk4zB7f1krHZcTZx-JRKZd0kA2gjufUROD6T3sOWDVDnFJRvqBBo62zuF-hYCohOGAYiOoEyEgmlkgnY0gmlwhAPniryHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQKNVFlCxh_B-716tTs-h1vMzZkSs1FTu_OYTNjgufplG4N0Y3CCJAaDdWRwgiQG,enr:-J24QH-f1wt99sfpHy4c0QJM-NfmsIfmlLAMMcgZCUEgKG_BBYFc6FwYgaMJMQN5dsRBJApIok0jFn-9CS842lGpLmqGAYiOoDRAgmlkgnY0gmlwhLhIgb2Hb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJ9FTIv8B9myn1MWaC_2lJ-sMoeCDkusCsk4BYHjjCq04N0Y3CCJAaDdWRwgiQG,enr:-J24QDXyyxvQYsd0yfsN0cRr1lZ1N11zGTplMNlW4xNEc7LkPXh0NAJ9iSOVdRO95GPYAIc6xmyoCCG6_0JxdL3a0zaGAYiOoAjFgmlkgnY0gmlwhAPckbGHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQJwoS7tzwxqXSyFL7g0JM-KWVbgvjfB8JA__T7yY_cYboN0Y3CCJAaDdWRwgiQG,enr:-J24QHmGyBwUZXIcsGYMaUqGGSl4CFdx9Tozu-vQCn5bHIQbR7On7dZbU61vYvfrJr30t0iahSqhc64J46MnUO2JvQaGAYiOoCKKgmlkgnY0gmlwhAPnCzSHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQINc4fSijfbNIiGhcgvwjsjxVFJHUstK9L1T8OTKUjgloN0Y3CCJAaDdWRwgiQG,enr:-J24QG3ypT4xSu0gjb5PABCmVxZqBjVw9ca7pvsI8jl4KATYAnxBmfkaIuEqy9sKvDHKuNCsy57WwK9wTt2aQgcaDDyGAYiOoGAXgmlkgnY0gmlwhDbGmZaHb3BzdGFja4OFQgCJc2VjcDI1NmsxoQIeAK_--tcLEiu7HvoUlbV52MspE0uCocsx1f_rYvRenIN0Y3CCJAaDdWRwgiQG"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=32521"
- "OP_NODE_P2P_LISTEN_UDP_PORT=32521"
- "OP_NODE_ROLLUP_CONFIG=mainnet/rollup.json"
- "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_RPC_PORT=8545"
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
- "OP_NODE_VERIFIER_L1_CONFS=4"
- "OP_NODE_L1_RPC_KIND=${BASE_ETHEREUM_ENDPOINT_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${BASE_ETHEREUM_ENDPOINT_TRUST:-false}"
- "OP_NODE_L1_BEACON=${BASE_ETHEREUM_ENDPOINT_BEACON}"
networks:
- chains
volumes:
base-fullnode: