Files
ethereum-rpc-docker/optimism-archive.yml
2023-06-27 12:46:44 +02:00

205 lines
6.0 KiB
YAML

version: '3.1'
services:
optimism-dtl:
image: ethereumoptimism/data-transport-layer:${IMAGE_TAG__DTL:-latest}
restart: unless-stopped
user: root
entrypoint:
- /bin/sh
- -c
- "/scripts/dtl-start.sh"
env_file:
- ./optimism/env/dtl.env
- .env
volumes:
- optimism-dtl:/db
- ./optimism/scripts/:/scripts/
environment:
- "SYNC_SOURCE=l2"
- "DATA_TRANSPORT_LAYER__RPC_ENDPOINT=${OPTIMISM_L2_URL}"
networks:
- chains
optimism-l2geth:
image: ethereumoptimism/l2geth:${IMAGE_TAG__L2GETH:-latest}
restart: unless-stopped
stop_grace_period: 3m
user: root
entrypoint:
- /bin/sh
- -c
- "/scripts/l2geth-init.sh && /scripts/l2geth-start.sh"
env_file:
- ./optimism/env/l2geth.env
- .env
volumes:
- optimism-geth:/geth
- ./optimism/scripts/:/scripts/
expose:
- 8545 # http
- 8546 # ws
- 33289 # P2P
ports:
- "33289:33289"
- "33289:33289/udp"
environment:
- "NODE_TYPE=archive"
- "SYNC_SOURCE=l2"
- "WS_PORT=8546"
networks:
- chains
optimism-op-geth:
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.11.2-13ee9ab
restart: unless-stopped
stop_grace_period: 5m
expose:
- "9090"
- "8545"
- "8551"
command: >
--datadir="/datadir"
--http
--http.corsdomain="*"
--http.vhosts="*"
--http.addr=0.0.0.0
--http.port=8545
--http.api=web3,debug,eth,txpool,net,engine
--ws
--ws.addr=0.0.0.0
--ws.port=8545
--ws.origins="*"
--ws.api=debug,eth,txpool,net,engine,web3
--syncmode=full
--gcmode="archive"
--nodiscover
--maxpeers=0
--networkid=420
--authrpc.vhosts="*"
--authrpc.addr=0.0.0.0
--authrpc.port=8551
--authrpc.jwtsecret=/jwtsecret
--rollup.sequencerhttp="https://mainnet-sequencer.optimism.io"
--rollup.disabletxpoolgossip=true
--rollup.historicalrpc=http://optimism-l2geth:8545
volumes:
- optimism-op-geth:/datadir
- .jwtsecret:/jwtsecret
networks:
- chains
labels:
- "prometheus-scrape.enabled=true"
- "prometheus-scrape.port=6060"
- "prometheus-scrape.job_name=optimism"
- "prometheus-scrape.metrics_path=/debug/metrics/prometheus"
- "traefik.enable=true"
- "traefik.http.middlewares.optimism-archive-stripprefix.stripprefix.prefixes=/optimism-archive"
- "traefik.http.services.optimism-archive.loadbalancer.server.port=8545"
- "traefik.http.routers.optimism-archive.entrypoints=websecure"
- "traefik.http.routers.optimism-archive.tls.certresolver=myresolver"
- "traefik.http.routers.optimism-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/optimism-archive`)"
- "traefik.http.routers.optimism-archive.middlewares=optimism-archive-stripprefix, ipwhitelist"
optimism-op-erigon:
image: testinprod/op-erigon
restart: unless-stopped
stop_grace_period: 5m
expose:
- "9090"
- "8545"
- "8551"
command: >
--private.api.addr=localhost:9090
--http.addr=0.0.0.0
--http.port=8545
--http.corsdomain="*"
--http.vhosts="*"
--authrpc.addr=0.0.0.0
--authrpc.port=8551
--authrpc.vhosts="*"
--authrpc.jwtsecret=/jwtsecret
--rollup.sequencerhttp="https://mainnet-sequencer.optimism.io"
--rollup.historicalrpc="http://optimism-l2geth:8545"
--chain=optimism-mainnet
--ws
--nodiscover
volumes:
- erigon-optimism-bedrock:/root/.local/share/erigon
- .jwtsecret:/jwtsecret
networks:
- chains
labels:
- "prometheus-scrape.enabled=true"
- "prometheus-scrape.port=6060"
- "prometheus-scrape.job_name=optimism"
- "prometheus-scrape.metrics_path=/debug/metrics/prometheus"
- "traefik.enable=true"
- "traefik.http.middlewares.optimism-archive-stripprefix.stripprefix.prefixes=/optimism-erigon"
- "traefik.http.services.optimism-archive.loadbalancer.server.port=8545"
- "traefik.http.routers.optimism-archive.entrypoints=websecure"
- "traefik.http.routers.optimism-archive.tls.certresolver=myresolver"
- "traefik.http.routers.optimism-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/optimism-rigon`)"
- "traefik.http.routers.optimism-archive.middlewares=optimism-archive-stripprefix, ipwhitelist"
optimism-op-node:
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.1.0
restart: unless-stopped
stop_grace_period: 5m
environment:
- OPTIMISM_L1_URL=${OPTIMISM_L1_URL}
- OPTIMISM_L1_TYPE=${OPTIMISM_L1_TYPE:-basic}
command: >
op-node
--l1=$OPTIMISM_L1_URL
--l2=http://optimism-op-geth:8551
--network=mainnet
--rpc.addr=0.0.0.0
--rpc.port=9545
--l2.jwt-secret=/jwtsecret
--l1.trustrpc
--l1.rpckind=$OPTIMISM_L1_TYPE
--metrics.enabled
--metrics.addr=0.0.0.0
--metrics.port=7300
networks:
- chains
volumes:
- .jwtsecret:/jwtsecret
optimism-op-node-erigon:
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.1.0
restart: unless-stopped
stop_grace_period: 5m
environment:
- OPTIMISM_L1_URL=${OPTIMISM_L1_URL}
- OPTIMISM_L1_TYPE=${OPTIMISM_L1_TYPE:-basic}
command: >
op-node
--l1=$OPTIMISM_L1_URL
--l2=http://optimism-op-erigon:8551
--network=mainnet
--rpc.addr=0.0.0.0
--rpc.port=9545
--l2.jwt-secret=/jwtsecret
--l1.trustrpc
--l1.rpckind=$OPTIMISM_L1_TYPE
--metrics.enabled
--metrics.addr=0.0.0.0
--metrics.port=7300
networks:
- chains
volumes:
- .jwtsecret:/jwtsecret
volumes:
optimism-dtl:
optimism-geth:
optimism-op-geth:
erigon-optimism-bedrock: