diff --git a/bob-mainnet-op-geth-archive-pebble-hash.yml b/bob-mainnet-op-geth-archive-pebble-hash.yml new file mode 120000 index 00000000..7ceef296 --- /dev/null +++ b/bob-mainnet-op-geth-archive-pebble-hash.yml @@ -0,0 +1 @@ +op/geth/bob-mainnet-op-geth-archive-pebble-hash.yml \ No newline at end of file diff --git a/op/geth/bob-mainnet-op-geth-archive-pebble-hash.yml b/op/geth/bob-mainnet-op-geth-archive-pebble-hash.yml new file mode 100644 index 00000000..99863d96 --- /dev/null +++ b/op/geth/bob-mainnet-op-geth-archive-pebble-hash.yml @@ -0,0 +1,108 @@ + + +services: + bob-mainnet-archive: + + image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101503.1 + + expose: + - 8545 + - 6060 + ports: + - "10223:10223" + - "10223:10223/udp" + + entrypoint: ["/bin/sh", "-c", "exec /usr/local/bin/geth \"$@\""] + restart: unless-stopped + stop_grace_period: 3m + volumes: + - bob-mainnet-op-geth-archive-pebble-hash:/data + - .jwtsecret:/jwtsecret:ro + + + environment: + - "GETH_DATADIR=/data" + - "GETH_OP_NETWORK=bob-mainnet" + - "GETH_GCMODE=archive" + - "GETH_SYNCMODE=full" + - "GETH_STATE_SCHEME=hash" + - "GETH_DB_ENGINE=pebble" + - "GETH_NAT=extip:${IP}" + - "GETH_PORT=10223" + - "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=*" + + + + + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.bob-mainnet-op-geth-archive-pebble-hash-stripprefix.stripprefix.prefixes=/bob-mainnet-archive" + - "traefik.http.services.bob-mainnet-op-geth-archive-pebble-hash.loadbalancer.server.port=8545" + - "traefik.http.routers.bob-mainnet-op-geth-archive-pebble-hash.entrypoints=websecure" + - "traefik.http.routers.bob-mainnet-op-geth-archive-pebble-hash.tls.certresolver=myresolver" + - "traefik.http.routers.bob-mainnet-op-geth-archive-pebble-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/bob-mainnet-archive`)" + - "traefik.http.routers.bob-mainnet-op-geth-archive-pebble-hash.middlewares=bob-mainnet-op-geth-archive-pebble-hash-stripprefix, ipwhitelist" + networks: + - chains + + + bob-mainnet-archive-node: + + image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.12.2 + + expose: + - 8545 + - 7300 + - 6060 + ports: + - "15223:15223" + - "15223:15223/udp" + entrypoint: [ "op-node" ] + restart: unless-stopped + volumes: + - .jwtsecret:/jwtsecret:ro + + stop_grace_period: 30s + + environment: + - "OP_NODE_NETWORK=bob-mainnet" + - "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://bob-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=15223" + - "OP_NODE_P2P_LISTEN_UDP_PORT=15223" + - "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: + bob-mainnet-op-geth-archive-pebble-hash: \ No newline at end of file