Files
ethereum-rpc-docker/gnosis-mainnet-erigon3-archive-trace.yml
2025-03-18 07:18:19 +02:00

84 lines
2.9 KiB
YAML

services:
gnosis-erigon3-init:
image: alpine:latest
entrypoint: ["/bin/sh", "-c"]
command: rm /datadir/nodekey
volumes:
- "${GNOSIS_MAINNET_ERIGON3_ARCHIVE_TRACE_DATA:-gnosis-mainnet-erigon3-archive-trace}:/datadir"
init: true
gnosis-erigon3:
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0-rc2}
depends_on:
- gnosis-erigon3-init
user: root
volumes:
- "${GNOSIS_MAINNET_ERIGON3_ARCHIVE_TRACE_DATA:-gnosis-mainnet-erigon3-archive-trace}:/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
--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:
- "traefik.enable=true"
- "traefik.http.middlewares.gnosis-mainnet-erigon3-archive-trace-stripprefix.stripprefix.prefixes=/gnosis-erigon"
- "traefik.http.services.gnosis-mainnet-erigon3-archive-trace.loadbalancer.server.port=8545"
- "${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.entrypoints=websecure}"
- "${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.tls.certresolver=myresolver}"
- "${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-erigon`)}"
- "${NO_SSL:+traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.rule=PathPrefix(`/gnosis-erigon`)}"
- "traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.middlewares=gnosis-mainnet-erigon3-archive-trace-stripprefix, ipwhitelist"
networks:
- chains
volumes:
gnosis-mainnet-erigon3-archive-trace: