Files
ethereum-rpc-docker/firehose.yml
2023-09-02 07:23:28 +02:00

157 lines
6.3 KiB
YAML

version: '3.1'
services:
erigon-mainnet:
image: thorax/erigon:v2.48.1
expose:
- "16630"
- "9090"
- "8545"
- "8551"
ports:
- "16630:16630"
- "16630:16630/udp"
volumes:
- erigon-mainnet:/home/erigon/.local/share/erigon
- .jwtsecret:/jwtsecret
networks:
- chains
command: >
--chain mainnet
--port=16630
--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"
--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=1000000
--rpc.gascap=5000000000
--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-mainnet-stripprefix.stripprefix.prefixes=/erigon"
- "traefik.http.services.erigon-mainnet.loadbalancer.server.port=8545"
- "traefik.http.routers.erigon-mainnet.entrypoints=websecure"
- "traefik.http.routers.erigon-mainnet.tls.certresolver=myresolver"
- "traefik.http.routers.erigon-mainnet.rule=Host(`$DOMAIN`) && PathPrefix(`/erigon`)"
- "traefik.http.routers.erigon-mainnet.middlewares=erigon-mainnet-stripprefix, ipwhitelist"
fireeth-mainnet:
build:
context: ./firehose-mainnet/
command: -c /etc/firehose/config.yml start
environment:
- "ETHEREUM_ARCHIVE_RPC=${FIREHOSE_ETHEREUM_ARCHIVE_RPC:-https://rpc-fi-1.stakesquid.eu/erigon}"
- "S3_BLOCKS_STORE_URL=${FIREHOSE_S3_BLOCKS_STORE_URL:-s3://162.55.135.148:8333/eth-blocks?insecure=true}"
expose:
- 8545 # geth rpc
- 8551 # consensus client
- 13042 # firehose grpc
ports:
- "24465:24465"
- "24465:24465/udp"
- "13042:13042"
labels:
- "traefik.enable=true"
- "traefik.http.services.firehose-mainnet.loadbalancer.server.scheme=h2c"
- "traefik.http.services.firehose-mainnet.loadbalancer.server.port=13042"
- "traefik.http.routers.firehose-mainnet.entrypoints=grpc"
#- "traefik.http.routers.firehose-mainnet.tls.certresolver=myresolver"
- "traefik.http.routers.firehose-mainnet.rule=Host(`firehose-mainnet.$DOMAIN`)"
- "traefik.http.routers.firehose-mainnet.middlewares=ipwhitelist"
networks:
- chains
volumes:
- "./firehose-mainnet/config.yml:/etc/firehose/config.yml"
- "geth-mainnet_data:/var/lib/geth"
- "firehose-mainnet_data:/var/lib/firehose"
- ".jwtsecret:/jwtsecret"
restart: unless-stopped
stop_grace_period: 1m
lighthouse-erigon-mainnet:
image: sigp/lighthouse:latest-modern
ports:
- "18719:18719"
- "18719:18719/udp"
volumes:
- .jwtsecret:/jwtsecret
- lighthouse-erigon-mainnet_data:/root/.lighthouse
command: >
lighthouse beacon_node
--eth1-endpoints http://erigon-mainnet:8545
--execution-endpoint http://erigon-mainnet:8551
--execution-jwt /jwtsecret
--checkpoint-sync-url https://sync-mainnet.beaconcha.in
--http
--http-address 0.0.0.0
--port 18719
restart: unless-stopped
stop_grace_period: 1m
networks:
- chains
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.lighthouse-erigon-mainnet-stripprefix.stripprefix.prefixes=/lighthouse-erigon-mainnet"
- "traefik.http.services.lighthouse-erigon-mainnet.loadbalancer.server.port=5052"
- "traefik.http.routers.lighthouse-erigon-mainnet.entrypoints=websecure"
- "traefik.http.routers.lighthouse-erigon-mainnet.tls.certresolver=myresolver"
- "traefik.http.routers.lighthouse-erigon-mainnet.rule=Host(`$DOMAIN`) && PathPrefix(`/lighthouse-erigon-mainnet`)"
- "traefik.http.routers.lighthouse-erigon-mainnet.middlewares=lighthouse-erigon-mainnet-stripprefix, ipwhitelist"
lighthouse-fireeth-mainnet:
image: sigp/lighthouse:latest-modern
ports:
- "55031:55031"
- "55031:55031/udp"
volumes:
- .jwtsecret:/jwtsecret
- lighthouse-fireeth-mainnet_data:/root/.lighthouse
command: >
lighthouse beacon_node
--eth1-endpoints http://fireeth-mainnet:8545
--execution-endpoint http://fireeth-mainnet:8551
--execution-jwt /jwtsecret
--checkpoint-sync-url https://mainnet-checkpoint-sync.attestant.io
--http
--http-address 0.0.0.0
--port 55031
restart: unless-stopped
stop_grace_period: 1m
networks:
- chains
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.lighthouse-fireeth-mainnet-stripprefix.stripprefix.prefixes=/lighthouse-fireeth-mainnet"
- "traefik.http.services.lighthouse-fireeth-mainnet.loadbalancer.server.port=5052"
- "traefik.http.routers.lighthouse-fireeth-mainnet.entrypoints=websecure"
- "traefik.http.routers.lighthouse-fireeth-mainnet.tls.certresolver=myresolver"
- "traefik.http.routers.lighthouse-fireeth-mainnet.rule=Host(`$DOMAIN`) && PathPrefix(`/lighthouse-fireeth-mainnet`)"
- "traefik.http.routers.lighthouse-fireeth-mainnet.middlewares=lighthouse-fireeth-mainnet-stripprefix, ipwhitelist"
volumes:
erigon-mainnet:
lighthouse-fireeth-mainnet_data:
lighthouse-erigon-mainnet_data:
geth-mainnet_data:
firehose-mainnet_data: