version: '3.1' services: erigon-sepolia: image: erigontech/erigon:${ERIGON2_VERSION:-v2.61.1} user: root expose: - "31337" - "9090" - "8545" - "8551" ports: - "31337:31337" - "31337:31337/udp" volumes: - erigon-sepolia:/root/.local/share/erigon - /slowdisk:/slowdisk - .jwtsecret:/jwtsecret networks: - chains command: > --chain sepolia --port=31337 --metrics --metrics.addr=0.0.0.0 --metrics.port=6060 --private.api.addr=0.0.0.0:9090 --torrent.upload.rate="1250mb" --torrent.download.rate="1250mb" --nat=stun --pprof --pprof.addr=0.0.0.0 --pprof.port=6061 --authrpc.addr=0.0.0.0 --authrpc.vhosts=* --authrpc.jwtsecret=/jwtsecret --http.addr=0.0.0.0 --http.vhosts=* --http.corsdomain=* --http.api=eth,erigon,web3,net,debug,trace,txpool --rpc.returndata.limit=1100000 --rpc.gascap=5000000000 --ws.port=8545 --ws restart: unless-stopped 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-sepolia-stripprefix.stripprefix.prefixes=/sepolia-erigon" - "traefik.http.services.erigon-sepolia.loadbalancer.server.port=8545" - "traefik.http.routers.erigon-sepolia.entrypoints=websecure" - "traefik.http.routers.erigon-sepolia.service=erigon-sepolia" - "traefik.http.routers.erigon-sepolia.tls.certresolver=myresolver" - "traefik.http.routers.erigon-sepolia.rule=Host(`$DOMAIN`) && PathPrefix(`/sepolia-erigon`)" - "traefik.http.routers.erigon-sepolia.middlewares=erigon-sepolia-stripprefix, ipwhitelist" - "traefik.http.services.erigon-sepolia-beacon.loadbalancer.server.port=5555" - "traefik.http.routers.erigon-sepolia-beacon.entrypoints=websecure" - "traefik.http.routers.erigon-sepolia-beacon.service=erigon-sepolia-beacon" - "traefik.http.routers.erigon-sepolia-beacon.tls.certresolver=myresolver" - "traefik.http.routers.erigon-sepolia-beacon.rule=Host(`$DOMAIN`) && PathPrefix(`/sepolia-erigon/eth`)" - "traefik.http.routers.erigon-sepolia-beacon.middlewares=erigon-sepolia-stripprefix, ipwhitelist" prysm-erigon-sepolia: image: prysmaticlabs/prysm-beacon-chain:v5.3.0 ports: #- "127.0.0.1:3500:3500" - "13000:13000" - "12000:12000/udp" command: [ "--datadir=/data", "--sepolia", "--jwt-secret=/jwtsecret", "--rpc-host=0.0.0.0", "--grpc-gateway-host=0.0.0.0", "--monitoring-host=0.0.0.0", "--checkpoint-sync-url=https://beaconstate-sepolia.chainsafe.io", "--execution-endpoint=http://erigon-sepolia:8551", "--accept-terms-of-use" ] networks: - chains volumes: - "prysm-erigon-sepolia:/data" - ".jwtsecret:/jwtsecret" restart: unless-stopped stop_grace_period: 1m labels: - "traefik.enable=true" - "traefik.http.middlewares.prysm-erigon-sepolia-stripprefix.stripprefix.prefixes=/prysm-erigon-sepolia" - "traefik.http.services.prysm-erigon-sepolia.loadbalancer.server.port=3500" - "traefik.http.routers.prysm-erigon-sepolia.entrypoints=websecure" - "traefik.http.routers.prysm-erigon-sepolia.tls.certresolver=myresolver" - "traefik.http.routers.prysm-erigon-sepolia.rule=Host(`$DOMAIN`) && PathPrefix(`/prysm-erigon-sepolia`)" - "traefik.http.routers.prysm-erigon-sepolia.middlewares=prysm-erigon-sepolia-stripprefix, ipwhitelist" volumes: erigon-sepolia: prysm-erigon-sepolia: