version: '3.1' services: op-snaxchain-fullnode: build: context: ./op dockerfile: Dockerfile expose: - 8545 # RPC / Websocket - 55677 # P2P TCP (currently unused) - 55677/udp # P2P UDP (currently unused) - 6060 # metrics ports: - "55677:55677" - "55677:55677/udp" command: [ "sh", "./geth-entrypoint" ] restart: always stop_grace_period: 3m volumes: - snaxchain-fullnode:/data - .jwtsecret:/jwtsecret environment: - "GETH_GENESIS_FILE_PATH=/app/mainnet/snaxchain/genesis.json" - "GETH_ROLLUP_SEQUENCERHTTP=https://mainnet.snaxchain.io" - "GETH_GCMODE=full" #- "GETH_SYNCMODE=snap" - "GETH_STATE_SCHEME=path" - "GETH_DB_ENGINE=pebble" - "GETH_DISCOVERY_PORT=55677" - "GETH_DB_ENGINE=pebble" - "P2P_PORT=55677" - "WS_PORT=8545" - "IP=${IP}" - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" - "GETH_NODISCOVER=true" #- "GETH_OVERRIDE_CANYON=1704992401" #- "GETH_OVERRIDE_DELTA=1708560000" #- "GETH_OVERRIDE_ECOTONE=1710374401" #- "GETH_OVERRIDE_FJORD=1720627201" labels: - "traefik.enable=true" - "traefik.http.middlewares.snax-stripprefix.stripprefix.prefixes=/snax" - "traefik.http.services.snax.loadbalancer.server.port=8545" - "traefik.http.routers.snax.entrypoints=websecure" - "traefik.http.routers.snax.tls.certresolver=myresolver" - "traefik.http.routers.snax.rule=Host(`$DOMAIN`) && PathPrefix(`/snax`)" - "traefik.http.routers.snax.middlewares=snax-stripprefix, ipwhitelist" networks: - chains op-snaxchain-fullnode-node: build: context: ./op depends_on: - op-snaxchain-fullnode expose: - 8545 # RPC - 6479 # P2P TCP - 6479/udp # P2P UDP - 7300 # metrics - 6060 # pprof ports: - "6479:6479" - "6479:6479/udp" command: [ "sh", "./op-node-entrypoint" ] restart: always volumes: - .jwtsecret:/jwtsecret stop_grace_period: 30s environment: #- "OP_NODE_SYNCMODE=execution-layer" - "OP_NODE_L1_ETH_RPC=${SNAXCHAIN_ETHEREUM_ENDPOINT}" - "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}" - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" - "OP_NODE_L2_ENGINE_RPC=http://op-snaxchain-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_STATIC=/ip4/34.145.38.86/tcp/9222/p2p/16Uiu2HAm1suCyNVL9yrFsYqQq26sKBgxfFV1NviL9RjQFgJJjhWF" - "OP_NODE_P2P_BOOTNODES=enode://5fde2dbd30b05a51a6b4d132df0f18bb522c481c447d1a84b7b5cf13e543fe403c63511d8602f3c7dcfbf2020a7a7823ba6bb26125cf497f7a08f80ea5963496@34.145.38.86: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_LISTEN_IP=0.0.0.0" - "OP_NODE_P2P_LISTEN_TCP_PORT=6479" - "OP_NODE_P2P_LISTEN_UDP_PORT=6479" - "OP_NODE_P2P_ADVERTISE_IP=${IP}" - "OP_NODE_ROLLUP_CONFIG=/app/mainnet/snaxchain/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=${SNAXCHAIN_ETHEREUM_ENDPOINT_KIND:-basic}" - "OP_NODE_L1_TRUST_RPC=${SNAXCHAIN_ETHEREUM_ENDPOINT_TRUST:-false}" - "OP_NODE_L1_BEACON=${SNAXCHAIN_ETHEREUM_ENDPOINT_BEACON}" - "OP_NODE_L1_BEACON_ARCHIVER=${SNAXCHAIN_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: snaxchain-fullnode: