diff --git a/nethermind-holesky.yml b/nethermind-holesky.yml new file mode 100644 index 00000000..fd311aab --- /dev/null +++ b/nethermind-holesky.yml @@ -0,0 +1,107 @@ +version: '3.1' + +services: + nethermind-holesky: + image: nethermind/nethermind:1.20.4 + restart: always + stop_grace_period: 1m + command: | + --JsonRpc.Enabled=true + --JsonRpc.JwtSecretFile=/jwt.hex + --Metrics.Enabled=true + --TraceStore.Enabled=true + --TraceStore.BlocksToKeep=0 + --TraceStore.TraceTypes=Trace,Rewards + --Sync.FastSync=false + ports: + - '7254:7254/tcp' # p2p + - '7254:7254/udp' # p2p + networks: + - chains + volumes: + - nethermind_holesky_db:/nethermind/nethermind_db + - nethermind_holesky_keystore:/nethermind/keystore + - nethermind_holesky_logs:/nethermind/logs + - .jwtsecret:/jwt.hex + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + environment: + - NETHERMIND_CONFIG=holesky + - NETHERMIND_JSONRPCCONFIG_ENGINEENABLEDMODULES=[Eth,AccountAbstraction,Subscribe,TxPool,Web3,Personal,Proof,Net,Parity,Health,Trace] + - NETHERMIND_JSONRPCCONFIG_ENGINEHOST=0.0.0.0 + - NETHERMIND_JSONRPCCONFIG_ENGINEPORT=8551 + - NETHERMIND_JSONRPCCONFIG_HOST=0.0.0.0 + - NETHERMIND_METRICSCONFIG_EXPOSEPORT=9091 + - NETHERMIND_NETWORKCONFIG_P2PPORT=7254 + - NETHERMIND_NETWORKCONFIG_DISCOVERYPORT=7254 + - NETHERMIND_NETWORKCONFIG_MAXACTIVEPEERS=250 + - NETHERMIND_SYNCCONFIG_FASTSYNC=true + - NETHERMIND_SYNCCONFIG_SNAPSYNC=true + - NETHERMIND_SYNCCONFIG_FASTBLOCKS=true + - NETHERMIND_SYNCCONFIG_DOWNLOADBODIESINFASTSYNC=true + - NETHERMIND_SYNCCONFIG_DOWNLOADRECEIPTSINFASTSYNC=true + - NETHERMIND_SYNCCONFIG_ANCIENTBODIESBARRIER=1 + - NETHERMIND_SYNCCONFIG_ANCIENTRECEIPTSBARRIER=1 + logging: + options: + max-size: "1000m" + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.nethermind-holesky-stripprefix.stripprefix.prefixes=/nethermind-holesky" + - "traefik.http.services.nethermind-holesky.loadbalancer.server.port=8545" + - "traefik.http.routers.nethermind-holesky.entrypoints=websecure" + - "traefik.http.routers.nethermind-holesky.tls.certresolver=myresolver" + - "traefik.http.routers.nethermind-holesky.rule=Host(`$DOMAIN`) && PathPrefix(`/nethermind-holesky`)" + - "traefik.http.routers.nethermind-holesky.middlewares=nethermind-holesky-stripprefix, ipwhitelist" + - "prometheus-scrape.enabled=true" + - "prometheus-scrape.port=9091" + - "prometheus-scrape.job_name=nethermind-holesky" + + + nimbus-holesky: + build: + context: ./nimbus + args: + UPSTREAM_VERSION: v23.9.1 + restart: unless-stopped + stop_grace_period: 1m + environment: + NETWORK: holesky + LOG_TYPE: INFO + P2P_TCP_PORT: 13835 + P2P_UDP_PORT: 13835 + CHECKPOINT_SYNC_URL: "https://beaconstate-holesky.chainsafe.io" + EXTRA_OPTS: "" + FEE_RECIPIENT_ADDRESS: "" + EXECUTION_ENDPOINT: "http://nethermind-holesky:8551" + volumes: + - nimbus-holesky:/home/user/nimbus-eth2/build/data + - .jwtsecret:/jwt.hex + networks: + - chains + ports: + - 13835:13835/tcp # p2p + - 13835:13835/udp # p2p + expose: + - 8008 # metrics + - 4500 # http + - 13835 # p2p + labels: + - "prometheus-scrape.enabled=true" + - "prometheus-scrape.port=8008" + - "prometheus-scrape.job_name=nimbus-holesky" + - "prometheus-scrape.metrics_path=/metrics" + - "traefik.enable=true" + - "traefik.http.middlewares.nimbus-holesky-stripprefix.stripprefix.prefixes=/nimbus-holesky" + - "traefik.http.services.nimbus-holesky.loadbalancer.server.port=4500" + - "traefik.http.routers.nimbus-holesky.entrypoints=websecure" + - "traefik.http.routers.nimbus-holesky.tls.certresolver=myresolver" + - "traefik.http.routers.nimbus-holesky.rule=Host(`$DOMAIN`) && PathPrefix(`/nimbus-holesky`)" + - "traefik.http.routers.nimbus-holesky.middlewares=nimbus-holesky-stripprefix, ipwhitelist" + + +volumes: + nethermind_holesky_db: + nethermind_holesky_keystore: + nethermind_holesky_logs: + nimbus-holesky: