This commit is contained in:
squidbear
2025-03-30 13:43:40 +02:00
parent 674e559d5a
commit ca692fbdd9
4 changed files with 408 additions and 0 deletions

View File

@@ -0,0 +1,102 @@
services:
zircuit-mainnet-archive:
image: zircuit1/l2-geth:e81568966f2a42a57b1347fb1dffdd5257dde73a
volumes:
- "zircuit-mainnet-op-geth-archive-leveldb-hash:/data"
- ".jwtsecret:/jwtsecret:ro"
- ./zircuit_config:/config
environment:
- "GETH_GCMODE=archive"
- "GETH_SYNCMODE=full"
- "GETH_STATE_SCHEME=hash"
- "GETH_DB_ENGINE=leveldb"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=10463"
- "GETH_DATADIR=/data"
ports:
- "10463:10463"
- "10463:10463/udp"
env_file:
- /config/env
entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && geth init /config/genesis.json; exec geth \"$@\""]
command:
- --http
- --http.corsdomain=*
- --http.vhosts=*
- --http.addr=0.0.0.0
- --http.port=8545
- --http.api=eth,web3,debug,txpool,admin,net
- --ws
- --ws.addr=0.0.0.0
- --ws.port=8545
- --ws.origins=*
- --ws.api=eth,net,debug,web3
- --rpc.txfeecap=10
- --authrpc.addr=0.0.0.0
- --authrpc.port=8551
- --authrpc.vhosts=*
- --authrpc.jwtsecret=/jwtsecret
- --circuit-capacity-check=false
- --txpool.globalqueue=1024
- --config=/config/gethconfig.toml
- --rollup.sequencerhttp=${ZIRCUIT_SEQUENCER_HTTP}
- --rollup.disabletxpoolgossip=true
networks:
- chains
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.zircuit-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/zircuit-mainnet-archive"
- "traefik.http.services.zircuit-mainnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=80"
- "traefik.http.routers.zircuit-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure"
- "traefik.http.routers.zircuit-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
- "traefik.http.routers.zircuit-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/zircuit-mainnet-archive`)"
- "traefik.http.routers.zircuit-mainnet-op-geth-archive-leveldb-hash.middlewares=zircuit-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
zircuit-mainnet-archive-node:
depends_on:
- zircuit-mainnet-archive
image: zircuit1/op-node:e81568966f2a42a57b1347fb1dffdd5257dde73a
ports:
- "15463:15463"
- "15463:15463/udp"
volumes:
- ".jwtsecret:/jwtsecret:ro"
- ./zircuit_config:/config
networks:
- chains
env_file:
- /config/env
environment:
OP_NODE_L1_ETH_RPC: ${ETHEREUM_MAINNET_EXECUTION_RPC}
OP_NODE_L2_ENGINE_RPC: http://zircuit-mainnet-archive:8551
OP_NODE_ROLLUP_CONFIG: /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: ${ETHEREUM_MAINNET_BEACON_REST}
OP_NODE_SYNCMODE: execution-layer
OP_NODE_P2P_LISTEN_IP: "0.0.0.0"
OP_NODE_P2P_LISTEN_TCP_PORT: 15463
OP_NODE_P2P_LISTEN_UDP_PORT: 15463
OP_NODE_P2P_PEER_SCORING: light
OP_NODE_P2P_PEER_BANNING: "true"
OP_NODE_P2P_STATIC: ${ZIRCUIT_MAINNET_STATIC_PEERS}
OP_NODE_P2P_ADVERTISE_IP: ${IP}
OP_NODE_LOG_LEVEL: info
OP_NODE_LOG_FORMAT: json
OP_NODE_LOG_COLOR: "false"
volumes:
zircuit-mainnet-op-geth-archive-leveldb-hash:

View File

@@ -0,0 +1,102 @@
services:
zircuit-mainnet:
image: zircuit1/l2-geth:e81568966f2a42a57b1347fb1dffdd5257dde73a
volumes:
- "zircuit-mainnet-op-geth-pruned-pebble-path:/data"
- ".jwtsecret:/jwtsecret:ro"
- ./zircuit_config:/config
environment:
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=10359"
- "GETH_DATADIR=/data"
ports:
- "10359:10359"
- "10359:10359/udp"
env_file:
- /config/env
entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && geth init /config/genesis.json; exec geth \"$@\""]
command:
- --http
- --http.corsdomain=*
- --http.vhosts=*
- --http.addr=0.0.0.0
- --http.port=8545
- --http.api=eth,web3,debug,txpool,admin,net
- --ws
- --ws.addr=0.0.0.0
- --ws.port=8545
- --ws.origins=*
- --ws.api=eth,net,debug,web3
- --rpc.txfeecap=10
- --authrpc.addr=0.0.0.0
- --authrpc.port=8551
- --authrpc.vhosts=*
- --authrpc.jwtsecret=/jwtsecret
- --circuit-capacity-check=false
- --txpool.globalqueue=1024
- --config=/config/gethconfig.toml
- --rollup.sequencerhttp=${ZIRCUIT_SEQUENCER_HTTP}
- --rollup.disabletxpoolgossip=true
networks:
- chains
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.zircuit-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/zircuit-mainnet"
- "traefik.http.services.zircuit-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=80"
- "traefik.http.routers.zircuit-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
- "traefik.http.routers.zircuit-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
- "traefik.http.routers.zircuit-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/zircuit-mainnet`)"
- "traefik.http.routers.zircuit-mainnet-op-geth-pruned-pebble-path.middlewares=zircuit-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
zircuit-mainnet-node:
depends_on:
- zircuit-mainnet
image: zircuit1/op-node:e81568966f2a42a57b1347fb1dffdd5257dde73a
ports:
- "15359:15359"
- "15359:15359/udp"
volumes:
- ".jwtsecret:/jwtsecret:ro"
- ./zircuit_config:/config
networks:
- chains
env_file:
- /config/env
environment:
OP_NODE_L1_ETH_RPC: ${ETHEREUM_MAINNET_EXECUTION_RPC}
OP_NODE_L2_ENGINE_RPC: http://zircuit-mainnet:8551
OP_NODE_ROLLUP_CONFIG: /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: ${ETHEREUM_MAINNET_BEACON_REST}
OP_NODE_SYNCMODE: execution-layer
OP_NODE_P2P_LISTEN_IP: "0.0.0.0"
OP_NODE_P2P_LISTEN_TCP_PORT: 15359
OP_NODE_P2P_LISTEN_UDP_PORT: 15359
OP_NODE_P2P_PEER_SCORING: light
OP_NODE_P2P_PEER_BANNING: "true"
OP_NODE_P2P_STATIC: ${ZIRCUIT_MAINNET_STATIC_PEERS}
OP_NODE_P2P_ADVERTISE_IP: ${IP}
OP_NODE_LOG_LEVEL: info
OP_NODE_LOG_FORMAT: json
OP_NODE_LOG_COLOR: "false"
volumes:
zircuit-mainnet-op-geth-pruned-pebble-path:

View File

@@ -0,0 +1,102 @@
services:
zircuit-testnet-archive:
image: zircuit1/l2-geth:e81568966f2a42a57b1347fb1dffdd5257dde73a
volumes:
- "zircuit-testnet-op-geth-archive-leveldb-hash:/data"
- ".jwtsecret:/jwtsecret:ro"
- ./zircuit_testnet_config:/config
environment:
- "GETH_GCMODE=archive"
- "GETH_SYNCMODE=full"
- "GETH_STATE_SCHEME=hash"
- "GETH_DB_ENGINE=leveldb"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=10095"
- "GETH_DATADIR=/data"
ports:
- "10095:10095"
- "10095:10095/udp"
env_file:
- /config/env
entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && geth init /config/genesis.json; exec geth \"$@\""]
command:
- --http
- --http.corsdomain=*
- --http.vhosts=*
- --http.addr=0.0.0.0
- --http.port=8545
- --http.api=eth,web3,debug,txpool,admin,net
- --ws
- --ws.addr=0.0.0.0
- --ws.port=8545
- --ws.origins=*
- --ws.api=eth,net,debug,web3
- --rpc.txfeecap=10
- --authrpc.addr=0.0.0.0
- --authrpc.port=8551
- --authrpc.vhosts=*
- --authrpc.jwtsecret=/jwtsecret
- --circuit-capacity-check=false
- --txpool.globalqueue=1024
- --config=/config/gethconfig.toml
- --rollup.sequencerhttp=${ZIRCUIT_SEQUENCER_HTTP}
- --rollup.disabletxpoolgossip=true
networks:
- chains
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.zircuit-testnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/zircuit-testnet-archive"
- "traefik.http.services.zircuit-testnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=80"
- "traefik.http.routers.zircuit-testnet-op-geth-archive-leveldb-hash.entrypoints=websecure"
- "traefik.http.routers.zircuit-testnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
- "traefik.http.routers.zircuit-testnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/zircuit-testnet-archive`)"
- "traefik.http.routers.zircuit-testnet-op-geth-archive-leveldb-hash.middlewares=zircuit-testnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
zircuit-testnet-archive-node:
depends_on:
- zircuit-testnet-archive
image: zircuit1/op-node:e81568966f2a42a57b1347fb1dffdd5257dde73a
ports:
- "15095:15095"
- "15095:15095/udp"
volumes:
- ".jwtsecret:/jwtsecret:ro"
- ./zircuit_testnet_config:/config
networks:
- chains
env_file:
- /config/env
environment:
OP_NODE_L1_ETH_RPC: ${ETHEREUM_SEPOLIA_EXECUTION_RPC}
OP_NODE_L2_ENGINE_RPC: http://zircuit-testnet-archive:8551
OP_NODE_ROLLUP_CONFIG: /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: ${ETHEREUM_SEPOLIA_BEACON_REST}
OP_NODE_SYNCMODE: execution-layer
OP_NODE_P2P_LISTEN_IP: "0.0.0.0"
OP_NODE_P2P_LISTEN_TCP_PORT: 15095
OP_NODE_P2P_LISTEN_UDP_PORT: 15095
OP_NODE_P2P_PEER_SCORING: light
OP_NODE_P2P_PEER_BANNING: "true"
OP_NODE_P2P_STATIC: ${ZIRCUIT_MAINNET_STATIC_PEERS}
OP_NODE_P2P_ADVERTISE_IP: ${IP}
OP_NODE_LOG_LEVEL: info
OP_NODE_LOG_FORMAT: json
OP_NODE_LOG_COLOR: "false"
volumes:
zircuit-testnet-op-geth-archive-leveldb-hash:

View File

@@ -0,0 +1,102 @@
services:
zircuit-testnet:
image: zircuit1/l2-geth:e81568966f2a42a57b1347fb1dffdd5257dde73a
volumes:
- "zircuit-testnet-op-geth-pruned-pebble-path:/data"
- ".jwtsecret:/jwtsecret:ro"
- ./zircuit_testnet_config:/config
environment:
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=10804"
- "GETH_DATADIR=/data"
ports:
- "10804:10804"
- "10804:10804/udp"
env_file:
- /config/env
entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && geth init /config/genesis.json; exec geth \"$@\""]
command:
- --http
- --http.corsdomain=*
- --http.vhosts=*
- --http.addr=0.0.0.0
- --http.port=8545
- --http.api=eth,web3,debug,txpool,admin,net
- --ws
- --ws.addr=0.0.0.0
- --ws.port=8545
- --ws.origins=*
- --ws.api=eth,net,debug,web3
- --rpc.txfeecap=10
- --authrpc.addr=0.0.0.0
- --authrpc.port=8551
- --authrpc.vhosts=*
- --authrpc.jwtsecret=/jwtsecret
- --circuit-capacity-check=false
- --txpool.globalqueue=1024
- --config=/config/gethconfig.toml
- --rollup.sequencerhttp=${ZIRCUIT_SEQUENCER_HTTP}
- --rollup.disabletxpoolgossip=true
networks:
- chains
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.zircuit-testnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/zircuit-testnet"
- "traefik.http.services.zircuit-testnet-op-geth-pruned-pebble-path.loadbalancer.server.port=80"
- "traefik.http.routers.zircuit-testnet-op-geth-pruned-pebble-path.entrypoints=websecure"
- "traefik.http.routers.zircuit-testnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
- "traefik.http.routers.zircuit-testnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/zircuit-testnet`)"
- "traefik.http.routers.zircuit-testnet-op-geth-pruned-pebble-path.middlewares=zircuit-testnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
zircuit-testnet-node:
depends_on:
- zircuit-testnet
image: zircuit1/op-node:e81568966f2a42a57b1347fb1dffdd5257dde73a
ports:
- "15804:15804"
- "15804:15804/udp"
volumes:
- ".jwtsecret:/jwtsecret:ro"
- ./zircuit_testnet_config:/config
networks:
- chains
env_file:
- /config/env
environment:
OP_NODE_L1_ETH_RPC: ${ETHEREUM_SEPOLIA_EXECUTION_RPC}
OP_NODE_L2_ENGINE_RPC: http://zircuit-testnet:8551
OP_NODE_ROLLUP_CONFIG: /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: ${ETHEREUM_SEPOLIA_BEACON_REST}
OP_NODE_SYNCMODE: execution-layer
OP_NODE_P2P_LISTEN_IP: "0.0.0.0"
OP_NODE_P2P_LISTEN_TCP_PORT: 15804
OP_NODE_P2P_LISTEN_UDP_PORT: 15804
OP_NODE_P2P_PEER_SCORING: light
OP_NODE_P2P_PEER_BANNING: "true"
OP_NODE_P2P_STATIC: ${ZIRCUIT_MAINNET_STATIC_PEERS}
OP_NODE_P2P_ADVERTISE_IP: ${IP}
OP_NODE_LOG_LEVEL: info
OP_NODE_LOG_FORMAT: json
OP_NODE_LOG_COLOR: "false"
volumes:
zircuit-testnet-op-geth-pruned-pebble-path: