From 1ded879d2d6be800737c705e3a28f98d66058ac2 Mon Sep 17 00:00:00 2001 From: Para Dox Date: Sat, 26 Apr 2025 20:22:45 +0700 Subject: [PATCH] some dangerous path changes for reth datadir --- ...hereum-mainnet-geth-pruned-pebble-path.yml | 2 +- .../ethereum-holesky-reth-pruned-trace.yml | 167 ++++++++++++------ .../ethereum-mainnet-reth-archive-trace.yml | 2 +- .../ethereum-mainnet-reth-pruned-trace.yml | 167 ++++++++++++------ .../ethereum-sepolia-reth-pruned-trace.yml | 167 ++++++++++++------ 5 files changed, 344 insertions(+), 161 deletions(-) diff --git a/ethereum/geth/ethereum-mainnet-geth-pruned-pebble-path.yml b/ethereum/geth/ethereum-mainnet-geth-pruned-pebble-path.yml index da751d88..43c2f387 100644 --- a/ethereum/geth/ethereum-mainnet-geth-pruned-pebble-path.yml +++ b/ethereum/geth/ethereum-mainnet-geth-pruned-pebble-path.yml @@ -74,7 +74,7 @@ services: command: - --accept-terms-of-use - --beacon-db-pruning - - --checkpoint-sync-url= + - --checkpoint-sync-url=https://mainnet.beaconstate.info - --datadir=/data - --enable-historical-state-representation=false - --execution-endpoint=http://ethereum-mainnet:8551 diff --git a/ethereum/reth/ethereum-holesky-reth-pruned-trace.yml b/ethereum/reth/ethereum-holesky-reth-pruned-trace.yml index 216487cd..c8f003d0 100644 --- a/ethereum/reth/ethereum-holesky-reth-pruned-trace.yml +++ b/ethereum/reth/ethereum-holesky-reth-pruned-trace.yml @@ -1,79 +1,140 @@ +--- + services: ethereum-holesky: - image: ghcr.io/paradigmxyz/reth:${RETH_VERSION:-v1.3.4} + image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_HOLESKY_RETH_VERSION:-v1.3.12} + sysctls: + # TCP Performance + net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle + net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache + net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers + net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers + net.core.somaxconn: 32768 # Higher connection queue + # Memory/Connection Management + # net.core.netdev_max_backlog: 50000 # Increase network buffer + net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests + net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets + ulimits: + nofile: 1048576 # Max open files (for RPC/WS connections) + memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX) user: root - volumes: - - "ethereum-holesky-reth-pruned-trace:/root/.local/share/reth/holesky" - - "/slowdisk:/slowdisk" - - ".jwtsecret:/jwtsecret:ro" + ports: + - 11849:11849 + - 11849:11849/udp expose: - 8545 - - 9001 - ports: - - "10849:10849" - - "10849:10849/udp" - restart: unless-stopped - entrypoint: ["reth", "node"] + - 8551 + entrypoint: [reth, node] command: - --chain=holesky - - --metrics=0.0.0.0:9001 + - --datadir=/root/.local/share/reth + - --discovery.port=11849 + - --full + - --max-inbound-peers=50 + - --max-outbound-peers=50 + - --nat=extip:${IP} + - --port=11849 + - --rpc.gascap=600000000 + - --rpc.max-logs-per-response=1100000 - --http - --http.addr=0.0.0.0 + - --http.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev + - --http.corsdomain=* - --http.port=8545 - --ws - --ws.addr=0.0.0.0 - - --ws.port=8545 + - --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev - --ws.origins=* - - --port=10849 - - --discovery.port=10849 + - --ws.port=8545 - --authrpc.addr=0.0.0.0 - --authrpc.jwtsecret=/jwtsecret - - --http.api=debug,eth,net,trace,txpool,web3,rpc,reth,admin - - --ws.api=debug,eth,net,trace,txpool,web3,rpc,reth,admin - - --http.corsdomain=* - - --rpc.max-logs-per-response=1100000 - - --rpc.gascap=600000000 - - --full - stop_grace_period: 1m - labels: - - "traefik.enable=true" - - "traefik.http.middlewares.ethereum-holesky-reth-pruned-trace-stripprefix.stripprefix.prefixes=/ethereum-holesky" - - "traefik.http.services.ethereum-holesky-reth-pruned-trace.loadbalancer.server.port=8545" - - "traefik.http.routers.ethereum-holesky-reth-pruned-trace.entrypoints=websecure" - - "traefik.http.routers.ethereum-holesky-reth-pruned-trace.tls.certresolver=myresolver" - - "traefik.http.routers.ethereum-holesky-reth-pruned-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-holesky`)" - - "traefik.http.routers.ethereum-holesky-reth-pruned-trace.middlewares=ethereum-holesky-reth-pruned-trace-stripprefix, ipwhitelist" + restart: unless-stopped + stop_grace_period: 5m networks: - chains + volumes: + - ${ETHEREUM_HOLESKY_RETH_PRUNED_TRACE_DATA:-ethereum-holesky-reth-pruned-trace}:/root/.local/share/reth + - .jwtsecret:/jwtsecret:ro + - /slowdisk:/slowdisk + labels: + - traefik.enable=true + - traefik.http.middlewares.ethereum-holesky-reth-pruned-trace-stripprefix.stripprefix.prefixes=/ethereum-holesky + - traefik.http.services.ethereum-holesky-reth-pruned-trace.loadbalancer.server.port=8545 + - ${NO_SSL:-traefik.http.routers.ethereum-holesky-reth-pruned-trace.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.ethereum-holesky-reth-pruned-trace.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.ethereum-holesky-reth-pruned-trace.rule=Host(`$DOMAIN`) && (Path(`/ethereum-holesky`) || Path(`/ethereum-holesky/`))} + - ${NO_SSL:+traefik.http.routers.ethereum-holesky-reth-pruned-trace.rule=Path(`/ethereum-holesky`) || Path(`/ethereum-holesky/`)} + - traefik.http.routers.ethereum-holesky-reth-pruned-trace.middlewares=ethereum-holesky-reth-pruned-trace-stripprefix, ipallowlist ethereum-holesky-node: - image: prysmaticlabs/prysm-beacon-chain:${PRYSM_VERSION:-v5.3.1} + image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_HOLESKY_PRYSM_VERSION:-v6.0.0-rc.3} ports: - - "15849:15849" - - "15849:15849/udp" + - 16849:16849 + - 16849:16849/udp command: - [ - "--holesky", - "--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=15849", - "--p2p-udp-port=15849", - "--checkpoint-sync-url=https://holesky.beaconstate.info", - "--execution-endpoint=http://ethereum-holesky:8551", - "--enable-historical-state-representation=false", - "--beacon-db-pruning", - "--accept-terms-of-use" - ] - networks: - - chains - volumes: - - "ethereum-holesky-reth-pruned-trace_prysm:/data" - - ".jwtsecret:/jwtsecret:ro" + - --accept-terms-of-use + - --beacon-db-pruning + - --checkpoint-sync-url=https://holesky.beaconstate.info + - --datadir=/data + - --enable-historical-state-representation=false + - --execution-endpoint=http://ethereum-holesky:8551 + - --grpc-gateway-host=0.0.0.0 + - --holesky + - --jwt-secret=/jwtsecret + - --monitoring-host=0.0.0.0 + - --p2p-tcp-port=16849 + - --p2p-udp-port=16849 + - --rpc-host=0.0.0.0 restart: unless-stopped + depends_on: + - ethereum-holesky + networks: + - chains + volumes: + - ${ETHEREUM_HOLESKY_RETH_PRUNED_TRACE__PRYSM_DATA:-ethereum-holesky-reth-pruned-trace_prysm}:/data + - .jwtsecret:/jwtsecret:ro + labels: + - traefik.enable=true + - traefik.http.middlewares.ethereum-holesky-reth-pruned-trace-node-stripprefix.stripprefix.prefixes=/ethereum-holesky + - traefik.http.services.ethereum-holesky-reth-pruned-trace-node.loadbalancer.server.port=3500 + - ${NO_SSL:-traefik.http.routers.ethereum-holesky-reth-pruned-trace-node.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.ethereum-holesky-reth-pruned-trace-node.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.ethereum-holesky-reth-pruned-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-holesky/eth`)} + - ${NO_SSL:+traefik.http.routers.ethereum-holesky-reth-pruned-trace-node.rule=PathPrefix(`/ethereum-holesky/eth`)} + - traefik.http.routers.ethereum-holesky-reth-pruned-trace-node.middlewares=ethereum-holesky-reth-pruned-trace-node-stripprefix, ipallowlist volumes: ethereum-holesky-reth-pruned-trace: ethereum-holesky-reth-pruned-trace_prysm: + +x-upstreams: + - id: $${ID} + labels: + provider: $${PROVIDER} + connection: + generic: + rpc: + url: $${RPC_URL} + ws: + frameSize: 20Mb + msgSize: 50Mb + url: $${WS_URL} + chain: holesky + method-groups: + enabled: + - debug + - filter + - trace + methods: + disabled: + enabled: + - name: txpool_content # TODO: should be disabled for rollup nodes + - id: $${ID}-beacon-chain + chain: eth-beacon-chain-holesky + labels: + provider: $${PROVIDER}-beacon-chain + connection: + generic: + rpc: + url: $${RPC_URL} +... \ No newline at end of file diff --git a/ethereum/reth/ethereum-mainnet-reth-archive-trace.yml b/ethereum/reth/ethereum-mainnet-reth-archive-trace.yml index 1e74a7b2..62616e98 100644 --- a/ethereum/reth/ethereum-mainnet-reth-archive-trace.yml +++ b/ethereum/reth/ethereum-mainnet-reth-archive-trace.yml @@ -73,7 +73,7 @@ services: command: - --accept-terms-of-use - --beacon-db-pruning - - --checkpoint-sync-url= + - --checkpoint-sync-url=https://mainnet.beaconstate.info - --datadir=/data - --enable-historical-state-representation=false - --execution-endpoint=http://ethereum-mainnet-archive:8551 diff --git a/ethereum/reth/ethereum-mainnet-reth-pruned-trace.yml b/ethereum/reth/ethereum-mainnet-reth-pruned-trace.yml index 129c6260..a9ef3495 100644 --- a/ethereum/reth/ethereum-mainnet-reth-pruned-trace.yml +++ b/ethereum/reth/ethereum-mainnet-reth-pruned-trace.yml @@ -1,79 +1,140 @@ +--- + services: ethereum-mainnet: - image: ghcr.io/paradigmxyz/reth:${RETH_VERSION:-v1.3.4} + image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v1.3.12} + sysctls: + # TCP Performance + net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle + net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache + net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers + net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers + net.core.somaxconn: 32768 # Higher connection queue + # Memory/Connection Management + # net.core.netdev_max_backlog: 50000 # Increase network buffer + net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests + net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets + ulimits: + nofile: 1048576 # Max open files (for RPC/WS connections) + memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX) user: root - volumes: - - "ethereum-mainnet-reth-pruned-trace:/root/.local/share/reth/mainnet" - - "/slowdisk:/slowdisk" - - ".jwtsecret:/jwtsecret:ro" + ports: + - 10150:10150 + - 10150:10150/udp expose: - 8545 - - 9001 - ports: - - "10150:10150" - - "10150:10150/udp" - restart: unless-stopped - entrypoint: ["reth", "node"] + - 8551 + entrypoint: [reth, node] command: - --chain=mainnet - - --metrics=0.0.0.0:9001 + - --datadir=/root/.local/share/reth + - --discovery.port=10150 + - --full + - --max-inbound-peers=50 + - --max-outbound-peers=50 + - --nat=extip:${IP} + - --port=10150 + - --rpc.gascap=600000000 + - --rpc.max-logs-per-response=1100000 - --http - --http.addr=0.0.0.0 + - --http.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev + - --http.corsdomain=* - --http.port=8545 - --ws - --ws.addr=0.0.0.0 - - --ws.port=8545 + - --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev - --ws.origins=* - - --port=10150 - - --discovery.port=10150 + - --ws.port=8545 - --authrpc.addr=0.0.0.0 - --authrpc.jwtsecret=/jwtsecret - - --http.api=debug,eth,net,trace,txpool,web3,rpc,reth,admin - - --ws.api=debug,eth,net,trace,txpool,web3,rpc,reth,admin - - --http.corsdomain=* - - --rpc.max-logs-per-response=1100000 - - --rpc.gascap=600000000 - - --full - stop_grace_period: 1m - labels: - - "traefik.enable=true" - - "traefik.http.middlewares.ethereum-mainnet-reth-pruned-trace-stripprefix.stripprefix.prefixes=/ethereum-mainnet" - - "traefik.http.services.ethereum-mainnet-reth-pruned-trace.loadbalancer.server.port=8545" - - "traefik.http.routers.ethereum-mainnet-reth-pruned-trace.entrypoints=websecure" - - "traefik.http.routers.ethereum-mainnet-reth-pruned-trace.tls.certresolver=myresolver" - - "traefik.http.routers.ethereum-mainnet-reth-pruned-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-mainnet`)" - - "traefik.http.routers.ethereum-mainnet-reth-pruned-trace.middlewares=ethereum-mainnet-reth-pruned-trace-stripprefix, ipwhitelist" + restart: unless-stopped + stop_grace_period: 5m networks: - chains + volumes: + - ${ETHEREUM_MAINNET_RETH_PRUNED_TRACE_DATA:-ethereum-mainnet-reth-pruned-trace}:/root/.local/share/reth + - .jwtsecret:/jwtsecret:ro + - /slowdisk:/slowdisk + labels: + - traefik.enable=true + - traefik.http.middlewares.ethereum-mainnet-reth-pruned-trace-stripprefix.stripprefix.prefixes=/ethereum-mainnet + - traefik.http.services.ethereum-mainnet-reth-pruned-trace.loadbalancer.server.port=8545 + - ${NO_SSL:-traefik.http.routers.ethereum-mainnet-reth-pruned-trace.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.ethereum-mainnet-reth-pruned-trace.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.ethereum-mainnet-reth-pruned-trace.rule=Host(`$DOMAIN`) && (Path(`/ethereum-mainnet`) || Path(`/ethereum-mainnet/`))} + - ${NO_SSL:+traefik.http.routers.ethereum-mainnet-reth-pruned-trace.rule=Path(`/ethereum-mainnet`) || Path(`/ethereum-mainnet/`)} + - traefik.http.routers.ethereum-mainnet-reth-pruned-trace.middlewares=ethereum-mainnet-reth-pruned-trace-stripprefix, ipallowlist ethereum-mainnet-node: - image: prysmaticlabs/prysm-beacon-chain:${PRYSM_VERSION:-v5.3.1} + image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v6.0.0-rc.3} ports: - - "15150:15150" - - "15150:15150/udp" + - 15150:15150 + - 15150:15150/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=15150", - "--p2p-udp-port=15150", - "--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-reth-pruned-trace_prysm:/data" - - ".jwtsecret:/jwtsecret:ro" + - --accept-terms-of-use + - --beacon-db-pruning + - --checkpoint-sync-url=https://mainnet.beaconstate.info + - --datadir=/data + - --enable-historical-state-representation=false + - --execution-endpoint=http://ethereum-mainnet:8551 + - --grpc-gateway-host=0.0.0.0 + - --jwt-secret=/jwtsecret + - --mainnet + - --monitoring-host=0.0.0.0 + - --p2p-tcp-port=15150 + - --p2p-udp-port=15150 + - --rpc-host=0.0.0.0 restart: unless-stopped + depends_on: + - ethereum-mainnet + networks: + - chains + volumes: + - ${ETHEREUM_MAINNET_RETH_PRUNED_TRACE__PRYSM_DATA:-ethereum-mainnet-reth-pruned-trace_prysm}:/data + - .jwtsecret:/jwtsecret:ro + labels: + - traefik.enable=true + - traefik.http.middlewares.ethereum-mainnet-reth-pruned-trace-node-stripprefix.stripprefix.prefixes=/ethereum-mainnet + - traefik.http.services.ethereum-mainnet-reth-pruned-trace-node.loadbalancer.server.port=3500 + - ${NO_SSL:-traefik.http.routers.ethereum-mainnet-reth-pruned-trace-node.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.ethereum-mainnet-reth-pruned-trace-node.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.ethereum-mainnet-reth-pruned-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-mainnet/eth`)} + - ${NO_SSL:+traefik.http.routers.ethereum-mainnet-reth-pruned-trace-node.rule=PathPrefix(`/ethereum-mainnet/eth`)} + - traefik.http.routers.ethereum-mainnet-reth-pruned-trace-node.middlewares=ethereum-mainnet-reth-pruned-trace-node-stripprefix, ipallowlist volumes: ethereum-mainnet-reth-pruned-trace: ethereum-mainnet-reth-pruned-trace_prysm: + +x-upstreams: + - id: $${ID} + labels: + provider: $${PROVIDER} + connection: + generic: + rpc: + url: $${RPC_URL} + ws: + frameSize: 20Mb + msgSize: 50Mb + url: $${WS_URL} + chain: ethereum + method-groups: + enabled: + - debug + - filter + - trace + methods: + disabled: + enabled: + - name: txpool_content # TODO: should be disabled for rollup nodes + - id: $${ID}-beacon-chain + chain: eth-beacon-chain + labels: + provider: $${PROVIDER}-beacon-chain + connection: + generic: + rpc: + url: $${RPC_URL} +... \ No newline at end of file diff --git a/ethereum/reth/ethereum-sepolia-reth-pruned-trace.yml b/ethereum/reth/ethereum-sepolia-reth-pruned-trace.yml index 15d8c803..621c0a40 100644 --- a/ethereum/reth/ethereum-sepolia-reth-pruned-trace.yml +++ b/ethereum/reth/ethereum-sepolia-reth-pruned-trace.yml @@ -1,79 +1,140 @@ +--- + services: ethereum-sepolia: - image: ghcr.io/paradigmxyz/reth:${RETH_VERSION:-v1.3.4} + image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_SEPOLIA_RETH_VERSION:-v1.3.12} + sysctls: + # TCP Performance + net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle + net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache + net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers + net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers + net.core.somaxconn: 32768 # Higher connection queue + # Memory/Connection Management + # net.core.netdev_max_backlog: 50000 # Increase network buffer + net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests + net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets + ulimits: + nofile: 1048576 # Max open files (for RPC/WS connections) + memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX) user: root - volumes: - - "ethereum-sepolia-reth-pruned-trace:/root/.local/share/reth/sepolia" - - "/slowdisk:/slowdisk" - - ".jwtsecret:/jwtsecret:ro" + ports: + - 12150:12150 + - 12150:12150/udp expose: - 8545 - - 9001 - ports: - - "10150:10150" - - "10150:10150/udp" - restart: unless-stopped - entrypoint: ["reth", "node"] + - 8551 + entrypoint: [reth, node] command: - --chain=sepolia - - --metrics=0.0.0.0:9001 + - --datadir=/root/.local/share/reth + - --discovery.port=12150 + - --full + - --max-inbound-peers=50 + - --max-outbound-peers=50 + - --nat=extip:${IP} + - --port=12150 + - --rpc.gascap=600000000 + - --rpc.max-logs-per-response=1100000 - --http - --http.addr=0.0.0.0 + - --http.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev + - --http.corsdomain=* - --http.port=8545 - --ws - --ws.addr=0.0.0.0 - - --ws.port=8545 + - --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev - --ws.origins=* - - --port=10150 - - --discovery.port=10150 + - --ws.port=8545 - --authrpc.addr=0.0.0.0 - --authrpc.jwtsecret=/jwtsecret - - --http.api=debug,eth,net,trace,txpool,web3,rpc,reth,admin - - --ws.api=debug,eth,net,trace,txpool,web3,rpc,reth,admin - - --http.corsdomain=* - - --rpc.max-logs-per-response=1100000 - - --rpc.gascap=600000000 - - --full - stop_grace_period: 1m - labels: - - "traefik.enable=true" - - "traefik.http.middlewares.ethereum-sepolia-reth-pruned-trace-stripprefix.stripprefix.prefixes=/ethereum-sepolia" - - "traefik.http.services.ethereum-sepolia-reth-pruned-trace.loadbalancer.server.port=8545" - - "traefik.http.routers.ethereum-sepolia-reth-pruned-trace.entrypoints=websecure" - - "traefik.http.routers.ethereum-sepolia-reth-pruned-trace.tls.certresolver=myresolver" - - "traefik.http.routers.ethereum-sepolia-reth-pruned-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-sepolia`)" - - "traefik.http.routers.ethereum-sepolia-reth-pruned-trace.middlewares=ethereum-sepolia-reth-pruned-trace-stripprefix, ipwhitelist" + restart: unless-stopped + stop_grace_period: 5m networks: - chains + volumes: + - ${ETHEREUM_SEPOLIA_RETH_PRUNED_TRACE_DATA:-ethereum-sepolia-reth-pruned-trace}:/root/.local/share/reth + - .jwtsecret:/jwtsecret:ro + - /slowdisk:/slowdisk + labels: + - traefik.enable=true + - traefik.http.middlewares.ethereum-sepolia-reth-pruned-trace-stripprefix.stripprefix.prefixes=/ethereum-sepolia + - traefik.http.services.ethereum-sepolia-reth-pruned-trace.loadbalancer.server.port=8545 + - ${NO_SSL:-traefik.http.routers.ethereum-sepolia-reth-pruned-trace.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.ethereum-sepolia-reth-pruned-trace.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.ethereum-sepolia-reth-pruned-trace.rule=Host(`$DOMAIN`) && (Path(`/ethereum-sepolia`) || Path(`/ethereum-sepolia/`))} + - ${NO_SSL:+traefik.http.routers.ethereum-sepolia-reth-pruned-trace.rule=Path(`/ethereum-sepolia`) || Path(`/ethereum-sepolia/`)} + - traefik.http.routers.ethereum-sepolia-reth-pruned-trace.middlewares=ethereum-sepolia-reth-pruned-trace-stripprefix, ipallowlist ethereum-sepolia-node: - image: prysmaticlabs/prysm-beacon-chain:${PRYSM_VERSION:-v5.3.1} + image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_SEPOLIA_PRYSM_VERSION:-v6.0.0-rc.3} ports: - - "15150:15150" - - "15150:15150/udp" + - 17150:17150 + - 17150:17150/udp command: - [ - "--sepolia", - "--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=15150", - "--p2p-udp-port=15150", - "--checkpoint-sync-url=https://sepolia.beaconstate.info", - "--execution-endpoint=http://ethereum-sepolia:8551", - "--enable-historical-state-representation=false", - "--beacon-db-pruning", - "--accept-terms-of-use" - ] - networks: - - chains - volumes: - - "ethereum-sepolia-reth-pruned-trace_prysm:/data" - - ".jwtsecret:/jwtsecret:ro" + - --accept-terms-of-use + - --beacon-db-pruning + - --checkpoint-sync-url=https://sepolia.beaconstate.info + - --datadir=/data + - --enable-historical-state-representation=false + - --execution-endpoint=http://ethereum-sepolia:8551 + - --grpc-gateway-host=0.0.0.0 + - --jwt-secret=/jwtsecret + - --monitoring-host=0.0.0.0 + - --p2p-tcp-port=17150 + - --p2p-udp-port=17150 + - --rpc-host=0.0.0.0 + - --sepolia restart: unless-stopped + depends_on: + - ethereum-sepolia + networks: + - chains + volumes: + - ${ETHEREUM_SEPOLIA_RETH_PRUNED_TRACE__PRYSM_DATA:-ethereum-sepolia-reth-pruned-trace_prysm}:/data + - .jwtsecret:/jwtsecret:ro + labels: + - traefik.enable=true + - traefik.http.middlewares.ethereum-sepolia-reth-pruned-trace-node-stripprefix.stripprefix.prefixes=/ethereum-sepolia + - traefik.http.services.ethereum-sepolia-reth-pruned-trace-node.loadbalancer.server.port=3500 + - ${NO_SSL:-traefik.http.routers.ethereum-sepolia-reth-pruned-trace-node.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.ethereum-sepolia-reth-pruned-trace-node.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.ethereum-sepolia-reth-pruned-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/ethereum-sepolia/eth`)} + - ${NO_SSL:+traefik.http.routers.ethereum-sepolia-reth-pruned-trace-node.rule=PathPrefix(`/ethereum-sepolia/eth`)} + - traefik.http.routers.ethereum-sepolia-reth-pruned-trace-node.middlewares=ethereum-sepolia-reth-pruned-trace-node-stripprefix, ipallowlist volumes: ethereum-sepolia-reth-pruned-trace: ethereum-sepolia-reth-pruned-trace_prysm: + +x-upstreams: + - id: $${ID} + labels: + provider: $${PROVIDER} + connection: + generic: + rpc: + url: $${RPC_URL} + ws: + frameSize: 20Mb + msgSize: 50Mb + url: $${WS_URL} + chain: sepolia + method-groups: + enabled: + - debug + - filter + - trace + methods: + disabled: + enabled: + - name: txpool_content # TODO: should be disabled for rollup nodes + - id: $${ID}-beacon-chain + chain: eth-beacon-chain-sepolia + labels: + provider: $${PROVIDER}-beacon-chain + connection: + generic: + rpc: + url: $${RPC_URL} +... \ No newline at end of file