From 5771bbef0223d41bd03c6001009f5383182c3eec Mon Sep 17 00:00:00 2001 From: Sebastian <379651+czarly@users.noreply.github.com> Date: Tue, 28 May 2024 11:52:47 +0200 Subject: [PATCH] initial commit --- geth-sepolia.yml | 106 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 geth-sepolia.yml diff --git a/geth-sepolia.yml b/geth-sepolia.yml new file mode 100644 index 00000000..17ccb904 --- /dev/null +++ b/geth-sepolia.yml @@ -0,0 +1,106 @@ +version: '3.1' + +services: + geth-sepolia: + image: ethereum/client-go:v1.14.3 + expose: + # HTTP server / GraphQL API + - 8545 + ports: + - "49545:49545" + - "49545:49545/udp" + command: + [ + # Blockchain sync mode ("snap", "full" or "light") + "--syncmode=snap", + "--state.scheme=path", + "--db.engine=pebble", + "--port=49545", + # Megabytes of memory allocated to internal caching + "--cache=8192", + # Enable the WS-RPC server + "--ws", + "--ws.api=eth,net,web3,personal,txpool", + "--ws.port=8545", + "--ws.addr=0.0.0.0", + "--ws.origins=*", + # Enable the HTTP-RPC server + "--http", + "--http.api=eth,net,web3,personal,txpool", + "--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 sepolia + "--sepolia", + # 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-sepolia:/root/.ethereum" + - "/slowdisk:/slowdisk" + - ".jwtsecret:/jwtsecret" + restart: unless-stopped + stop_grace_period: 1m + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.sepolia-stripprefix.stripprefix.prefixes=/sepolia" + - "traefik.http.services.sepolia.loadbalancer.server.port=8545" + - "traefik.http.routers.sepolia.entrypoints=websecure" + - "traefik.http.routers.sepolia.tls.certresolver=myresolver" + - "traefik.http.routers.sepolia.rule=Host(`$DOMAIN`) && PathPrefix(`/sepolia`)" + - "traefik.http.routers.sepolia.middlewares=sepolia-stripprefix, ipwhitelist" + - "prometheus-scrape.enabled=true" + - "prometheus-scrape.port=6060" + - "prometheus-scrape.job_name=geth-sepolia" + - "prometheus-scrape.metrics_path=/debug/metrics/prometheus" + + prysm-sepolia: + image: prysmaticlabs/prysm-beacon-chain:v5.0.3 + 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://geth-sepolia:8551", + "--accept-terms-of-use" + ] + networks: + - chains + volumes: + - "prysm-sepolia:/data" + - ".jwtsecret:/jwtsecret" + restart: unless-stopped + stop_grace_period: 1m + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.prysm-sepolia-stripprefix.stripprefix.prefixes=/prysm-sepolia" + - "traefik.http.services.prysm-sepolia.loadbalancer.server.port=3500" + - "traefik.http.routers.prysm-sepolia.entrypoints=websecure" + - "traefik.http.routers.prysm-sepolia.tls.certresolver=myresolver" + - "traefik.http.routers.prysm-sepolia.rule=Host(`$DOMAIN`) && PathPrefix(`/prysm-sepolia`)" + - "traefik.http.routers.prysm-sepolia.middlewares=prysm-sepolia-stripprefix, ipwhitelist" + + +volumes: + prysm-sepolia: + geth-sepolia: