version: '3.1' services: op-zora-archive: # this is Optimism's geth client #image: stakesquid/op-zora-mainnet:v0.1 build: context: ./op expose: - 8545 # RPC / Websocket - 18322 # P2P TCP (currently unused) - 18322/udp # P2P UDP (currently unused) - 6060 # metrics ports: - "18322:18322" - "18322:18322/udp" command: [ "sh", "./geth-entrypoint" ] restart: always stop_grace_period: 3m volumes: - zora-archive:/data - .jwtsecret:/jwtsecret environment: - "GETH_GENESIS_FILE_PATH=/app/mainnet/zora/genesis.json" - "GETH_ROLLUP_SEQUENCERHTTP=https://rpc-zora-mainnet-0.t.conduit.xyz" - "GETH_GCMODE=archive" - "GETH_NODISCOVER=true" - "GETH_STATE_SCHEME=hash" - "GETH_DB_ENGINE=leveldb" - "IP=${IP}" - "P2P_PORT=18322" - "WS_PORT=8545" - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" - "HOST_IP=${IP}" - "GETH_OVERRIDE_CANYON=1704992401" - "GETH_OVERRIDE_DELTA=1708560000" - "GETH_OVERRIDE_ECOTONE=1710374401" - "GETH_OVERRIDE_FJORD=1720627201" labels: - "traefik.enable=true" - "traefik.http.middlewares.zora-stripprefix.stripprefix.prefixes=/zora-archive" - "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(`/zora-archive`)" - "traefik.http.routers.zora.middlewares=zora-stripprefix, ipwhitelist" networks: - chains op-zora-archive-node: #image: stakesquid/op-zora-mainnet:v0.1 build: context: ./op depends_on: - op-zora-archive expose: - 8545 # RPC - 11398 # P2P TCP - 11398/udp # P2P UDP - 7300 # metrics - 6060 # pprof ports: - "11398:11398" - "11398:11398/udp" command: [ "sh", "./op-node-entrypoint" ] restart: always volumes: - .jwtsecret:/jwtsecret stop_grace_period: 30s environment: #- "OP_NODE_NETWORK=zora-mainnet-0" - "OP_NODE_L1_ETH_RPC=${ZORA_MAINNET_L1_ENDPOINT}" - "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}" - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" - "OP_NODE_L2_ENGINE_RPC=http://op-zora-archive: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=zora-mainnet" - "OP_NODE_P2P_BOOTNODES=enode://9d221b41d61cb40162ae573b5ba7063c9535b5088ddc06f87099c461e7969068a54d93cdbd3ab119885481c7aec68f81500b400f36ac1bfef11efa116c1a2c1b@35.227.155.250:9222?discport=30301,enode://d25ce99435982b04d60c4b41ba256b84b888626db7bee45a9419382300fbe907359ae5ef250346785bff8d3b9d07cd3e017a27e2ee3cfda3bcbb0ba762ac9674@bootnode.conduit.xyz:0?discport=30301,enode://2d4e7e9d48f4dd4efe9342706dd1b0024681bd4c3300d021f86fc75eab7865d4e0cbec6fbc883f011cfd6a57423e7e2f6e104baad2b744c3cafaec6bc7dc92c1@34.65.43.171:0?discport=30305,enode://9d7a3efefe442351217e73b3a593bcb8efffb55b4807699972145324eab5e6b382152f8d24f6301baebbfb5ecd4127bd3faab2842c04cd432bdf50ba092f6645@34.65.109.126:0?discport=30305" - "OP_NODE_P2P_STATIC=/ip4/35.227.155.250/tcp/9222/p2p/16Uiu2HAmPENXJ1a1SFj7tSrwuvTM2dXAAKsKjPobXmjds9U76XUB" - "OP_NODE_P2P_AGENT=conduit" - "OP_NODE_P2P_LISTEN_IP=0.0.0.0" - "OP_NODE_P2P_LISTEN_TCP_PORT=11398" - "OP_NODE_P2P_LISTEN_UDP_PORT=11398" - "OP_NODE_ROLLUP_CONFIG=/app/mainnet/zora/rollup.json" - "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_MAINNET_L1_BATCH_SIZE:-20}" - "OP_NODE_L1_RPC_RATE_LIMIT=${ZORA_MAINNET_L1_RATE_LIMIT:-30}" - "OP_NODE_L1_RPC_KIND=${ZORA_MAINNET_L1_ENDPOINT_KIND:-basic}" - "OP_NODE_L1_TRUST_RPC=${ZORA_MAINNET_L1_ENDPOINT_TRUST:-false}" - "OP_NODE_L1_BEACON=${ZORA_MAINNET_L1_BEACON_URL}" - "OP_NODE_L1_BEACON_ARCHIVER=${ZORA_MAINNET_L1_BEACON_ARCHIVER}" - "OP_NODE_OVERRIDE_CANYON=1704992401" - "OP_NODE_OVERRIDE_DELTA=1708560000" - "OP_NODE_OVERRIDE_ECOTONE=1710374401" - "OP_NODE_OVERRIDE_FJORD=1720627201" networks: - chains volumes: zora-archive: