2022-02-07 09:54:20 +00:00
|
|
|
# Most of Erigon's parts - can run inside and outside of Erigon (as separated processes).
|
|
|
|
# For example: p2p sentry can work inside Erigon - or outside (even on another server), txpool also, JSON RPC also
|
|
|
|
#
|
|
|
|
# This file is just an example: how to run most of Erigon's services as separated processes.
|
|
|
|
|
2020-08-01 07:39:04 +00:00
|
|
|
version: '2.2'
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
2021-05-26 10:35:39 +00:00
|
|
|
erigon:
|
2022-01-26 15:26:33 +00:00
|
|
|
image: thorax/erigon:${TAG:-latest}
|
2020-08-01 07:39:04 +00:00
|
|
|
build: .
|
2022-01-26 15:26:33 +00:00
|
|
|
command: erigon ${ERIGON_FLAGS-} --datadir=/home/erigon/.local/share/erigon --private.api.addr=0.0.0.0:9090 --downloader.api.addr=downloader:9093 --metrics --metrics.addr=0.0.0.0 --metrics.port=6060 --pprof --pprof.addr=0.0.0.0 --pprof.port=6061
|
2020-08-01 07:39:04 +00:00
|
|
|
volumes:
|
2022-01-26 15:26:33 +00:00
|
|
|
# This is "datadir". It's ok to mount sub-dirs of "datadir" to different drives
|
2021-07-24 09:14:46 +00:00
|
|
|
- ${XDG_DATA_HOME:-~/.local/share}/erigon:/home/erigon/.local/share/erigon
|
2020-08-01 07:39:04 +00:00
|
|
|
ports:
|
2021-07-09 08:37:36 +00:00
|
|
|
- "30303:30303/tcp"
|
|
|
|
- "30303:30303/udp"
|
|
|
|
- "30304:30304/tcp"
|
|
|
|
- "30304:30304/udp"
|
|
|
|
restart: unless-stopped
|
2020-08-01 07:39:04 +00:00
|
|
|
|
|
|
|
prometheus:
|
2022-02-12 02:03:08 +00:00
|
|
|
image: prom/prometheus:v2.33.3
|
2021-07-19 13:40:09 +00:00
|
|
|
user: 1000:1000 # Uses erigon user from Dockerfile
|
2022-02-12 07:08:20 +00:00
|
|
|
command: --log.level=warn --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus --storage.tsdb.retention.time=150d --web.console.libraries=/usr/share/prometheus/console_libraries --web.console.templates=/usr/share/prometheus/consoles
|
2020-08-01 07:39:04 +00:00
|
|
|
ports:
|
2021-07-09 08:37:36 +00:00
|
|
|
- "9090:9090"
|
2020-08-01 07:39:04 +00:00
|
|
|
volumes:
|
2021-05-26 10:35:39 +00:00
|
|
|
- ${ERIGON_PROMETHEUS_CONFIG:-./cmd/prometheus/prometheus.yml}:/etc/prometheus/prometheus.yml
|
|
|
|
- ${XDG_DATA_HOME:-~/.local/share}/erigon-prometheus:/prometheus
|
2021-07-09 08:37:36 +00:00
|
|
|
restart: unless-stopped
|
2020-08-01 07:39:04 +00:00
|
|
|
|
|
|
|
grafana:
|
2022-02-18 03:29:50 +00:00
|
|
|
image: grafana/grafana:8.4.0
|
2021-07-19 13:40:09 +00:00
|
|
|
user: 1000:1000 # Uses erigon user from Dockerfile
|
2020-08-01 07:39:04 +00:00
|
|
|
ports:
|
2021-07-09 08:37:36 +00:00
|
|
|
- "3000:3000"
|
2020-08-01 07:39:04 +00:00
|
|
|
volumes:
|
2021-05-26 10:35:39 +00:00
|
|
|
- ${ERIGON_GRAFANA_CONFIG:-./cmd/prometheus/grafana.ini}:/etc/grafana/grafana.ini
|
2020-08-01 07:39:04 +00:00
|
|
|
- ./cmd/prometheus/datasources:/etc/grafana/provisioning/datasources
|
|
|
|
- ./cmd/prometheus/dashboards:/etc/grafana/provisioning/dashboards
|
2021-05-26 10:35:39 +00:00
|
|
|
- ${XDG_DATA_HOME:-~/.local/share}/erigon-grafana:/var/lib/grafana
|
2021-07-09 08:37:36 +00:00
|
|
|
restart: unless-stopped
|
2020-08-01 07:39:04 +00:00
|
|
|
|
2022-01-26 15:26:33 +00:00
|
|
|
rpcdaemon: # Service to server JSON-RCP API
|
|
|
|
image: thorax/erigon:${TAG:-latest}
|
|
|
|
command: rpcdaemon ${RPCDAEMON_FLAGS-} --datadir=/home/erigon/.local/share/erigon --private.api.addr=erigon:9090 --txpool.api.addr=erigon:9090 --http.addr=0.0.0.0 --http.vhosts=* --http.corsdomain=* --http.api=eth,debug,net --ws
|
2021-07-19 13:40:09 +00:00
|
|
|
pid: service:erigon # Use erigon's PID namespace. It's required to open Erigon's DB from another process (RPCDaemon local-mode)
|
2022-01-26 15:26:33 +00:00
|
|
|
volumes_from:
|
|
|
|
- erigon
|
2020-08-01 07:39:04 +00:00
|
|
|
ports:
|
2021-07-09 08:37:36 +00:00
|
|
|
- "8545:8545"
|
2022-01-25 16:44:35 +00:00
|
|
|
- "8550:8550"
|
2022-03-02 13:58:46 +00:00
|
|
|
- "8551:8551"
|
2021-07-09 08:37:36 +00:00
|
|
|
restart: unless-stopped
|
2020-08-01 07:39:04 +00:00
|
|
|
|
2022-02-07 09:54:20 +00:00
|
|
|
downloader: # Service to download/seed historical data (need only if you use --experimental.snapshot)
|
2022-01-26 15:26:33 +00:00
|
|
|
image: thorax/erigon:${TAG:-latest}
|
|
|
|
command: downloader ${DOWNLOADER_FLAGS-} --datadir=/home/erigon/.local/share/erigon --downloader.api.addr=0.0.0.0:9093
|
|
|
|
pid: service:erigon # Use erigon's PID namespace. It's required to open Erigon's DB from another process (RPCDaemon local-mode)
|
|
|
|
#cpus: 0.2 # No real-time computation here, so - limit it hard
|
|
|
|
volumes_from:
|
|
|
|
- erigon
|
|
|
|
ports:
|
|
|
|
- "9093:9093"
|
|
|
|
- "42069:42069"
|
|
|
|
restart: unless-stopped
|