This commit is contained in:
squidbear
2025-03-22 08:22:00 +01:00
parent 6699a7bd92
commit 6b08ee0ae8
11 changed files with 1034 additions and 0 deletions

View File

@@ -0,0 +1,94 @@
services:
ink-mainnet:
build:
context: ./op
expose:
- 8545 # RPC / Websocket
- 19809 # P2P TCP (currently unused)
- 19809/udp # P2P UDP (currently unused)
- 6060 # metrics
ports:
- "19809:19809"
- "19809:19809/udp"
command: [ "./geth" ]
restart: always
stop_grace_period: 3m
volumes:
- ink-mainnet-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=ink-mainnet"
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=19809"
- "GETH_WS_PORT=8545"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.zora-stripprefix.stripprefix.prefixes=/ink-mainnet"
- "traefik.http.services.zora.loadbalancer.server.port=8545"
- "traefik.http.routers.zora.entrypoints=websecure"
- "traefik.http.routers.zora.tls.certresolver=myresolver"
- "traefik.http.routers.zora.rule=Host(`$DOMAIN`) && PathPrefix(`/ink-mainnet`)"
- "traefik.http.routers.zora.middlewares=zora-stripprefix, ipwhitelist"
networks:
- chains
ink-mainnet-node:
build:
context: ./op
expose:
- 8545 # RPC
- 3306 # P2P TCP
- 3306/udp # P2P UDP
- 7300 # metrics
- 6060 # pprof
ports:
- "3306:3306"
- "3306:3306/udp"
command: [ "sh", "./op-node-entrypoint" ]
restart: always
volumes:
- .jwtsecret:/jwtsecret
stop_grace_period: 30s
environment:
- "OP_NODE_NETWORK=ink-mainnet"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${INK_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://ink-mainnet:8551"
- "OP_NODE_LOG_LEVEL=info"
- "OP_NODE_METRICS_ADDR=0.0.0.0"
- "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300"
#- "OP_NODE_P2P_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=3306"
- "OP_NODE_P2P_LISTEN_UDP_PORT=3306"
- "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545"
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
- "OP_NODE_VERIFIER_L1_CONFS=4"
#- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${ZORA_SEPOLIA_L1_BATCH_SIZE:-20}"
#- "OP_NODE_L1_RPC_RATE_LIMIT=${ZORA_SEPOLIA_L1_RATE_LIMIT:-30}"
- "OP_NODE_L1_RPC_KIND=${INK_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${INK_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${INK_L1_ETHEREUM_MAINNET_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${INK_L1_ETHEREUM_MAINNET_BEACON_ARCHIVER}"
networks:
- chains
volumes:
ink-mainnet-op-geth-pruned-pebble-path:

View File

@@ -0,0 +1,94 @@
services:
ink-sepolia:
build:
context: ./op
expose:
- 8545 # RPC / Websocket
- 19809 # P2P TCP (currently unused)
- 19809/udp # P2P UDP (currently unused)
- 6060 # metrics
ports:
- "19809:19809"
- "19809:19809/udp"
command: [ "./geth" ]
restart: always
stop_grace_period: 3m
volumes:
- ink-sepolia-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=ink-sepolia"
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=19809"
- "GETH_WS_PORT=8545"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.zora-stripprefix.stripprefix.prefixes=/ink-sepolia"
- "traefik.http.services.zora.loadbalancer.server.port=8545"
- "traefik.http.routers.zora.entrypoints=websecure"
- "traefik.http.routers.zora.tls.certresolver=myresolver"
- "traefik.http.routers.zora.rule=Host(`$DOMAIN`) && PathPrefix(`/ink-sepolia`)"
- "traefik.http.routers.zora.middlewares=zora-stripprefix, ipwhitelist"
networks:
- chains
ink-sepolia-node:
build:
context: ./op
expose:
- 8545 # RPC
- 3306 # P2P TCP
- 3306/udp # P2P UDP
- 7300 # metrics
- 6060 # pprof
ports:
- "3306:3306"
- "3306:3306/udp"
command: [ "sh", "./op-node-entrypoint" ]
restart: always
volumes:
- .jwtsecret:/jwtsecret
stop_grace_period: 30s
environment:
- "OP_NODE_NETWORK=ink-sepolia"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${INK_L1_ETHEREUM_SEPOLIA_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://ink-sepolia:8551"
- "OP_NODE_LOG_LEVEL=info"
- "OP_NODE_METRICS_ADDR=0.0.0.0"
- "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300"
#- "OP_NODE_P2P_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=3306"
- "OP_NODE_P2P_LISTEN_UDP_PORT=3306"
- "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545"
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
- "OP_NODE_VERIFIER_L1_CONFS=4"
#- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${ZORA_SEPOLIA_L1_BATCH_SIZE:-20}"
#- "OP_NODE_L1_RPC_RATE_LIMIT=${ZORA_SEPOLIA_L1_RATE_LIMIT:-30}"
- "OP_NODE_L1_RPC_KIND=${INK_L1_ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${INK_L1_ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${INK_L1_ETHEREUM_SEPOLIA_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${INK_L1_ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
networks:
- chains
volumes:
ink-sepolia-op-geth-pruned-pebble-path:

View File

@@ -0,0 +1,94 @@
services:
mode-mainnet:
build:
context: ./op
expose:
- 8545 # RPC / Websocket
- 19809 # P2P TCP (currently unused)
- 19809/udp # P2P UDP (currently unused)
- 6060 # metrics
ports:
- "19809:19809"
- "19809:19809/udp"
command: [ "./geth" ]
restart: always
stop_grace_period: 3m
volumes:
- mode-mainnet-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=mode-mainnet"
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=19809"
- "GETH_WS_PORT=8545"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.mode-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/mode-mainnet"
- "traefik.http.services.mode-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
- "traefik.http.routers.mode-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
- "traefik.http.routers.mode-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
- "traefik.http.routers.mode-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/mode-mainnet`)"
- "traefik.http.routers.mode-mainnet-op-geth-pruned-pebble-path.middlewares=mode-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
networks:
- chains
mode-mainnet-node:
build:
context: ./op
expose:
- 8545 # RPC
- 3306 # P2P TCP
- 3306/udp # P2P UDP
- 7300 # metrics
- 6060 # pprof
ports:
- "3306:3306"
- "3306:3306/udp"
command: [ "sh", "./op-node-entrypoint" ]
restart: always
volumes:
- .jwtsecret:/jwtsecret
stop_grace_period: 30s
environment:
- "OP_NODE_NETWORK=mode-mainnet"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${UNICHAIN_L1_ETHEREUM_SEPOLIA_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://mode-mainnet:8551"
- "OP_NODE_LOG_LEVEL=info"
- "OP_NODE_METRICS_ADDR=0.0.0.0"
- "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300"
#- "OP_NODE_P2P_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=3306"
- "OP_NODE_P2P_LISTEN_UDP_PORT=3306"
- "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545"
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
- "OP_NODE_VERIFIER_L1_CONFS=4"
#- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${UNICHAIN_SEPOLIA_L1_BATCH_SIZE:-20}"
#- "OP_NODE_L1_RPC_RATE_LIMIT=${UNICHAIN_SEPOLIA_L1_RATE_LIMIT:-30}"
- "OP_NODE_L1_RPC_KIND=${UNICHAIN_L1_ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${UNICHAIN_L1_ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${UNICHAIN_L1_ETHEREUM_SEPOLIA_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${UNICHAIN_L1_ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
networks:
- chains
volumes:
mode-mainnet-op-geth-pruned-pebble-path:

View File

@@ -0,0 +1,94 @@
services:
mode-sepolia:
build:
context: ./op
expose:
- 8545 # RPC / Websocket
- 19809 # P2P TCP (currently unused)
- 19809/udp # P2P UDP (currently unused)
- 6060 # metrics
ports:
- "19809:19809"
- "19809:19809/udp"
command: [ "./geth" ]
restart: always
stop_grace_period: 3m
volumes:
- mode-sepolia-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=mode-sepolia"
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=19809"
- "GETH_WS_PORT=8545"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.mode-sepolia-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/mode-sepolia"
- "traefik.http.services.mode-sepolia-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
- "traefik.http.routers.mode-sepolia-op-geth-pruned-pebble-path.entrypoints=websecure"
- "traefik.http.routers.mode-sepolia-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
- "traefik.http.routers.mode-sepolia-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/mode-sepolia`)"
- "traefik.http.routers.mode-sepolia-op-geth-pruned-pebble-path.middlewares=mode-sepolia-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
networks:
- chains
mode-sepolia-node:
build:
context: ./op
expose:
- 8545 # RPC
- 3306 # P2P TCP
- 3306/udp # P2P UDP
- 7300 # metrics
- 6060 # pprof
ports:
- "3306:3306"
- "3306:3306/udp"
command: [ "sh", "./op-node-entrypoint" ]
restart: always
volumes:
- .jwtsecret:/jwtsecret
stop_grace_period: 30s
environment:
- "OP_NODE_NETWORK=mode-sepolia"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${UNICHAIN_L1_ETHEREUM_SEPOLIA_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://mode-sepolia:8551"
- "OP_NODE_LOG_LEVEL=info"
- "OP_NODE_METRICS_ADDR=0.0.0.0"
- "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300"
#- "OP_NODE_P2P_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=3306"
- "OP_NODE_P2P_LISTEN_UDP_PORT=3306"
- "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545"
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
- "OP_NODE_VERIFIER_L1_CONFS=4"
#- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${UNICHAIN_SEPOLIA_L1_BATCH_SIZE:-20}"
#- "OP_NODE_L1_RPC_RATE_LIMIT=${UNICHAIN_SEPOLIA_L1_RATE_LIMIT:-30}"
- "OP_NODE_L1_RPC_KIND=${UNICHAIN_L1_ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${UNICHAIN_L1_ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${UNICHAIN_L1_ETHEREUM_SEPOLIA_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${UNICHAIN_L1_ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
networks:
- chains
volumes:
mode-sepolia-op-geth-pruned-pebble-path:

View File

@@ -0,0 +1,94 @@
services:
snax-mainnet:
build:
context: ./op
expose:
- 8545 # RPC / Websocket
- 19809 # P2P TCP (currently unused)
- 19809/udp # P2P UDP (currently unused)
- 6060 # metrics
ports:
- "19809:19809"
- "19809:19809/udp"
command: [ "./geth" ]
restart: always
stop_grace_period: 3m
volumes:
- snax-mainnet-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=snax-mainnet"
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=19809"
- "GETH_WS_PORT=8545"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.snax-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/snax-mainnet"
- "traefik.http.services.snax-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
- "traefik.http.routers.snax-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
- "traefik.http.routers.snax-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
- "traefik.http.routers.snax-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/snax-mainnet`)"
- "traefik.http.routers.snax-mainnet-op-geth-pruned-pebble-path.middlewares=snax-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
networks:
- chains
snax-mainnet-node:
build:
context: ./op
expose:
- 8545 # RPC
- 3306 # P2P TCP
- 3306/udp # P2P UDP
- 7300 # metrics
- 6060 # pprof
ports:
- "3306:3306"
- "3306:3306/udp"
command: [ "sh", "./op-node-entrypoint" ]
restart: always
volumes:
- .jwtsecret:/jwtsecret
stop_grace_period: 30s
environment:
- "OP_NODE_NETWORK=snax-mainnet"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${SNAX_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://snax-mainnet:8551"
- "OP_NODE_LOG_LEVEL=info"
- "OP_NODE_METRICS_ADDR=0.0.0.0"
- "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300"
#- "OP_NODE_P2P_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=3306"
- "OP_NODE_P2P_LISTEN_UDP_PORT=3306"
- "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545"
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
- "OP_NODE_VERIFIER_L1_CONFS=4"
#- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${SNAX_MAINNET_L1_BATCH_SIZE:-20}"
#- "OP_NODE_L1_RPC_RATE_LIMIT=${SNAX_MAINNET_L1_RATE_LIMIT:-30}"
- "OP_NODE_L1_RPC_KIND=${SNAX_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${SNAX_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${SNAX_L1_ETHEREUM_MAINNET_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${SNAX_L1_ETHEREUM_MAINNET_BEACON_ARCHIVER}"
networks:
- chains
volumes:
snax-mainnet-op-geth-pruned-pebble-path:

View File

@@ -0,0 +1,94 @@
services:
unichain-mainnet:
build:
context: ./op
expose:
- 8545 # RPC / Websocket
- 19809 # P2P TCP (currently unused)
- 19809/udp # P2P UDP (currently unused)
- 6060 # metrics
ports:
- "19809:19809"
- "19809:19809/udp"
command: [ "./geth" ]
restart: always
stop_grace_period: 3m
volumes:
- unichain-mainnet-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=unichain-mainnet"
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=19809"
- "GETH_WS_PORT=8545"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.unichain-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/unichain-mainnet"
- "traefik.http.services.unichain-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
- "traefik.http.routers.unichain-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
- "traefik.http.routers.unichain-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
- "traefik.http.routers.unichain-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/unichain-mainnet`)"
- "traefik.http.routers.unichain-mainnet-op-geth-pruned-pebble-path.middlewares=unichain-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
networks:
- chains
unichain-mainnet-node:
build:
context: ./op
expose:
- 8545 # RPC
- 3306 # P2P TCP
- 3306/udp # P2P UDP
- 7300 # metrics
- 6060 # pprof
ports:
- "3306:3306"
- "3306:3306/udp"
command: [ "sh", "./op-node-entrypoint" ]
restart: always
volumes:
- .jwtsecret:/jwtsecret
stop_grace_period: 30s
environment:
- "OP_NODE_NETWORK=unichain-mainnet"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${UNICHAIN_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://unichain-mainnet:8551"
- "OP_NODE_LOG_LEVEL=info"
- "OP_NODE_METRICS_ADDR=0.0.0.0"
- "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300"
#- "OP_NODE_P2P_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=3306"
- "OP_NODE_P2P_LISTEN_UDP_PORT=3306"
- "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545"
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
- "OP_NODE_VERIFIER_L1_CONFS=4"
#- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${UNICHAIN_MAINNET_L1_BATCH_SIZE:-20}"
#- "OP_NODE_L1_RPC_RATE_LIMIT=${UNICHAIN_MAINNET_L1_RATE_LIMIT:-30}"
- "OP_NODE_L1_RPC_KIND=${UNICHAIN_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${UNICHAIN_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${UNICHAIN_L1_ETHEREUM_MAINNET_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${UNICHAIN_L1_ETHEREUM_MAINNET_BEACON_ARCHIVER}"
networks:
- chains
volumes:
unichain-mainnet-op-geth-pruned-pebble-path:

View File

@@ -0,0 +1,94 @@
services:
unichain-sepolia:
build:
context: ./op
expose:
- 8545 # RPC / Websocket
- 19809 # P2P TCP (currently unused)
- 19809/udp # P2P UDP (currently unused)
- 6060 # metrics
ports:
- "19809:19809"
- "19809:19809/udp"
command: [ "./geth" ]
restart: always
stop_grace_period: 3m
volumes:
- unichain-sepolia-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=unichain-sepolia"
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=19809"
- "GETH_WS_PORT=8545"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.unichain-sepolia-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/unichain-sepolia"
- "traefik.http.services.unichain-sepolia-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
- "traefik.http.routers.unichain-sepolia-op-geth-pruned-pebble-path.entrypoints=websecure"
- "traefik.http.routers.unichain-sepolia-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
- "traefik.http.routers.unichain-sepolia-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/unichain-sepolia`)"
- "traefik.http.routers.unichain-sepolia-op-geth-pruned-pebble-path.middlewares=unichain-sepolia-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
networks:
- chains
unichain-sepolia-node:
build:
context: ./op
expose:
- 8545 # RPC
- 3306 # P2P TCP
- 3306/udp # P2P UDP
- 7300 # metrics
- 6060 # pprof
ports:
- "3306:3306"
- "3306:3306/udp"
command: [ "sh", "./op-node-entrypoint" ]
restart: always
volumes:
- .jwtsecret:/jwtsecret
stop_grace_period: 30s
environment:
- "OP_NODE_NETWORK=unichain-sepolia"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${UNICHAIN_L1_ETHEREUM_SEPOLIA_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://unichain-sepolia:8551"
- "OP_NODE_LOG_LEVEL=info"
- "OP_NODE_METRICS_ADDR=0.0.0.0"
- "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300"
#- "OP_NODE_P2P_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=3306"
- "OP_NODE_P2P_LISTEN_UDP_PORT=3306"
- "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545"
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
- "OP_NODE_VERIFIER_L1_CONFS=4"
#- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${UNICHAIN_SEPOLIA_L1_BATCH_SIZE:-20}"
#- "OP_NODE_L1_RPC_RATE_LIMIT=${UNICHAIN_SEPOLIA_L1_RATE_LIMIT:-30}"
- "OP_NODE_L1_RPC_KIND=${UNICHAIN_L1_ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${UNICHAIN_L1_ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${UNICHAIN_L1_ETHEREUM_SEPOLIA_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${UNICHAIN_L1_ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
networks:
- chains
volumes:
unichain-sepolia-op-geth-pruned-pebble-path:

View File

@@ -0,0 +1,94 @@
services:
worldchain-mainnet:
build:
context: ./op
expose:
- 8545 # RPC / Websocket
- 19809 # P2P TCP (currently unused)
- 19809/udp # P2P UDP (currently unused)
- 6060 # metrics
ports:
- "19809:19809"
- "19809:19809/udp"
command: [ "./geth" ]
restart: always
stop_grace_period: 3m
volumes:
- worldchain-mainnet-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=worldchain-mainnet"
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=19809"
- "GETH_WS_PORT=8545"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.worldchain-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/worldchain-mainnet"
- "traefik.http.services.worldchain-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
- "traefik.http.routers.worldchain-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
- "traefik.http.routers.worldchain-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
- "traefik.http.routers.worldchain-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/worldchain-mainnet`)"
- "traefik.http.routers.worldchain-mainnet-op-geth-pruned-pebble-path.middlewares=worldchain-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
networks:
- chains
worldchain-mainnet-node:
build:
context: ./op
expose:
- 8545 # RPC
- 3306 # P2P TCP
- 3306/udp # P2P UDP
- 7300 # metrics
- 6060 # pprof
ports:
- "3306:3306"
- "3306:3306/udp"
command: [ "sh", "./op-node-entrypoint" ]
restart: always
volumes:
- .jwtsecret:/jwtsecret
stop_grace_period: 30s
environment:
- "OP_NODE_NETWORK=worldchain-mainnet"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${WORLDCHAIN_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://worldchain-mainnet:8551"
- "OP_NODE_LOG_LEVEL=info"
- "OP_NODE_METRICS_ADDR=0.0.0.0"
- "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300"
#- "OP_NODE_P2P_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=3306"
- "OP_NODE_P2P_LISTEN_UDP_PORT=3306"
- "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545"
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
- "OP_NODE_VERIFIER_L1_CONFS=4"
#- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${WORLDCHAIN_MAINNET_L1_BATCH_SIZE:-20}"
#- "OP_NODE_L1_RPC_RATE_LIMIT=${WORLDCHAIN_MAINNET_L1_RATE_LIMIT:-30}"
- "OP_NODE_L1_RPC_KIND=${WORLDCHAIN_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${WORLDCHAIN_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${WORLDCHAIN_L1_ETHEREUM_MAINNET_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${WORLDCHAIN_L1_ETHEREUM_MAINNET_BEACON_ARCHIVER}"
networks:
- chains
volumes:
worldchain-mainnet-op-geth-pruned-pebble-path:

View File

@@ -0,0 +1,94 @@
services:
worldchain-sepolia:
build:
context: ./op
expose:
- 8545 # RPC / Websocket
- 19809 # P2P TCP (currently unused)
- 19809/udp # P2P UDP (currently unused)
- 6060 # metrics
ports:
- "19809:19809"
- "19809:19809/udp"
command: [ "./geth" ]
restart: always
stop_grace_period: 3m
volumes:
- worldchain-sepolia-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=worldchain-sepolia"
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=19809"
- "GETH_WS_PORT=8545"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.worldchain-sepolia-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/worldchain-sepolia"
- "traefik.http.services.worldchain-sepolia-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
- "traefik.http.routers.worldchain-sepolia-op-geth-pruned-pebble-path.entrypoints=websecure"
- "traefik.http.routers.worldchain-sepolia-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
- "traefik.http.routers.worldchain-sepolia-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/worldchain-sepolia`)"
- "traefik.http.routers.worldchain-sepolia-op-geth-pruned-pebble-path.middlewares=worldchain-sepolia-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
networks:
- chains
worldchain-sepolia-node:
build:
context: ./op
expose:
- 8545 # RPC
- 3306 # P2P TCP
- 3306/udp # P2P UDP
- 7300 # metrics
- 6060 # pprof
ports:
- "3306:3306"
- "3306:3306/udp"
command: [ "sh", "./op-node-entrypoint" ]
restart: always
volumes:
- .jwtsecret:/jwtsecret
stop_grace_period: 30s
environment:
- "OP_NODE_NETWORK=worldchain-sepolia"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${WORLDCHAIN_L1_ETHEREUM_SEPOLIA_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://worldchain-sepolia:8551"
- "OP_NODE_LOG_LEVEL=info"
- "OP_NODE_METRICS_ADDR=0.0.0.0"
- "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300"
#- "OP_NODE_P2P_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=3306"
- "OP_NODE_P2P_LISTEN_UDP_PORT=3306"
- "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545"
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
- "OP_NODE_VERIFIER_L1_CONFS=4"
#- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${WORLDCHAIN_SEPOLIA_L1_BATCH_SIZE:-20}"
#- "OP_NODE_L1_RPC_RATE_LIMIT=${WORLDCHAIN_SEPOLIA_L1_RATE_LIMIT:-30}"
- "OP_NODE_L1_RPC_KIND=${WORLDCHAIN_L1_ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${WORLDCHAIN_L1_ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${WORLDCHAIN_L1_ETHEREUM_SEPOLIA_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${WORLDCHAIN_L1_ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
networks:
- chains
volumes:
worldchain-sepolia-op-geth-pruned-pebble-path:

View File

@@ -0,0 +1,94 @@
services:
zora-mainnet:
build:
context: ./op
expose:
- 8545 # RPC / Websocket
- 19809 # P2P TCP (currently unused)
- 19809/udp # P2P UDP (currently unused)
- 6060 # metrics
ports:
- "19809:19809"
- "19809:19809/udp"
command: [ "./geth" ]
restart: always
stop_grace_period: 3m
volumes:
- zora-mainnet-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=zora-mainnet"
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=19809"
- "GETH_WS_PORT=8545"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.zora-stripprefix.stripprefix.prefixes=/zora-mainnet"
- "traefik.http.services.zora.loadbalancer.server.port=8545"
- "traefik.http.routers.zora.entrypoints=websecure"
- "traefik.http.routers.zora.tls.certresolver=myresolver"
- "traefik.http.routers.zora.rule=Host(`$DOMAIN`) && PathPrefix(`/zora-mainnet`)"
- "traefik.http.routers.zora.middlewares=zora-stripprefix, ipwhitelist"
networks:
- chains
zora-mainnet-node:
build:
context: ./op
expose:
- 8545 # RPC
- 3306 # P2P TCP
- 3306/udp # P2P UDP
- 7300 # metrics
- 6060 # pprof
ports:
- "3306:3306"
- "3306:3306/udp"
command: [ "sh", "./op-node-entrypoint" ]
restart: always
volumes:
- .jwtsecret:/jwtsecret
stop_grace_period: 30s
environment:
- "OP_NODE_NETWORK=zora-mainnet"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${ZORA_L1_ETHEREUM_MAINNET_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://zora-mainnet:8551"
- "OP_NODE_LOG_LEVEL=info"
- "OP_NODE_METRICS_ADDR=0.0.0.0"
- "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300"
#- "OP_NODE_P2P_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=3306"
- "OP_NODE_P2P_LISTEN_UDP_PORT=3306"
- "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545"
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
- "OP_NODE_VERIFIER_L1_CONFS=4"
#- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${ZORA_SEPOLIA_L1_BATCH_SIZE:-20}"
#- "OP_NODE_L1_RPC_RATE_LIMIT=${ZORA_SEPOLIA_L1_RATE_LIMIT:-30}"
- "OP_NODE_L1_RPC_KIND=${ZORA_L1_ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${ZORA_L1_ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${ZORA_L1_ETHEREUM_MAINNET_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${ZORA_L1_ETHEREUM_MAINNET_BEACON_ARCHIVER}"
networks:
- chains
volumes:
zora-mainnet-op-geth-pruned-pebble-path:

View File

@@ -0,0 +1,94 @@
services:
zora-sepolia:
build:
context: ./op
expose:
- 8545 # RPC / Websocket
- 19809 # P2P TCP (currently unused)
- 19809/udp # P2P UDP (currently unused)
- 6060 # metrics
ports:
- "19809:19809"
- "19809:19809/udp"
command: [ "./geth" ]
restart: always
stop_grace_period: 3m
volumes:
- zora-sepolia-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=zora-sepolia"
- "GETH_GCMODE=full"
- "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=19809"
- "GETH_WS_PORT=8545"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.zora-stripprefix.stripprefix.prefixes=/zora-sepolia"
- "traefik.http.services.zora.loadbalancer.server.port=8545"
- "traefik.http.routers.zora.entrypoints=websecure"
- "traefik.http.routers.zora.tls.certresolver=myresolver"
- "traefik.http.routers.zora.rule=Host(`$DOMAIN`) && PathPrefix(`/zora-sepolia`)"
- "traefik.http.routers.zora.middlewares=zora-stripprefix, ipwhitelist"
networks:
- chains
zora-sepolia-node:
build:
context: ./op
expose:
- 8545 # RPC
- 3306 # P2P TCP
- 3306/udp # P2P UDP
- 7300 # metrics
- 6060 # pprof
ports:
- "3306:3306"
- "3306:3306/udp"
command: [ "sh", "./op-node-entrypoint" ]
restart: always
volumes:
- .jwtsecret:/jwtsecret
stop_grace_period: 30s
environment:
- "OP_NODE_NETWORK=zora-sepolia"
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${ZORA_L1_ETHEREUM_SEPOLIA_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH_RAW=${JWTSECRET}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://zora-sepolia:8551"
- "OP_NODE_LOG_LEVEL=info"
- "OP_NODE_METRICS_ADDR=0.0.0.0"
- "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300"
#- "OP_NODE_P2P_STATIC=/ip4/35.230.102.175/tcp/9222/p2p/16Uiu2HAmSN33smB46ZtueBL2Hz1hsDy8tgSm1mqR38qAhwkX7ntd"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=3306"
- "OP_NODE_P2P_LISTEN_UDP_PORT=3306"
- "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545"
- "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log"
- "OP_NODE_VERIFIER_L1_CONFS=4"
#- "OP_NODE_L1_RPC_MAX_BATCH_SIZE=${ZORA_SEPOLIA_L1_BATCH_SIZE:-20}"
#- "OP_NODE_L1_RPC_RATE_LIMIT=${ZORA_SEPOLIA_L1_RATE_LIMIT:-30}"
- "OP_NODE_L1_RPC_KIND=${ZORA_L1_ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${ZORA_L1_ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${ZORA_L1_ETHEREUM_SEPOLIA_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${ZORA_L1_ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
networks:
- chains
volumes:
zora-sepolia-op-geth-pruned-pebble-path: