services: optimism-reth: image: ghcr.io/paradigmxyz/op-reth:${OP_RETH_VERSION:-v1.3.1} expose: - 9551 - 8545 # RPC / Websocket - 9575 # P2P TCP (currently unused) - 9575/udp # P2P UDP (currently unused) - 6060 # metrics ports: - "9575:9575" - "9575:9575/udp" restart: unless-stopped user: root stop_grace_period: 3m command: > node --chain optimism --port 9575 --discovery.port 9575 --rollup.sequencer-http https://mainnet-sequencer.optimism.org --http --ws --authrpc.addr 0.0.0.0 --authrpc.port 9551 --authrpc.jwtsecret /jwtsecret --http.addr 0.0.0.0 --http.port 8545 --ws.addr 0.0.0.0 --ws.port 8545 --ws.origins '*' --http.api "debug,eth,net,trace,txpool,web3,rpc,reth,admin" --ws.api "debug,eth,net,trace,txpool,web3,rpc,reth,admin" --http.corsdomain '*' --rpc.max-logs-per-response 1100000 --rpc.gascap 600000000 --nat extip:$IP volumes: - ${OPTIMISM_MAINNET_OP_RETH_ARCHIVE_TRACE_DATA:-optimism-mainnet-op-reth-archive-trace}:/root/.local/share/reth/optimism - /slowdisk:/slowdisk - .jwtsecret:/jwtsecret labels: - "traefik.enable=true" - "traefik.http.middlewares.optimism-mainnet-op-reth-archive-trace-stripprefix.stripprefix.prefixes=/optimism-reth" - "traefik.http.services.optimism-mainnet-op-reth-archive-trace.loadbalancer.server.port=8545" - "${NO_SSL:-traefik.http.routers.optimism-mainnet-op-reth-archive-trace.entrypoints=websecure}" - "${NO_SSL:-traefik.http.routers.optimism-mainnet-op-reth-archive-trace.tls.certresolver=myresolver}" - "${NO_SSL:-traefik.http.routers.optimism-mainnet-op-reth-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/optimism-reth`)}" - "${NO_SSL:+traefik.http.routers.optimism-mainnet-op-reth-archive-trace.rule=PathPrefix(`/optimism-reth`)}" - "traefik.http.routers.optimism-mainnet-op-reth-archive-trace.middlewares=optimism-mainnet-op-reth-archive-trace-stripprefix, ipwhitelist" networks: - chains optimism-reth-node: build: context: ./op depends_on: - optimism-reth volumes: - .jwtsecret:/jwtsecret expose: - 8545 # RPC - 26513 # P2P TCP - 26513/udp # P2P UDP - 7300 # metrics - 6060 # pprof ports: - "26513:26513" - "26513:26513/udp" entrypoint: ./op-node restart: always stop_grace_period: 30s environment: - "OP_NODE_NETWORK=op-mainnet" - "OP_NODE_SYNCMODE=execution-layer" - "OP_NODE_L1_ETH_RPC=${OPTIMISM_L1_ETHEREUM_MAINNET_EXECUTION_RPC}" - "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}" - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" - "OP_NODE_L2_ENGINE_RPC=http://optimism-reth:9551" - "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=op" - "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=26513" - "OP_NODE_P2P_LISTEN_UDP_PORT=26513" - "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=${OPTIMISM_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}" - "OP_NODE_L1_TRUST_RPC=${OPTIMISM_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}" - "OP_NODE_L1_BEACON=${OPTIMISM_L1_ETHEREUM_MAINNET_BEACON_REST}" - "OP_NODE_L2_SKIP_SYNC_START_CHECK=true" networks: - chains volumes: optimism-mainnet-op-reth-archive-trace: