version: "3.4"
services:
l2geth:
image: ethereumoptimism/l2geth:${IMAGE_TAG__L2GETH:-latest}
restart: on-failure
stop_grace_period: 5m
entrypoint:
- /bin/sh
- -c
- "/scripts/init-l2geth.sh && /scripts/start-l2geth.sh"
env_file:
- ./envs/common/l2geth.env
- .env
volumes:
- geth:/geth
- ./scripts/:/scripts/
ports:
- ${PORT__L2GETH_HTTP:-9991}:8545
- ${PORT__L2GETH_WS:-9992}:8546
healthcheck:
image: ethereumoptimism/replica-healthcheck:${IMAGE_TAG__HEALTHCHECK:-latest}
restart: unless-stopped
env_file:
- ./envs/common/healthcheck.env
- .env
ports:
- ${PORT__HEALTHCHECK_METRICS:-7300}:7300
op-geth:
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101503.2
restart: unless-stopped
stop_grace_period: 5m
entrypoint: /scripts/start-op-geth.sh
env_file:
- ./envs/${NETWORK_NAME}/op-geth.env
- .env
volumes:
- ./envs/${NETWORK_NAME}/config:/chainconfig
- ./scripts/:/scripts
- shared:/shared
- op_geth:/geth
- ./.upgrade-pectra:/upgrade-pectra
ports:
- ${PORT__OP_GETH_HTTP:-9993}:8545
- ${PORT__OP_GETH_WS:-9994}:8546
- ${PORT__OP_GETH_P2P:-39393}:${PORT__OP_GETH_P2P:-39393}/udp
- ${PORT__OP_GETH_P2P:-39393}:${PORT__OP_GETH_P2P:-39393}/tcp
extra_hosts:
- "host.docker.internal:host-gateway"
op-node:
image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.13.0
restart: unless-stopped
stop_grace_period: 5m
entrypoint: /scripts/start-op-node.sh
env_file:
- ./envs/${NETWORK_NAME}/op-node.env
- .env
volumes:
- ./envs/${NETWORK_NAME}/config:/chainconfig
- ./scripts/:/scripts
- shared:/shared
- ./.upgrade-pectra:/upgrade-pectra
ports:
- ${PORT__OP_NODE_P2P:-9003}:9003/udp
- ${PORT__OP_NODE_P2P:-9003}:9003/tcp
- ${PORT__OP_NODE_HTTP:-9545}:9545
extra_hosts:
- "host.docker.internal:host-gateway"
bedrock-init:
build:
context: ./docker/dockerfiles
dockerfile: Dockerfile.bedrock-init
entrypoint: /scripts/init-bedrock.sh
env_file:
- ./envs/${NETWORK_NAME}/op-geth.env
- .env
volumes:
- ./scripts/:/scripts
- shared:/shared
- op_geth:/geth
- geth:/legacy-geth
- torrent_downloads:/downloads
- ./.upgrade-pectra:/upgrade-pectra
prometheus:
image: prom/prometheus:${IMAGE_TAG__PROMETHEUS:-latest}
restart: unless-stopped
env_file:
- .env
volumes:
- ./docker/prometheus:/etc/prometheus
- prometheus_data:/prometheus
ports:
- ${PORT__PROMETHEUS:-9090}:9090
grafana:
image: grafana/grafana:${IMAGE_TAG__GRAFANA:-9.3.0}
restart: unless-stopped
env_file:
- ./envs/common/grafana.env
volumes:
- ./docker/grafana/provisioning/:/etc/grafana/provisioning/:ro
- ./docker/grafana/dashboards/simple_node_dashboard.json:/var/lib/grafana/dashboards/simple_node_dashboard.json
- grafana_data:/var/lib/grafana
ports:
- ${PORT__GRAFANA:-3000}:3000
influxdb:
image: influxdb:${IMAGE_TAG__INFLUXDB:-1.8}
restart: unless-stopped
env_file:
- ./envs/common/influxdb.env
volumes:
- ./docker/influxdb/influx_init.iql:/docker-entrypoint-initdb.d/influx_init.iql
- influxdb_data:/var/lib/influxdb
ports:
- ${PORT__INFLUXDB:-8086}:8086
volumes:
geth:
prometheus_data:
grafana_data:
influxdb_data:
shared:
op_geth:
torrent_downloads: