services: op-zircuit-testnet-client: image: zircuit1/l2-geth:${ZIRCUIT_TESTNET_VERSION:-e81568966f2a42a57b1347fb1dffdd5257dde73a} volumes: - "op-zircuit-testnet:/db" - "./zircuit/testnet/genesis.json:/genesis.json" - ".jwtsecret:/jwtsecret" - "./zircuit_testnet_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_TESTNET_SEQUENCER_HTTP}" - "--rollup.disabletxpoolgossip=true" environment: FORK_TRIGGER: "false" ETH_STATS_ENABLED: 0 #ETH_STATS_NODE: "d${DOMAIN}" #ETH_STATS_SERVER: ethstats-mainnet-sk3bgt6hciu.zircuit.com #ETH_STATS_SERVER_PORT: 443 WS_SECRET: ${ZIRCUIT_TESTNET_WS_SECRET} networks: - chains op-zircuit-testnet: restart: unless-stopped image: nginx depends_on: - op-zircuit-testnet-client expose: - 80 environment: PROXY_HOST: op-zircuit-testnet-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-testnet-stripprefix.stripprefix.prefixes=/zircuit-testnet" - "traefik.http.services.zircuit-testnet.loadbalancer.server.port=80" - "traefik.http.routers.zircuit-testnet.entrypoints=websecure" - "traefik.http.routers.zircuit-testnet.tls.certresolver=myresolver" - "traefik.http.routers.zircuit-testnet.rule=Host(`$DOMAIN`) && PathPrefix(`/zircuit-testnet`)" - "traefik.http.routers.zircuit-testnet.middlewares=zircuit-testnet-stripprefix, ipwhitelist" op-zircuit-testnet-node: depends_on: - op-zircuit-testnet-client image: zircuit1/op-node:${ZIRCUIT_TESTNET_VERSION:-e81568966f2a42a57b1347fb1dffdd5257dde73a} ports: - "20209:20209" - "20209:20209/udp" volumes: - ".jwtsecret:/jwtsecret" - "./zircuit/testnet/rollup.json:/rollup.json" - "./zircuit_testnet/config/:/config" networks: - chains environment: OP_NODE_L1_ETH_RPC: ${ZIRCUIT_ETHEREUM_TESTNET_EXECUTION_RPC} OP_NODE_L2_ENGINE_RPC: http://op-zircuit-testnet-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_TESTNET_BEACON_REST} #OP_NODE_L1_BEACON_ARCHIVER: ${ZIRCUIT_ETHEREUM_TESTNET_BEACON_ARCHIVER} OP_NODE_SYNCMODE: "consensus-layer" OP_NODE_P2P_LISTEN_IP: "0.0.0.0" OP_NODE_P2P_LISTEN_TCP_PORT: 20209 OP_NODE_P2P_LISTEN_UDP_PORT: 20209 OP_NODE_P2P_PEER_SCORING: light OP_NODE_P2P_PEER_BANNING: "true" OP_NODE_P2P_STATIC: ${ZIRCUIT_TESTNET_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-testnet-key-generator: image: ghcr.io/foundry-rs/foundry volumes: - "./zircuit_testnet/config:/config" - "./zircuit/generate-node-key-script:/generate-node-key" entrypoint: sh command: /generate-node-key volumes: op-zircuit-testnet: