services: erigon-gnosis-init: image: alpine:latest entrypoint: ["/bin/sh", "-c"] command: rm /datadir/nodekey volumes: - "gnosis-erigon:/datadir" init: true erigon-gnosis: image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-beta1} depends_on: - erigon-gnosis-init user: root volumes: - "gnosis-erigon:/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 --prune.mode=archive --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 --nat:extip:${IP} stop_grace_period: 1m environment: - "IP=${IP}" 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 volumes: gnosis-erigon: