98 lines
4.0 KiB
YAML
98 lines
4.0 KiB
YAML
version: '3.1'
|
|
|
|
services:
|
|
|
|
erigon-gnosis:
|
|
image: thorax/erigon:v2.54.0
|
|
user: root
|
|
volumes:
|
|
- "gnosis-archive_data:/datadir"
|
|
- .jwtsecret:/jwtsecret
|
|
expose:
|
|
- "20947"
|
|
- "9090"
|
|
- "8545"
|
|
- "8551"
|
|
ports:
|
|
- "20947:20947"
|
|
- "20947:20947/udp"
|
|
- "28806:28806"
|
|
- "28806:28806/udp"
|
|
- "16393:16393"
|
|
- "16393:16393/udp"
|
|
- "17938:17938"
|
|
- "17938:17938/udp"
|
|
restart: unless-stopped
|
|
command: --chain=gnosis --nat=stun --authrpc.addr=0.0.0.0 --authrpc.vhosts=* --authrpc.jwtsecret=/jwtsecret --http --http.addr=0.0.0.0 --http.port=8545 --http.compression --http.vhosts='*' --http.corsdomain='*' --http.api=eth,debug,net,trace,web3,erigon --ws --ws.compression --rpc.gascap=300000000 --metrics --metrics.addr=0.0.0.0 --metrics.port=6060 --bodies.cache=5G --rpc.batch.limit=200000 --batchSize=2048MB --port=20947 --datadir=/datadir --ethash.dagdir=/datadir/ethash --rpc.returndata.limit=1000000 --p2p.protocol=66 --p2p.protocol 67 --p2p.protocol 68 --p2p.allowed-ports 28806 --p2p.allowed-ports 16393 --p2p.allowed-ports 17938
|
|
stop_grace_period: 1m
|
|
labels:
|
|
- "prometheus-scrape.enabled=true"
|
|
- "prometheus-scrape.port=6060"
|
|
- "prometheus-scrape.job_name=erigon"
|
|
- "prometheus-scrape.metrics_path=/debug/metrics/prometheus"
|
|
- "traefik.enable=true"
|
|
- "traefik.http.middlewares.erigon-gnosis-stripprefix.stripprefix.prefixes=/gnosis-archive"
|
|
- "traefik.http.services.erigon-gnosis.loadbalancer.server.port=8545"
|
|
- "traefik.http.routers.erigon-gnosis.entrypoints=websecure"
|
|
- "traefik.http.routers.erigon-gnosis.tls.certresolver=myresolver"
|
|
- "traefik.http.routers.erigon-gnosis.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-archive`)"
|
|
- "traefik.http.routers.erigon-gnosis.middlewares=erigon-gnosis-stripprefix, ipwhitelist"
|
|
networks:
|
|
- chains
|
|
logging:
|
|
options:
|
|
max-file: '1'
|
|
compress: 'false'
|
|
driver: local
|
|
|
|
|
|
nimbus-gnosis:
|
|
build:
|
|
context: ./gnosis/nimbus
|
|
restart: unless-stopped
|
|
stop_grace_period: 1m
|
|
user: root
|
|
volumes:
|
|
- nimbus-gnosis:/data
|
|
- .jwtsecret:/jwt:ro
|
|
environment:
|
|
CHECKPOINT_SYNC_URL: "https://checkpoint.gnosischain.com/"
|
|
command: |
|
|
--data-dir=/data
|
|
--web3-url=http://erigon-gnosis:8551
|
|
--jwt-secret=/jwt
|
|
--light-client-data-serve=true
|
|
--light-client-data-import-mode=full
|
|
--tcp-port=20419
|
|
--udp-port=20419
|
|
--rest
|
|
--rest-address=0.0.0.0
|
|
--network=gnosis
|
|
--history=prune
|
|
networks:
|
|
- chains
|
|
ports:
|
|
- 20419:20419/tcp # p2p
|
|
- 20419:20419/udp # p2p
|
|
expose:
|
|
- 8008 # metrics
|
|
- 4500 # http
|
|
- 20419 # p2p
|
|
labels:
|
|
- "prometheus-scrape.enabled=true"
|
|
- "prometheus-scrape.port=8008"
|
|
- "prometheus-scrape.job_name=nimbus-gnosis"
|
|
- "prometheus-scrape.metrics_path=/metrics"
|
|
- "traefik.enable=true"
|
|
- "traefik.http.middlewares.nimbus-gnosis-stripprefix.stripprefix.prefixes=/nimbus-gnosis"
|
|
- "traefik.http.services.nimbus-gnosis.loadbalancer.server.port=4500"
|
|
- "traefik.http.routers.nimbus-gnosis.entrypoints=websecure"
|
|
- "traefik.http.routers.nimbus-gnosis.tls.certresolver=myresolver"
|
|
- "traefik.http.routers.nimbus-gnosis.rule=Host(`$DOMAIN`) && PathPrefix(`/nimbus-gnosis`)"
|
|
- "traefik.http.routers.nimbus-gnosis.middlewares=nimbus-gnosis-stripprefix, ipwhitelist"
|
|
|
|
|
|
volumes:
|
|
gnosis-archive_data:
|
|
nimbus-gnosis:
|