services: op-zircuit-client: image: zircuit1/l2-geth:59a51deafa3adb0e7f8c9f7cb41578e57135ddef volumes: - "op-zircuit:/db" - "./zircuit/mainnet/genesis.json:/genesis.json" - ".jwtsecret:/jwtsecret" - "./zircuit_config:/config" entrypoint: # pass the L2 specific flags by overriding the entry-point and adding extra arguments - "/bin/sh" - "/entrypoint.sh" - "--authrpc.jwtsecret=/jwtsecret" - "--rollup.sequencerhttp=${ZIRCUIT_SEQUENCER_HTTP}" - "--rollup.disabletxpoolgossip=true" environment: FORK_TRIGGER: "false" ETH_STATS_ENABLED: 1 ETH_STATS_NODE: "d${DOMAIN}" ETH_STATS_SERVER: ethstats-mainnet-sk3bgt6hciu.zircuit.com ETH_STATS_SERVER_PORT: 443 WS_SECRET: ${ZIRCUIT_WS_SECRET} networks: - chains op-zircuit: restart: unless-stopped image: nginx depends_on: - op-zircuit-client expose: - 80 environment: PROXY_HOST: op-zircuit-client RPC_PORT: 8545 RPC_PATH: "" WS_PORT: 8546 WS_PATH: "" networks: - chains volumes: - ./nginx-proxy:/etc/nginx/templates labels: - "traefik.enable=true" - "traefik.http.middlewares.zircuit-mainnet-stripprefix.stripprefix.prefixes=/zircuit-mainnet" - "traefik.http.services.zircuit-mainnet.loadbalancer.server.port=80" - "traefik.http.routers.zircuit-mainnet.entrypoints=websecure" - "traefik.http.routers.zircuit-mainnet.tls.certresolver=myresolver" - "traefik.http.routers.zircuit-mainnet.rule=Host(`$DOMAIN`) && PathPrefix(`/zircuit-mainnet`)" - "traefik.http.routers.zircuit-mainnet.middlewares=zircuit-mainnet-stripprefix, ipwhitelist" op-zircuit-node: depends_on: - op-zircuit-client image: zircuit1/op-node:59a51deafa3adb0e7f8c9f7cb41578e57135ddef ports: - "43778:43778" - "43778:43778/udp" volumes: - ".jwtsecret:/jwtsecret" - "./zircuit/mainnet/rollup.json:/rollup.json" - "./zircuit/config/}:/config" networks: - chains environment: OP_NODE_L1_ETH_RPC: ${ZIRCUIT_ETHEREUM_MAINNET_EXECUTION_RPC} OP_NODE_L2_ENGINE_RPC: http://op-zircuit-client:8551 OP_NODE_ROLLUP_CONFIG: /rollup.json OP_NODE_RPC_ADDR: "0.0.0.0" OP_NODE_RPC_PORT: 9545 OP_NODE_L1_RPC_KIND: "basic" OP_NODE_L2_ENGINE_AUTH: /jwtsecret OP_NODE_VERIFIER_L1_CONFS: 0 OP_NODE_SEQUENCER_ENABLED: "false" OP_NODE_SEQUENCER_STOPPED: "false" OP_NODE_SEQUENCER_MAX_SAFE_LAG: 0 OP_NODE_SEQUENCER_L1_CONFS: 0 OP_NODE_L1_EPOCH_POLL_INTERVAL: 384s OP_NODE_HEARTBEAT_ENABLED: "false" OP_NODE_L1_BEACON: ${ZIRCUIT_ETHEREUM_MAINNET_BEACON_REST} #OP_NODE_L1_BEACON_ARCHIVER: ${ZIRCUIT_ETHEREUM_MAINNET_BEACON_ARCHIVER} OP_NODE_SYNCMODE: "consensus-layer" OP_NODE_P2P_LISTEN_IP: "0.0.0.0" OP_NODE_P2P_LISTEN_TCP_PORT: 43778 OP_NODE_P2P_LISTEN_UDP_PORT: 43778 OP_NODE_P2P_PEER_SCORING: light OP_NODE_P2P_PEER_BANNING: "true" OP_NODE_P2P_STATIC: ${ZIRCUIT_STATIC_PEERS} OP_NODE_P2P_PRIV_PATH: /config/p2p_node_key_txt OP_NODE_P2P_ADVERTISE_IP: ${IP} OP_NODE_LOG_LEVEL: info OP_NODE_LOG_FORMAT: json OP_NODE_LOG_COLOR: "false" op-zircuit-key-generator: image: ghcr.io/foundry-rs/foundry volumes: - "./zircuit/config:/config" - "./zircuit/generate-node-key-script:/generate-node-key" entrypoint: sh command: /generate-node-key volumes: op-zircuit: