services: ink-mainnet: build: context: ./op expose: - 8545 # RPC / Websocket - 19809 # P2P TCP (currently unused) - 19809/udp # P2P UDP (currently unused) - 6060 # metrics ports: - "19809:19809" - "19809:19809/udp" command: [ "./geth" ] restart: always stop_grace_period: 3m volumes: - ink-mainnet-op-geth-pruned-pebble-path:/data - .jwtsecret:/jwtsecret environment: - "GETH_DATADIR=/data" - "GETH_OP_NETWORK=ink-mainnet" - "GETH_GCMODE=full" - "GETH_SYNCMODE=snap" - "GETH_STATE_SCHEME=path" - "GETH_DB_ENGINE=pebble" - "GETH_NAT=extip:${IP}" - "GETH_PORT=19809" - "GETH_WS_PORT=8545" - "GETH_HTTP_ADDR=0.0.0.0" - "GETH_WS_ADDR=0.0.0.0" - "GETH_HTTP_API=eth,net,debug,admin,web3" - "GETH_AUTHRPC_JWTSECRET=/jwtsecret" - "GETH_AUTHRPC_ADDR=0.0.0.0" - "GETH_AUTHRPC_VHOSTS=*" labels: - "traefik.enable=true" - "traefik.http.middlewares.zora-stripprefix.stripprefix.prefixes=/ink-mainnet" - "traefik.http.services.zora.loadbalancer.server.port=8545" - "traefik.http.routers.zora.entrypoints=websecure" - "traefik.http.routers.zora.tls.certresolver=myresolver" - "traefik.http.routers.zora.rule=Host(`$DOMAIN`) && PathPrefix(`/ink-mainnet`)" - "traefik.http.routers.zora.middlewares=zora-stripprefix, ipwhitelist" networks: - chains ink-mainnet-node: build: context: ./op expose: - 8545 # RPC - 3306 # P2P TCP - 3306/udp # P2P UDP - 7300 # metrics - 6060 # pprof ports: - "3306:3306" - "3306:3306/udp" command: [ "sh", "./op-node-entrypoint" ] restart: always volumes: - .jwtsecret:/jwtsecret stop_grace_period: 30s environment: - "OP_NODE_NETWORK=ink-mainnet" - "OP_NODE_SYNCMODE=execution-layer" - "OP_NODE_L1_ETH_RPC=${INK_L1_ETHEREUM_MAINNET_EXECUTION_RPC}" - "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}" - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" - "OP_NODE_L2_ENGINE_RPC=http://ink-mainnet: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_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd" - "OP_NODE_P2P_LISTEN_IP=0.0.0.0" - "OP_NODE_P2P_LISTEN_TCP_PORT=3306" - "OP_NODE_P2P_LISTEN_UDP_PORT=3306" - "OP_NODE_RPC_ADDR=0.0.0.0" - "OP_NODE_P2P_ADVERTISE_IP=${IP}" - "OP_NODE_RPC_PORT=8545" - "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log" - "OP_NODE_VERIFIER_L1_CONFS=4" #- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${ZORA_SEPOLIA_L1_BATCH_SIZE:-20}" #- "OP_NODE_L1_RPC_RATE_LIMIT=${ZORA_SEPOLIA_L1_RATE_LIMIT:-30}" - "OP_NODE_L1_RPC_KIND=${INK_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}" - "OP_NODE_L1_TRUST_RPC=${INK_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}" - "OP_NODE_L1_BEACON=${INK_L1_ETHEREUM_MAINNET_BEACON_REST}" - "OP_NODE_L1_BEACON_ARCHIVER=${INK_L1_ETHEREUM_MAINNET_BEACON_ARCHIVER}" networks: - chains volumes: ink-mainnet-op-geth-pruned-pebble-path: