This commit is contained in:
squidbear
2025-03-29 10:57:12 +01:00
parent 74db467697
commit 19d631fdc6
4 changed files with 252 additions and 34 deletions

View File

@@ -0,0 +1,109 @@
services:
blast-mainnet-archive:
image: blastio/blast-geth:v1.1.0-mainnet
expose:
- 8545
- 6060
ports:
- "10683:10683"
- "10683:10683/udp"
entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""]
restart: unless-stopped
stop_grace_period: 3m
volumes:
- blast-mainnet-op-geth-archive-leveldb-hash:/data
- .jwtsecret:/jwtsecret:ro
- ./blast-io/mainnet:/config
env_file:
- ./blast-io/mainnet/.env
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=blast-mainnet"
- "GETH_GCMODE=archive"
- "GETH_SYNCMODE=full"
- "GETH_STATE_SCHEME=hash"
- "GETH_DB_ENGINE=leveldb"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=10683"
- "GETH_WS_PORT=8545"
- "GETH_HTTP=true"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_HTTP_VHOSTS=*"
- "GETH_WS=true"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_WS_ORIGINS=*"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
- "GETH_ROLLUP_SEQUENCERHTTP=https://sequencer.blast.io"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.blast-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/blast-mainnet-archive"
- "traefik.http.services.blast-mainnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
- "traefik.http.routers.blast-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure"
- "traefik.http.routers.blast-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
- "traefik.http.routers.blast-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/blast-mainnet-archive`)"
- "traefik.http.routers.blast-mainnet-op-geth-archive-leveldb-hash.middlewares=blast-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
networks:
- chains
blast-mainnet-archive-node:
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.1.0-mainnet
expose:
- 8545
- 7300
- 6060
ports:
- "15683:15683"
- "15683:15683/udp"
entrypoint: [ "op-node" ]
restart: unless-stopped
volumes:
- .jwtsecret:/jwtsecret:ro
- ./blast-io/mainnet:/config
stop_grace_period: 30s
env_file:
- ./blast-io/mainnet/.env
environment:
- OP_NODE_ROLLUP_CONFIG=/config/rollup.json
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://blast-mainnet-archive: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_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=15683"
- "OP_NODE_P2P_LISTEN_UDP_PORT=15683"
- "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=0"
- "OP_NODE_STATIC_PEERS="
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}"
networks:
- chains
volumes:
blast-mainnet-op-geth-archive-leveldb-hash:

View File

@@ -9,13 +9,13 @@ services:
- 8545 - 8545
- 6060 - 6060
ports: ports:
- "10555:10555" - "10769:10769"
- "10555:10555/udp" - "10769:10769/udp"
entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""] entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""]
restart: unless-stopped restart: unless-stopped
stop_grace_period: 3m stop_grace_period: 3m
volumes: volumes:
- blast-mainnet-op-geth-pruned-pebble-hash:/data - blast-mainnet-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret:ro - .jwtsecret:/jwtsecret:ro
- ./blast-io/mainnet:/config - ./blast-io/mainnet:/config
env_file: env_file:
@@ -24,11 +24,11 @@ services:
- "GETH_DATADIR=/data" - "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=blast-mainnet" - "GETH_OP_NETWORK=blast-mainnet"
- "GETH_GCMODE=full" - "GETH_GCMODE=full"
- "GETH_SYNCMODE=full" - "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=hash" - "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble" - "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}" - "GETH_NAT=extip:${IP}"
- "GETH_PORT=10555" - "GETH_PORT=10769"
- "GETH_WS_PORT=8545" - "GETH_WS_PORT=8545"
- "GETH_HTTP=true" - "GETH_HTTP=true"
- "GETH_HTTP_ADDR=0.0.0.0" - "GETH_HTTP_ADDR=0.0.0.0"
@@ -46,12 +46,12 @@ services:
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.middlewares.blast-mainnet-op-geth-pruned-pebble-hash-stripprefix.stripprefix.prefixes=/blast-mainnet" - "traefik.http.middlewares.blast-mainnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/blast-mainnet"
- "traefik.http.services.blast-mainnet-op-geth-pruned-pebble-hash.loadbalancer.server.port=8545" - "traefik.http.services.blast-mainnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
- "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-hash.entrypoints=websecure" - "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-path.entrypoints=websecure"
- "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-hash.tls.certresolver=myresolver" - "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
- "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/blast-mainnet`)" - "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/blast-mainnet`)"
- "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-hash.middlewares=blast-mainnet-op-geth-pruned-pebble-hash-stripprefix, ipwhitelist" - "traefik.http.routers.blast-mainnet-op-geth-pruned-pebble-path.middlewares=blast-mainnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
networks: networks:
- chains - chains
@@ -65,8 +65,8 @@ services:
- 7300 - 7300
- 6060 - 6060
ports: ports:
- "15555:15555" - "15769:15769"
- "15555:15555/udp" - "15769:15769/udp"
entrypoint: [ "op-node" ] entrypoint: [ "op-node" ]
restart: unless-stopped restart: unless-stopped
volumes: volumes:
@@ -86,8 +86,8 @@ services:
- "OP_NODE_METRICS_ENABLED=true" - "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300" - "OP_NODE_METRICS_PORT=7300"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0" - "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=15555" - "OP_NODE_P2P_LISTEN_TCP_PORT=15769"
- "OP_NODE_P2P_LISTEN_UDP_PORT=15555" - "OP_NODE_P2P_LISTEN_UDP_PORT=15769"
- "OP_NODE_RPC_ADDR=0.0.0.0" - "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}" - "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545" - "OP_NODE_RPC_PORT=8545"
@@ -106,4 +106,4 @@ services:
- chains - chains
volumes: volumes:
blast-mainnet-op-geth-pruned-pebble-hash: blast-mainnet-op-geth-pruned-pebble-path:

View File

@@ -0,0 +1,109 @@
services:
blast-sepolia-archive:
image: blastio/blast-geth:sepolia-v1.2.3
expose:
- 8545
- 6060
ports:
- "10143:10143"
- "10143:10143/udp"
entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""]
restart: unless-stopped
stop_grace_period: 3m
volumes:
- blast-sepolia-op-geth-archive-leveldb-hash:/data
- .jwtsecret:/jwtsecret:ro
- ./blast-io/sepolia:/config
env_file:
- ./blast-io/sepolia/.env
environment:
- "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=blast-sepolia"
- "GETH_GCMODE=archive"
- "GETH_SYNCMODE=full"
- "GETH_STATE_SCHEME=hash"
- "GETH_DB_ENGINE=leveldb"
- "GETH_NAT=extip:${IP}"
- "GETH_PORT=10143"
- "GETH_WS_PORT=8545"
- "GETH_HTTP=true"
- "GETH_HTTP_ADDR=0.0.0.0"
- "GETH_HTTP_VHOSTS=*"
- "GETH_WS=true"
- "GETH_WS_ADDR=0.0.0.0"
- "GETH_WS_ORIGINS=*"
- "GETH_HTTP_API=eth,net,debug,admin,web3"
- "GETH_AUTHRPC_JWTSECRET=/jwtsecret"
- "GETH_AUTHRPC_ADDR=0.0.0.0"
- "GETH_AUTHRPC_VHOSTS=*"
- "GETH_ROLLUP_SEQUENCERHTTP=https://sequencer.s2.testblast.io"
- "GETH_OVERRIDE_ECOTONE_TIME=1713999600"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.blast-sepolia-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/blast-sepolia-archive"
- "traefik.http.services.blast-sepolia-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545"
- "traefik.http.routers.blast-sepolia-op-geth-archive-leveldb-hash.entrypoints=websecure"
- "traefik.http.routers.blast-sepolia-op-geth-archive-leveldb-hash.tls.certresolver=myresolver"
- "traefik.http.routers.blast-sepolia-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/blast-sepolia-archive`)"
- "traefik.http.routers.blast-sepolia-op-geth-archive-leveldb-hash.middlewares=blast-sepolia-op-geth-archive-leveldb-hash-stripprefix, ipwhitelist"
networks:
- chains
blast-sepolia-archive-node:
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:sepolia-v1.2.3
expose:
- 8545
- 7300
- 6060
ports:
- "15143:15143"
- "15143:15143/udp"
entrypoint: [ "op-node" ]
restart: unless-stopped
volumes:
- .jwtsecret:/jwtsecret:ro
- ./blast-io/sepolia:/config
stop_grace_period: 30s
env_file:
- ./blast-io/sepolia/.env
environment:
- OP_NODE_ROLLUP_CONFIG=/config/rollup.json
- "OP_NODE_SYNCMODE=execution-layer"
- "OP_NODE_L1_ETH_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}"
- "OP_NODE_L2_ENGINE_AUTH=/jwtsecret"
- "OP_NODE_L2_ENGINE_RPC=http://blast-sepolia-archive: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_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=15143"
- "OP_NODE_P2P_LISTEN_UDP_PORT=15143"
- "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=0"
- "OP_NODE_STATIC_PEERS="
- "OP_NODE_L1_RPC_KIND=${ETHEREUM_SEPOLIA_EXECUTION_KIND:-basic}"
- "OP_NODE_L1_TRUST_RPC=${ETHEREUM_SEPOLIA_EXECUTION_TRUST:-false}"
- "OP_NODE_L1_BEACON=${ETHEREUM_SEPOLIA_BEACON_REST}"
- "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_SEPOLIA_BEACON_ARCHIVER}"
- "OP_NODE_OVERRIDE_ECOTONE_TIME=1713999600"
- "OP_NODE_OVERRIDE_PECTRABLOBSCHEDULE=1742486400"
networks:
- chains
volumes:
blast-sepolia-op-geth-archive-leveldb-hash:

View File

@@ -9,13 +9,13 @@ services:
- 8545 - 8545
- 6060 - 6060
ports: ports:
- "10591:10591" - "10351:10351"
- "10591:10591/udp" - "10351:10351/udp"
entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""] entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""]
restart: unless-stopped restart: unless-stopped
stop_grace_period: 3m stop_grace_period: 3m
volumes: volumes:
- blast-sepolia-op-geth-pruned-pebble-hash:/data - blast-sepolia-op-geth-pruned-pebble-path:/data
- .jwtsecret:/jwtsecret:ro - .jwtsecret:/jwtsecret:ro
- ./blast-io/sepolia:/config - ./blast-io/sepolia:/config
env_file: env_file:
@@ -24,11 +24,11 @@ services:
- "GETH_DATADIR=/data" - "GETH_DATADIR=/data"
- "GETH_OP_NETWORK=blast-sepolia" - "GETH_OP_NETWORK=blast-sepolia"
- "GETH_GCMODE=full" - "GETH_GCMODE=full"
- "GETH_SYNCMODE=full" - "GETH_SYNCMODE=snap"
- "GETH_STATE_SCHEME=hash" - "GETH_STATE_SCHEME=path"
- "GETH_DB_ENGINE=pebble" - "GETH_DB_ENGINE=pebble"
- "GETH_NAT=extip:${IP}" - "GETH_NAT=extip:${IP}"
- "GETH_PORT=10591" - "GETH_PORT=10351"
- "GETH_WS_PORT=8545" - "GETH_WS_PORT=8545"
- "GETH_HTTP=true" - "GETH_HTTP=true"
- "GETH_HTTP_ADDR=0.0.0.0" - "GETH_HTTP_ADDR=0.0.0.0"
@@ -46,12 +46,12 @@ services:
- "GETH_OVERRIDE_ECOTONE_TIME=1713999600" - "GETH_OVERRIDE_ECOTONE_TIME=1713999600"
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.middlewares.blast-sepolia-op-geth-pruned-pebble-hash-stripprefix.stripprefix.prefixes=/blast-sepolia" - "traefik.http.middlewares.blast-sepolia-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/blast-sepolia"
- "traefik.http.services.blast-sepolia-op-geth-pruned-pebble-hash.loadbalancer.server.port=8545" - "traefik.http.services.blast-sepolia-op-geth-pruned-pebble-path.loadbalancer.server.port=8545"
- "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-hash.entrypoints=websecure" - "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-path.entrypoints=websecure"
- "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-hash.tls.certresolver=myresolver" - "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-path.tls.certresolver=myresolver"
- "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/blast-sepolia`)" - "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/blast-sepolia`)"
- "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-hash.middlewares=blast-sepolia-op-geth-pruned-pebble-hash-stripprefix, ipwhitelist" - "traefik.http.routers.blast-sepolia-op-geth-pruned-pebble-path.middlewares=blast-sepolia-op-geth-pruned-pebble-path-stripprefix, ipwhitelist"
networks: networks:
- chains - chains
@@ -65,8 +65,8 @@ services:
- 7300 - 7300
- 6060 - 6060
ports: ports:
- "15591:15591" - "15351:15351"
- "15591:15591/udp" - "15351:15351/udp"
entrypoint: [ "op-node" ] entrypoint: [ "op-node" ]
restart: unless-stopped restart: unless-stopped
volumes: volumes:
@@ -86,8 +86,8 @@ services:
- "OP_NODE_METRICS_ENABLED=true" - "OP_NODE_METRICS_ENABLED=true"
- "OP_NODE_METRICS_PORT=7300" - "OP_NODE_METRICS_PORT=7300"
- "OP_NODE_P2P_LISTEN_IP=0.0.0.0" - "OP_NODE_P2P_LISTEN_IP=0.0.0.0"
- "OP_NODE_P2P_LISTEN_TCP_PORT=15591" - "OP_NODE_P2P_LISTEN_TCP_PORT=15351"
- "OP_NODE_P2P_LISTEN_UDP_PORT=15591" - "OP_NODE_P2P_LISTEN_UDP_PORT=15351"
- "OP_NODE_RPC_ADDR=0.0.0.0" - "OP_NODE_RPC_ADDR=0.0.0.0"
- "OP_NODE_P2P_ADVERTISE_IP=${IP}" - "OP_NODE_P2P_ADVERTISE_IP=${IP}"
- "OP_NODE_RPC_PORT=8545" - "OP_NODE_RPC_PORT=8545"
@@ -106,4 +106,4 @@ services:
- chains - chains
volumes: volumes:
blast-sepolia-op-geth-pruned-pebble-hash: blast-sepolia-op-geth-pruned-pebble-path: