services: ethereum-mainnet: image: ethereum/client-go:${GETH_VERSION:-v1.15.5} expose: - 8545 - 8551 ports: - "10023:10023" - "10023:10023/udp" environment: - "GETH_DATADIR=/data" - "GETH_MAINNET=true" - "GETH_GCMODE=full" - "GETH_SYNCMODE=snap" - "GETH_STATE_SCHEME=path" - "GETH_DB_ENGINE=pebble" - "GETH_NAT=extip:${IP}" - "GETH_PORT=19809" - "GETH_WS_PORT=8545" - "GETH_HTTP=true" - "GETH_HTTP_ADDR=0.0.0.0" - "GETH_HTTP_VHOSTS=*" - "GETH_WS=true" - "GETH_WS_ADDR=0.0.0.0" - "GETH_WS_ORIGINS=*" - "GETH_HTTP_API=eth,net,debug,admin,web3" - "GETH_AUTHRPC_JWTSECRET=/jwtsecret" - "GETH_AUTHRPC_ADDR=0.0.0.0" - "GETH_AUTHRPC_VHOSTS=*" networks: - chains volumes: - "ethereum-mainnet-geth-pruned-pebble-path:/data" - ".jwtsecret:/jwtsecret" restart: unless-stopped stop_grace_period: 1m labels: - "traefik.enable=true" - "traefik.http.middlewares.ethereum-mainnet-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/ethereum-mainnet" - "traefik.http.services.ethereum-mainnet-geth-pruned-pebble-path.loadbalancer.server.port=8545" - "traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.entrypoints=websecure" - "traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.tls.certresolver=myresolver" - "traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-mainnet`)" - "traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.middlewares=ethereum-mainnet-geth-pruned-pebble-path-stripprefix, ipwhitelist" ethereum-mainnet-node: image: prysmaticlabs/prysm-beacon-chain:${PRYSM_VERSION:-v5.3.1} ports: - "15023:15023" - "15023:15023/udp" command: [ "--mainnet", "--datadir=/data", "--jwt-secret=/jwtsecret", "--rpc-host=0.0.0.0", "--grpc-gateway-host=0.0.0.0", "--monitoring-host=0.0.0.0", "--p2p-tcp-port=15023", "--p2p-udp-port=15023", "--checkpoint-sync-url=https://sync-mainnet.beaconcha.in", "--execution-endpoint=http://ethereum-mainnet:8551", "--enable-historical-state-representation=false", "--beacon-db-pruning", "--accept-terms-of-use" ] networks: - chains volumes: - "ethereum-mainnet-geth-pruned-pebble-path_prysm:/data" - ".jwtsecret:/jwtsecret" restart: unless-stopped volumes: ethereum-mainnet-geth-pruned-pebble-path: ethereum-mainnet-geth-pruned-pebble-path_prysm: