131 lines
4.7 KiB
YAML
131 lines
4.7 KiB
YAML
version: '3.1'
|
|
|
|
services:
|
|
mantle-fullnode:
|
|
image: mantlenetworkio/op-geth:v1.0.2
|
|
expose:
|
|
- 8545 # RPC / Websocket
|
|
- 3851 # P2P TCP (currently unused)
|
|
- 3851/udp # P2P UDP (currently unused)
|
|
- 6060 # metrics
|
|
- 8551
|
|
ports:
|
|
- "3851:3851"
|
|
- "3851:3851/udp"
|
|
environment:
|
|
USING_BVM: "true"
|
|
BLOCK_SIGNER_KEY: 9f50ccaebd966113a0ef09793f8a3288cd0bb2c05d20caa3c0015b4e665f1b2d
|
|
BLOCK_SIGNER_ADDRESS: 0x000000b36A00872bAF079426e012Cf5Cd2A74E8b
|
|
entrypoint: geth
|
|
command:
|
|
- --datadir=/data
|
|
- --verbosity=3
|
|
- --port=3851
|
|
- --http
|
|
- --http.corsdomain=*
|
|
- --http.vhosts=*
|
|
- --http.addr=0.0.0.0
|
|
- --http.port=8545
|
|
- --http.api=web3,eth,debug,txpool,net
|
|
- --ws
|
|
- --ws.addr=0.0.0.0
|
|
- --ws.port=8545
|
|
- --ws.origins=*
|
|
- --ws.api=web3,eth,debug,txpool,net
|
|
- --syncmode=full
|
|
- --maxpeers=0
|
|
- --networkid=5003
|
|
- --rpc.allow-unprotected-txs
|
|
- --authrpc.addr=0.0.0.0
|
|
- --authrpc.port=8551
|
|
- --authrpc.vhosts=*
|
|
- --authrpc.jwtsecret=/jwtsecret
|
|
- --pprof
|
|
- --pprof.addr=0.0.0.0
|
|
- --pprof.port=6060
|
|
- --gcmode=full
|
|
- --metrics
|
|
- --metrics.addr=0.0.0.0
|
|
- --metrics.port=9001
|
|
- --snapshot=false
|
|
restart: always
|
|
stop_grace_period: 5m
|
|
volumes:
|
|
- mantle-fullnode:/data
|
|
- ".jwtsecret:/jwtsecret"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.middlewares.mantle-fullnode-stripprefix.stripprefix.prefixes=/mantle-fullnode"
|
|
- "traefik.http.services.mantle-fullnode.loadbalancer.server.port=8545"
|
|
- "traefik.http.routers.mantle-fullnode.entrypoints=websecure"
|
|
- "traefik.http.routers.mantle-fullnode.tls.certresolver=myresolver"
|
|
- "traefik.http.routers.mantle-fullnode.rule=Host(`$DOMAIN`) && PathPrefix(`/mantle-fullnode`)"
|
|
- "traefik.http.routers.mantle-fullnode.middlewares=mantle-fullnode-stripprefix, ipwhitelist"
|
|
networks:
|
|
- chains
|
|
|
|
|
|
mantle-fullnode-node:
|
|
image: mantlenetworkio/op-node:v1.0.2
|
|
depends_on:
|
|
- mantle-key-generator
|
|
- mantle-fullnode
|
|
expose:
|
|
- 8545 # RPC
|
|
- 25713 # P2P TCP
|
|
- 25713/udp # P2P UDP
|
|
- 7300 # metrics
|
|
- 6060 # pprof
|
|
ports:
|
|
- "25713:25713"
|
|
- "25713:25713/udp"
|
|
volumes:
|
|
- "./mantle/mainnet/:/config"
|
|
- .jwtsecret:/jwtsecret
|
|
restart: always
|
|
stop_grace_period: 5m
|
|
environment:
|
|
OP_NODE_L1_ETH_RPC: ${MANTLE_ETHEREUM_ENDPOINT}
|
|
OP_NODE_L2_ENGINE_RPC: 'http://mantle-fullnode:8551'
|
|
OP_NODE_L2_ENGINE_AUTH: /jwtsecret
|
|
OP_NODE_ROLLUP_CONFIG: '/config/rollup.json'
|
|
OP_NODE_P2P_PRIV_PATH: /config/p2p_node_key_txt
|
|
OP_NODE_VERIFIER_L1_CONFS: '3'
|
|
OP_NODE_RPC_ADDR: '0.0.0.0'
|
|
OP_NODE_RPC_PORT: 8545
|
|
OP_NODE_P2P_LISTEN_IP: '0.0.0.0'
|
|
OP_NODE_P2P_LISTEN_TCP_PORT: 25713
|
|
OP_NODE_P2P_LISTEN_UDP_PORT: 25713
|
|
OP_NODE_P2P_PEER_SCORING: 'light'
|
|
OP_NODE_P2P_PEER_BANNING: 'true'
|
|
OP_NODE_METRICS_ENABLED: 'true'
|
|
OP_NODE_METRICS_ADDR: '0.0.0.0'
|
|
OP_NODE_METRICS_PORT: 7300
|
|
OP_NODE_PPROF_ENABLED: 'true'
|
|
OP_NODE_PPROF_PORT: 6060
|
|
OP_NODE_PPROF_ADDR: '0.0.0.0'
|
|
OP_NODE_P2P_DISCOVERY_PATH: '/op-node/opnode_discovery_db'
|
|
OP_NODE_P2P_PEERSTORE_PATH: '/op-node/opnode_peerstore_db'
|
|
OP_NODE_INDEXER_SOCKET: 'da-indexer-api.mantle.xyz:80'
|
|
OP_NODE_INDEXER_ENABLE: 'true'
|
|
OP_NODE_L2_BACKUP_UNSAFE_SYNC_RPC: ${MANTLE_L2_BACKUP_RPC:-https://rpc.mantle.xyz}
|
|
OP_NODE_P2P_STATIC: '/dns4/peer0.mantle.xyz/tcp/9003/p2p/16Uiu2HAmKVKzUAns2gLhZAz1PYcbnhY3WpxNxUZYeTN1x29tNBAW,/dns4/peer1.mantle.xyz/tcp/9003/p2p/16Uiu2HAm1AiZtVp8f5C8LvpSTAXC6GtwqAVKnB3VLawWYSEBmcFN,/dns4/peer2.mantle.xyz/tcp/9003/p2p/16Uiu2HAm2UHVKiPXpovs8VbbUQVPr7feBAqBJdFsH1z5XDiLEvHT'
|
|
OP_NODE_SEQUENCER_ENABLED: 'false'
|
|
OP_NODE_P2P_AGENT: 'mantle'
|
|
OP_NODE_L2_ENGINE_SYNC_ENABLED: 'true'
|
|
OP_NODE_L2_SKIP_SYNC_START_CHECK: 'true'
|
|
OP_NODE_P2P_SYNC_REQ_RESP: 'true'
|
|
networks:
|
|
- chains
|
|
|
|
mantle-key-generator:
|
|
image: ghcr.io/foundry-rs/foundry
|
|
volumes:
|
|
- "./mantle/mainnet/:/config"
|
|
- "./mantle/generate-node-key:/generate-node-key"
|
|
entrypoint: sh
|
|
command: /generate-node-key
|
|
|
|
volumes:
|
|
mantle-fullnode:
|