Files
ethereum-rpc-docker/optimism-archive.yml
2023-06-25 21:54:35 +02:00

139 lines
4.4 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
# op-geth:
# image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.11.2-13ee9ab
# restart: unless-stopped
# stop_grace_period: 5m
# entrypoint: /scripts/op-geth-start.sh
# env_file:
# - ./envs/${NETWORK_NAME}/op-geth.env
# - .env
# environment:
# - "BEDROCK_SEQUENCER_HTTP=https://mainnet-sequencer.optimism.io"
# - "BEDROCK_DATADIR=/geth"
# volumes:
# - ./optimism/scripts/:/scripts
# - shared:/shared
# - op_geth:/geth
# 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"
op-node:
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.0.0
restart: unless-stopped
stop_grace_period: 5m
entrypoint: /scripts/op-node-start.sh
env_file:
- .env
volumes:
- ./optimism/scripts/:/scripts
- .jwtsecret:/jwtsecret
op-erigon:
image: testinprod/op-erigon
restart: unless-stopped
stop_grace_period: 5m
command: >
--datadir=$DATA_DIR
--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:/home/erigon/.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-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"
volumes:
optimism-dtl:
optimism-geth: