180 lines
5.4 KiB
YAML
180 lines
5.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
|
|
|
|
|
|
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:/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"
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
volumes:
|
|
optimism-dtl:
|
|
optimism-geth:
|
|
optimism-op-geth:
|
|
erigon-optimism-bedrock:
|