Files
ethereum-rpc-docker/geth-mainnet.yml
2023-10-10 08:55:26 +02:00

91 lines
4.3 KiB
YAML

version: '3.1'
services:
geth-mainnet:
image: ethereum/client-go:v1.13.2
expose:
# HTTP server / GraphQL API
- 8545
ports:
- "49545:49545"
- "49545:49545/udp"
command:
[
# Blockchain sync mode ("snap", "full" or "light")
"--syncmode=snap",
"--port=49545",
# Megabytes of memory allocated to internal caching
"--cache=8192",
# Enable the WS-RPC server
"--ws",
"--ws.port=8545",
"--ws.addr=0.0.0.0",
# Enable the HTTP-RPC server
"--http",
"--http.port=8545",
"--http.addr=0.0.0.0",
"--http.vhosts=*",
# Enable GraphQL on the HTTP-RPC server. Note that GraphQL can only be started if an HTTP server is started as well.
"--graphql",
"--graphql.vhosts=*",
# Enable metrics collection and reporting
"--metrics",
"--metrics.addr=0.0.0.0",
# Ethereum mainnet
"--mainnet",
# Maximum number of network peers (network disabled if set to 0) (default: 50)
"--maxpeers=30",
# The Merge
"--authrpc.jwtsecret=/jwtsecret",
"--authrpc.addr=0.0.0.0",
"--authrpc.vhosts=*"
]
networks:
- chains
volumes:
- "geth-mainnet_data:/root/.ethereum"
- ".jwtsecret:/jwtsecret"
restart: unless-stopped
stop_grace_period: 1m
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.mainnet-stripprefix.stripprefix.prefixes=/mainnet"
- "traefik.http.services.mainnet.loadbalancer.server.port=8545"
- "traefik.http.routers.mainnet.entrypoints=websecure"
- "traefik.http.routers.mainnet.tls.certresolver=myresolver"
- "traefik.http.routers.mainnet.rule=Host(`$DOMAIN`) && PathPrefix(`/mainnet`)"
- "traefik.http.routers.mainnet.middlewares=mainnet-stripprefix, ipwhitelist"
- "prometheus-scrape.enabled=true"
- "prometheus-scrape.port=6060"
- "prometheus-scrape.job_name=geth-mainnet"
- "prometheus-scrape.metrics_path=/debug/metrics/prometheus"
prysm-mainnet:
image: prysmaticlabs/prysm-beacon-chain:stable
ports:
#- "127.0.0.1:3500:3500"
- "13000:13000"
- "12000:12000/udp"
command:
[
"--datadir=/data",
"--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://sync-mainnet.beaconcha.in",
"--execution-endpoint=http://geth-mainnet:8551",
"--accept-terms-of-use"
]
networks:
- chains
volumes:
- "prysm-mainnet_data:/data"
- ".jwtsecret:/jwtsecret"
restart: unless-stopped
stop_grace_period: 1m
volumes:
prysm-mainnet_data:
geth-mainnet_data: