Files
ethereum-rpc-docker/op-zircuit-mainnet.yml
Sebastian b5b375e983 update
2025-03-12 08:01:46 +01:00

110 lines
3.8 KiB
YAML

services:
op-zircuit-client:
image: zircuit1/l2-geth:e81568966f2a42a57b1347fb1dffdd5257dde73a
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"
- "--http.api=eth,net,web3,debug"
environment:
FORK_TRIGGER: "false"
ETH_STATS_ENABLED: 1
ETH_STATS_NODE: "d${DOMAIN}"
ETH_STATS_SERVER: ethstats-ap.mainnet.zircuit.com
ETH_STATS_SERVER_PORT: 443
WS_SECRET: ${ZIRCUIT_MAINNET_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:e81568966f2a42a57b1347fb1dffdd5257dde73a
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_MAINNET_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: