version: '3.1' services: op-base-fullnode: build: context: ./op dockerfile: Dockerfile.debug args: OP_GETH_VERSION: v1.101315.2 OP_NODE_VERSION: v1.7.7 expose: - 8545 # RPC / Websocket - 8480 # P2P TCP (currently unused) - 8480/udp # P2P UDP (currently unused) - 6060 # metrics ports: - "8480:8480" - "8480:8480/udp" command: [ "sh", "./geth-entrypoint" ] restart: always stop_grace_period: 3m volumes: - base-fullnode:/data - .jwtsecret:/jwtsecret environment: - "GETH_GENESIS_FILE_PATH=/app/mainnet/base/genesis.json" - "GETH_ROLLUP_SEQUENCERHTTP=https://mainnet-sequencer.base.org" - "OP_GETH_GCMODE=full" - "OP_GETH_SYNCMODE=snap" - "GETH_SYNCMODE=snap" - "OP_GETH_STATE_SCHEME=path" - "GETH_STATE_SCHEME=path" - "OP_GETH_DB_ENGINE=pebble" - "OP_GETH_P2P_PORT=8480" - "GETH_DISCOVERY_PORT=8480" - "GETH_DB_ENGINE=pebble" - "P2P_PORT=8480" - "WS_PORT=8545" - "IP=${IP}" - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" - "GETH_OVERRIDE_CANYON=1704992401" - "GETH_OVERRIDE_DELTA=1708560000" - "GETH_OVERRIDE_ECOTONE=1710374401" - "GETH_OVERRIDE_FJORD=1720627201" labels: - "traefik.enable=true" - "traefik.http.middlewares.base-stripprefix.stripprefix.prefixes=/base" - "traefik.http.services.base.loadbalancer.server.port=8545" - "traefik.http.routers.base.entrypoints=websecure" - "traefik.http.routers.base.tls.certresolver=myresolver" - "traefik.http.routers.base.rule=Host(`$DOMAIN`) && PathPrefix(`/base`)" - "traefik.http.routers.base.middlewares=base-stripprefix, ipwhitelist" networks: - chains volumes: base-fullnode: