From ef5ce7fa1d35031e6ad023a0710f0b0d760e2831 Mon Sep 17 00:00:00 2001 From: Para Dox Date: Mon, 21 Apr 2025 09:52:07 +0700 Subject: [PATCH] do the thing --- .../berachain-bartio-reth-pruned-trace.yml | 129 +++++++++++++ .../berachain-bepolia-reth-pruned-trace.yml | 175 +++++++++++------- .../berachain-mainnet-reth-pruned-trace.yml | 175 +++++++++++------- 3 files changed, 339 insertions(+), 140 deletions(-) create mode 100644 berachain/reth/berachain-bartio-reth-pruned-trace.yml diff --git a/berachain/reth/berachain-bartio-reth-pruned-trace.yml b/berachain/reth/berachain-bartio-reth-pruned-trace.yml new file mode 100644 index 00000000..60bccb9e --- /dev/null +++ b/berachain/reth/berachain-bartio-reth-pruned-trace.yml @@ -0,0 +1,129 @@ +--- + +services: + berachain-bartio: + image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${BERACHAIN_BARTIO_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 + ports: + - 14467:14467 + - 14467:14467/udp + expose: + - 8545 + - 8551 + environment: + - BOOTNODES=enode://0401e494dbd0c84c5c0f72adac5985d2f2525e08b68d448958aae218f5ac8198a80d1498e0ebec2ce38b1b18d6750f6e61a56b4614c5a6c6cf0981c39aed47dc@34.159.32.127:30303,enode://9b6c1eb143c9e3af0c7283262a9a38fe8bf844114b1f304673c2ac1c23e6bccfdaa8f4e9cb8c460bded495933fd92eeff30e6ab2e0538b56e249beea2c512906@35.234.88.149:30303,enode://e9675164b5e17b9d9edf0cc2bd79e6b6f487200c74d1331c220abb5b8ee80c2eefbf18213989585e9d0960683e819542e11d4eefb5f2b4019e1e49f9fd8fff18@berav2-bootnode.staketab.org:30303,enode://16e21c20f670d9e88570b8d3c580c7ef54f3515bffab864f1f3047c4125c3e7d98e782b990165808363a1b54ddca51c9dafaca9d6cd7ecca93e2e809ba522cae@berachain-testnet-v2.enode.l0vd.com:30304,enode://e31aa249638083d34817eed2b499ccd4b0718a332f0ea530e3062e13f624cb03a7d6b6e0460193ee87b5fc12e73a726070a3126ef53492ffbdc5e6c102f6dfb3@34.64.198.56:30303,enode://3f2f85e2e711f198fb7324b74fab6a0599b2534774f3aa26241dbbabe870b650574324da01aa98ee24ce97c8d76362a2db03034a6ddff43119ccfdc269663cbf@34.47.79.13:30303,enode://7a2f67d22b12e10c6ba9cd951866dda6471604be5fbd5102217dbad1cc56e590befd2009ecc99958a468a5b8e0dc28e14d9b6822491719c93199be6aa0319077@34.124.220.31:30303,enode://a96aac0b81c7e75fecc2ae613eaf13b27b2aaf3d46a90db904f94797d1746aa31e6593ae4cd476f81d5c6d1d2228ca60c885727978c369586c38871c63a330ee@35.240.182.27:30303,enode://dc44744074ac2dd76db0e0f9d95eb86cd558f6ba75e4a4af1303f2259624c8ce041198f976862a284165253b6dc6b2fa91b995cbca3ef2683879b6247e05e553@34.95.61.239:30303,enode://bf5364e1cf7ecd11646ccaea5c06b56622c04d52200d9cd141e01db9c9661237ceebecde1616e66e390a968ffd1c07e027531cad23044517b7bf36caa8b97f5f@34.152.41.26:30303,enode://f61e51c18fdb6ddf5e520209c53a0e60b2864d168eb0d3c02541050de9fee003b61818c7f70b32b61adee082280e7de4811fd3da47d87c87b3d17bf44e3bb76c@beacond-testnet.blacknodes.net:30303,enode://f24b54da77cf604e92aeb5ee5e79401fd3e66111563ca630e72330ccab6f385ccbbde5eba4577ee7bfb5e83347263d0e4cad042fd4c10468d0e38906fc82ba31@bera-testnet-seeds.nodeinfra.com:30303,enode://2e44e8e12b4666632dd2d4d555cfca5ceac4ca6cf6f45c46fc0ba27d1f9f7578dd598c74ae8b4189430a85b15d103c215a63cdbeafd41895fee1405a094fa77a@135.125.188.10:30303 + - CHAINID=80084 + - CHAINNAME=bartio + - CHAIN_SPEC=testnet + entrypoint: [/bin/bash, -c, "trap 'exit 0' SIGTERM; while [ ! -f /config/eth-genesis.json ] && [ ! -f /tmp/stop ]; do sleep 1 & wait $!; done; exec reth node \"$@\"", --] + command: + - --bootnodes=enode://0401e494dbd0c84c5c0f72adac5985d2f2525e08b68d448958aae218f5ac8198a80d1498e0ebec2ce38b1b18d6750f6e61a56b4614c5a6c6cf0981c39aed47dc@34.159.32.127:30303,enode://9b6c1eb143c9e3af0c7283262a9a38fe8bf844114b1f304673c2ac1c23e6bccfdaa8f4e9cb8c460bded495933fd92eeff30e6ab2e0538b56e249beea2c512906@35.234.88.149:30303,enode://e9675164b5e17b9d9edf0cc2bd79e6b6f487200c74d1331c220abb5b8ee80c2eefbf18213989585e9d0960683e819542e11d4eefb5f2b4019e1e49f9fd8fff18@berav2-bootnode.staketab.org:30303,enode://16e21c20f670d9e88570b8d3c580c7ef54f3515bffab864f1f3047c4125c3e7d98e782b990165808363a1b54ddca51c9dafaca9d6cd7ecca93e2e809ba522cae@berachain-testnet-v2.enode.l0vd.com:30304,enode://e31aa249638083d34817eed2b499ccd4b0718a332f0ea530e3062e13f624cb03a7d6b6e0460193ee87b5fc12e73a726070a3126ef53492ffbdc5e6c102f6dfb3@34.64.198.56:30303,enode://3f2f85e2e711f198fb7324b74fab6a0599b2534774f3aa26241dbbabe870b650574324da01aa98ee24ce97c8d76362a2db03034a6ddff43119ccfdc269663cbf@34.47.79.13:30303,enode://7a2f67d22b12e10c6ba9cd951866dda6471604be5fbd5102217dbad1cc56e590befd2009ecc99958a468a5b8e0dc28e14d9b6822491719c93199be6aa0319077@34.124.220.31:30303,enode://a96aac0b81c7e75fecc2ae613eaf13b27b2aaf3d46a90db904f94797d1746aa31e6593ae4cd476f81d5c6d1d2228ca60c885727978c369586c38871c63a330ee@35.240.182.27:30303,enode://dc44744074ac2dd76db0e0f9d95eb86cd558f6ba75e4a4af1303f2259624c8ce041198f976862a284165253b6dc6b2fa91b995cbca3ef2683879b6247e05e553@34.95.61.239:30303,enode://bf5364e1cf7ecd11646ccaea5c06b56622c04d52200d9cd141e01db9c9661237ceebecde1616e66e390a968ffd1c07e027531cad23044517b7bf36caa8b97f5f@34.152.41.26:30303,enode://f61e51c18fdb6ddf5e520209c53a0e60b2864d168eb0d3c02541050de9fee003b61818c7f70b32b61adee082280e7de4811fd3da47d87c87b3d17bf44e3bb76c@beacond-testnet.blacknodes.net:30303,enode://f24b54da77cf604e92aeb5ee5e79401fd3e66111563ca630e72330ccab6f385ccbbde5eba4577ee7bfb5e83347263d0e4cad042fd4c10468d0e38906fc82ba31@bera-testnet-seeds.nodeinfra.com:30303,enode://2e44e8e12b4666632dd2d4d555cfca5ceac4ca6cf6f45c46fc0ba27d1f9f7578dd598c74ae8b4189430a85b15d103c215a63cdbeafd41895fee1405a094fa77a@135.125.188.10:30303 + - --chain=/config/eth-genesis.json + - --datadir=/root/.local/share/reth + - --full + - --max-inbound-peers=50 + - --max-outbound-peers=50 + - --nat=extip:${IP} + - --port=14467 + - --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.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev + - --ws.origins=* + - --ws.port=8545 + - --authrpc.addr=0.0.0.0 + - --authrpc.jwtsecret=/jwtsecret + restart: unless-stopped + stop_grace_period: 5m + networks: + - chains + volumes: + - ${BERACHAIN_BARTIO_RETH_PRUNED_TRACE_DATA:-berachain-bartio-reth-pruned-trace}:/root/.local/share/reth + - .jwtsecret:/jwtsecret:ro + - /slowdisk:/slowdisk + - berachain-bartio-reth-pruned-trace_config:/config + labels: + - traefik.enable=true + - traefik.http.middlewares.berachain-bartio-reth-pruned-trace-stripprefix.stripprefix.prefixes=/berachain-bartio + - traefik.http.services.berachain-bartio-reth-pruned-trace.loadbalancer.server.port=8545 + - ${NO_SSL:-traefik.http.routers.berachain-bartio-reth-pruned-trace.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.berachain-bartio-reth-pruned-trace.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.berachain-bartio-reth-pruned-trace.rule=Host(`$DOMAIN`) && (Path(`/berachain-bartio`) || Path(`/berachain-bartio/`))} + - ${NO_SSL:+traefik.http.routers.berachain-bartio-reth-pruned-trace.rule=Path(`/berachain-bartio`) || Path(`/berachain-bartio/`)} + - traefik.http.routers.berachain-bartio-reth-pruned-trace.middlewares=berachain-bartio-reth-pruned-trace-stripprefix, ipallowlist + + berachain-bartio-node: + build: + context: ./berachain + dockerfile: beacon-kit.Dockerfile + args: + BEACONKIT_VERSION: ${BERACHAIN_BARTIO_BEACON_KIT_VERSION:-v1.1.4} + BEACONKIT_IMAGE: ${BERACHAIN_BARTIO_BEACON_KIT_IMAGE:-ghcr.io/berachain/beacon-kit} + ports: + - 19467:19467 + - 19467:19467/udp + environment: + - AUTH_RPC=http://berachain-bartio:8551 + - CHAINID=80084 + - CHAINNAME=bartio + - CHAIN_SPEC=testnet + - IP=${IP} + - MONIKER=d${DOMAIN:-local} + - P2P_PORT=19467 + restart: unless-stopped + networks: + - chains + volumes: + - ${BERACHAIN_BARTIO_RETH_PRUNED_TRACE__NODE_DATA:-berachain-bartio-reth-pruned-trace_node}:/root/.beacond/data + - ./berachain/scripts/init.sh:/init.sh + - .jwtsecret:/root/.beacond/config/jwt.hex:ro + - berachain-bartio-reth-pruned-trace_config:/root/.beacond/config + +volumes: + berachain-bartio-reth-pruned-trace: + berachain-bartio-reth-pruned-trace_config: + berachain-bartio-reth-pruned-trace_node: + +x-upstreams: + - id: $${ID} + labels: + provider: $${PROVIDER} + connection: + generic: + rpc: + url: $${RPC_URL} + ws: + frameSize: 20Mb + msgSize: 50Mb + url: $${WS_URL} + chain: bartio + method-groups: + enabled: + - debug + - filter + - trace + methods: + disabled: + enabled: + - name: txpool_content # TODO: should be disabled for rollup nodes +... \ No newline at end of file diff --git a/berachain/reth/berachain-bepolia-reth-pruned-trace.yml b/berachain/reth/berachain-bepolia-reth-pruned-trace.yml index 8153bcd5..05ef7523 100644 --- a/berachain/reth/berachain-bepolia-reth-pruned-trace.yml +++ b/berachain/reth/berachain-bepolia-reth-pruned-trace.yml @@ -1,94 +1,129 @@ -# this is what you should know: -# the execution client can not start before the node part initialized and generated a genesis block for the execution client -# those config files are stored in ./berachain//config -# once the execution client is started it needs a push from the node to start syncing but then syncs p2p -# if you restart the beacon node while the execution client is syncing the beacon node will crash loop until sync is done - -# delete and resync: - -# rm -rf berachain/mainnet/config/* && rm -rf /var/lib/docker/volumes/rpc_berachain-mainnet-reth-archive-trace*/_data/* && ./force-recreate.sh berachain-mainnet-archive - -# I also suspect that the peers will blacklist you frequently if you try more than once +--- services: berachain-bepolia: - image: ghcr.io/paradigmxyz/reth:${RETH_VERSION:-v1.3.4} + image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${BERACHAIN_BEPOLIA_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: - - "berachain-bepolia-reth-pruned-trace:/root/.local/share/reth" - - "/slowdisk:/slowdisk" - - ".jwtsecret:/jwtsecret:ro" - - "./berachain/bepolia/config:/config" + ports: + - 12274:12274 + - 12274:12274/udp expose: - 8545 - - 9001 - ports: - - "10274:10274" - - "10274:10274/udp" - restart: unless-stopped + - 8551 environment: - - "IP=${IP}" - entrypoint: ["/bin/sh", "-c", "while [ ! -f /config/eth-genesis.json ]; do sleep 1; done; exec reth node \"$@\"", "--"] + - BOOTNODES=enode://0c5a4a3c0e81fce2974e4d317d88df783731183d534325e32e0fdf8f4b119d7889fa254d3a38890606ec300d744e2aa9c87099a4a032f5c94efe53f3fcdfecfe@34.64.176.79:30303,enode://5b037f66099d5ded86eb7e1619f6d06ceb15609e8cc345ced22a4772b06178004e1490a3cd32fd1222789de4c6e4021c2d648a3d750f6d5323e64b771bbd8de7@34.87.142.180:30303,enode://bb7e44178543431feac8f0ee3827056b7b84d8235b802a8bdbbcd4939dab7f7dd2579ff577a38b002bb0139792af67abd2dd5c9f4f85b8da6e914fa76dca82bc@35.198.150.35:30303,enode://d071fa740e063ce1bb9cdc2b7937baeff6dc4000f91588d730a731c38a6ff0d4015814812c160fab8695e46f74b9b618735368ea2f16db4d785f16d29b3fb7b0@35.203.2.210:30303,enode://0c5a4a3c0e81fce2974e4d317d88df783731183d534325e32e0fdf8f4b119d7889fa254d3a38890606ec300d744e2aa9c87099a4a032f5c94efe53f3fcdfecfe@34.64.176.79:30303 + - CHAINID=80069 + - CHAINNAME=bepolia + - CHAIN_SPEC=testnet + entrypoint: [/bin/bash, -c, "trap 'exit 0' SIGTERM; while [ ! -f /config/eth-genesis.json ] && [ ! -f /tmp/stop ]; do sleep 1 & wait $!; done; exec reth node \"$@\"", --] command: + - --bootnodes=enode://0c5a4a3c0e81fce2974e4d317d88df783731183d534325e32e0fdf8f4b119d7889fa254d3a38890606ec300d744e2aa9c87099a4a032f5c94efe53f3fcdfecfe@34.64.176.79:30303,enode://5b037f66099d5ded86eb7e1619f6d06ceb15609e8cc345ced22a4772b06178004e1490a3cd32fd1222789de4c6e4021c2d648a3d750f6d5323e64b771bbd8de7@34.87.142.180:30303,enode://bb7e44178543431feac8f0ee3827056b7b84d8235b802a8bdbbcd4939dab7f7dd2579ff577a38b002bb0139792af67abd2dd5c9f4f85b8da6e914fa76dca82bc@35.198.150.35:30303,enode://d071fa740e063ce1bb9cdc2b7937baeff6dc4000f91588d730a731c38a6ff0d4015814812c160fab8695e46f74b9b618735368ea2f16db4d785f16d29b3fb7b0@35.203.2.210:30303,enode://0c5a4a3c0e81fce2974e4d317d88df783731183d534325e32e0fdf8f4b119d7889fa254d3a38890606ec300d744e2aa9c87099a4a032f5c94efe53f3fcdfecfe@34.64.176.79:30303 - --chain=/config/eth-genesis.json + - --datadir=/root/.local/share/reth + - --full + - --max-inbound-peers=50 + - --max-outbound-peers=50 - --nat=extip:${IP} - - --metrics=0.0.0.0:9001 + - --port=12274 + - --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=10274 - - --discovery.port=10274 + - --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 - - --bootnodes=enode://0c5a4a3c0e81fce2974e4d317d88df783731183d534325e32e0fdf8f4b119d7889fa254d3a38890606ec300d744e2aa9c87099a4a032f5c94efe53f3fcdfecfe@34.64.176.79:30303,enode://5b037f66099d5ded86eb7e1619f6d06ceb15609e8cc345ced22a4772b06178004e1490a3cd32fd1222789de4c6e4021c2d648a3d750f6d5323e64b771bbd8de7@34.87.142.180:30303,enode://bb7e44178543431feac8f0ee3827056b7b84d8235b802a8bdbbcd4939dab7f7dd2579ff577a38b002bb0139792af67abd2dd5c9f4f85b8da6e914fa76dca82bc@35.198.150.35:30303,enode://d071fa740e063ce1bb9cdc2b7937baeff6dc4000f91588d730a731c38a6ff0d4015814812c160fab8695e46f74b9b618735368ea2f16db4d785f16d29b3fb7b0@35.203.2.210:30303,enode://0c5a4a3c0e81fce2974e4d317d88df783731183d534325e32e0fdf8f4b119d7889fa254d3a38890606ec300d744e2aa9c87099a4a032f5c94efe53f3fcdfecfe@34.64.176.79:30303 - - --full - stop_grace_period: 1m - labels: - - "traefik.enable=true" - - "traefik.http.middlewares.berachain-bepolia-reth-pruned-trace-stripprefix.stripprefix.prefixes=/berachain-bepolia" - - "traefik.http.services.berachain-bepolia-reth-pruned-trace.loadbalancer.server.port=8545" - - "traefik.http.routers.berachain-bepolia-reth-pruned-trace.entrypoints=websecure" - - "traefik.http.routers.berachain-bepolia-reth-pruned-trace.tls.certresolver=myresolver" - - "traefik.http.routers.berachain-bepolia-reth-pruned-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/berachain-bepolia`)" - - "traefik.http.routers.berachain-bepolia-reth-pruned-trace.middlewares=berachain-bepolia-reth-pruned-trace-stripprefix, ipwhitelist" - networks: - - chains - - berachain-bepolia-node: - image: ghcr.io/berachain/beacon-kit:v1.1.3 - expose: - - 26657 #rpc - ports: - - "15274:15274" - - "15274:15274/udp" - environment: - - "IP=${IP}" - - "MONIKER=d${DOMAIN:-local}" - - "P2P_PORT=15274" - - "CHAINNAME=bepolia" - - "CHAINID=80069" - - "AUTH_RPC=http://berachain-bepolia:8551" - - "CHAIN_SPEC=testnet" - entrypoint: [ "sh", "/init.sh" ] + restart: unless-stopped + stop_grace_period: 5m networks: - chains volumes: - - "./berachain/scripts/init.sh:/init.sh" - - "berachain-bepolia-reth-pruned-trace_node:/root/.beacond/data" - - "./berachain/bepolia/config:/root/.beacond/config" - - ".jwtsecret:/root/.beacond/config/jwt.hex:ro" + - ${BERACHAIN_BEPOLIA_RETH_PRUNED_TRACE_DATA:-berachain-bepolia-reth-pruned-trace}:/root/.local/share/reth + - .jwtsecret:/jwtsecret:ro + - /slowdisk:/slowdisk + - berachain-bepolia-reth-pruned-trace_config:/config + labels: + - traefik.enable=true + - traefik.http.middlewares.berachain-bepolia-reth-pruned-trace-stripprefix.stripprefix.prefixes=/berachain-bepolia + - traefik.http.services.berachain-bepolia-reth-pruned-trace.loadbalancer.server.port=8545 + - ${NO_SSL:-traefik.http.routers.berachain-bepolia-reth-pruned-trace.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.berachain-bepolia-reth-pruned-trace.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.berachain-bepolia-reth-pruned-trace.rule=Host(`$DOMAIN`) && (Path(`/berachain-bepolia`) || Path(`/berachain-bepolia/`))} + - ${NO_SSL:+traefik.http.routers.berachain-bepolia-reth-pruned-trace.rule=Path(`/berachain-bepolia`) || Path(`/berachain-bepolia/`)} + - traefik.http.routers.berachain-bepolia-reth-pruned-trace.middlewares=berachain-bepolia-reth-pruned-trace-stripprefix, ipallowlist + + berachain-bepolia-node: + build: + context: ./berachain + dockerfile: beacon-kit.Dockerfile + args: + BEACONKIT_VERSION: ${BERACHAIN_BEPOLIA_BEACON_KIT_VERSION:-v1.1.4} + BEACONKIT_IMAGE: ${BERACHAIN_BEPOLIA_BEACON_KIT_IMAGE:-ghcr.io/berachain/beacon-kit} + ports: + - 17274:17274 + - 17274:17274/udp + environment: + - AUTH_RPC=http://berachain-bepolia:8551 + - CHAINID=80069 + - CHAINNAME=bepolia + - CHAIN_SPEC=testnet + - IP=${IP} + - MONIKER=d${DOMAIN:-local} + - P2P_PORT=17274 restart: unless-stopped - stop_grace_period: 1m + networks: + - chains + volumes: + - ${BERACHAIN_BEPOLIA_RETH_PRUNED_TRACE__NODE_DATA:-berachain-bepolia-reth-pruned-trace_node}:/root/.beacond/data + - ./berachain/scripts/init.sh:/init.sh + - .jwtsecret:/root/.beacond/config/jwt.hex:ro + - berachain-bepolia-reth-pruned-trace_config:/root/.beacond/config volumes: - berachain-bepolia-reth-pruned-trace: - berachain-bepolia-reth-pruned-trace_node: \ No newline at end of file + berachain-bepolia-reth-pruned-trace: + berachain-bepolia-reth-pruned-trace_config: + berachain-bepolia-reth-pruned-trace_node: + +x-upstreams: + - id: $${ID} + labels: + provider: $${PROVIDER} + connection: + generic: + rpc: + url: $${RPC_URL} + ws: + frameSize: 20Mb + msgSize: 50Mb + url: $${WS_URL} + chain: berachain-bepolia + method-groups: + enabled: + - debug + - filter + - trace + methods: + disabled: + enabled: + - name: txpool_content # TODO: should be disabled for rollup nodes +... \ No newline at end of file diff --git a/berachain/reth/berachain-mainnet-reth-pruned-trace.yml b/berachain/reth/berachain-mainnet-reth-pruned-trace.yml index 8ce16776..93c7b6b0 100644 --- a/berachain/reth/berachain-mainnet-reth-pruned-trace.yml +++ b/berachain/reth/berachain-mainnet-reth-pruned-trace.yml @@ -1,94 +1,129 @@ -# this is what you should know: -# the execution client can not start before the node part initialized and generated a genesis block for the execution client -# those config files are stored in ./berachain//config -# once the execution client is started it needs a push from the node to start syncing but then syncs p2p -# if you restart the beacon node while the execution client is syncing the beacon node will crash loop until sync is done - -# delete and resync: - -# rm -rf berachain/mainnet/config/* && rm -rf /var/lib/docker/volumes/rpc_berachain-mainnet-reth-archive-trace*/_data/* && ./force-recreate.sh berachain-mainnet-archive - -# I also suspect that the peers will blacklist you frequently if you try more than once +--- services: berachain-mainnet: - image: ghcr.io/paradigmxyz/reth:${RETH_VERSION:-v1.3.4} + image: ${BERACHAIN_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${BERACHAIN_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: - - "berachain-mainnet-reth-pruned-trace:/root/.local/share/reth" - - "/slowdisk:/slowdisk" - - ".jwtsecret:/jwtsecret:ro" - - "./berachain/mainnet/config:/config" + ports: + - 10900:10900 + - 10900:10900/udp expose: - 8545 - - 9001 - ports: - - "10900:10900" - - "10900:10900/udp" - restart: unless-stopped + - 8551 environment: - - "IP=${IP}" - entrypoint: ["/bin/sh", "-c", "while [ ! -f /config/eth-genesis.json ]; do sleep 1; done; exec reth node \"$@\"", "--"] + - BOOTNODES=enode://0c5a4a3c0e81fce2974e4d317d88df783731183d534325e32e0fdf8f4b119d7889fa254d3a38890606ec300d744e2aa9c87099a4a032f5c94efe53f3fcdfecfe@34.22.104.177:30303 + - CHAINID=80094 + - CHAINNAME=mainnet + - CHAIN_SPEC=mainnet + entrypoint: [/bin/bash, -c, "trap 'exit 0' SIGTERM; while [ ! -f /config/eth-genesis.json ] && [ ! -f /tmp/stop ]; do sleep 1 & wait $!; done; exec reth node \"$@\"", --] command: + - --bootnodes=enode://0c5a4a3c0e81fce2974e4d317d88df783731183d534325e32e0fdf8f4b119d7889fa254d3a38890606ec300d744e2aa9c87099a4a032f5c94efe53f3fcdfecfe@34.22.104.177:30303 - --chain=/config/eth-genesis.json + - --datadir=/root/.local/share/reth + - --full + - --max-inbound-peers=50 + - --max-outbound-peers=50 - --nat=extip:${IP} - - --metrics=0.0.0.0:9001 + - --port=10900 + - --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=10900 - - --discovery.port=10900 + - --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 - - --bootnodes=enode://0c5a4a3c0e81fce2974e4d317d88df783731183d534325e32e0fdf8f4b119d7889fa254d3a38890606ec300d744e2aa9c87099a4a032f5c94efe53f3fcdfecfe@34.22.104.177:30303,enode://b6a3137d3a36ef37c4d31843775a9dc293f41bcbde33b6309c80b1771b6634827cd188285136a57474427bd8845adc2f6fe2e0b106bd58d14795b08910b9c326@34.64.247.85:30303,enode://0b6633300614bc2b9749aee0cace7a091ec5348762aee7b1d195f7616d03a9409019d9bef336624bab72e0d069cd4cf0b0de6fbbf53f04f6b6e4c5b39c6bdca6@34.22.73.21:30303,enode://552b001abebb5805fcd734ad367cd05d9078d18f23ec598d7165460fadcfc51116ad95c418f7ea9a141aa8cbc496c8bea3322b67a5de0d3380f11aab1a797513@34.64.37.55:30303,enode://5b037f66099d5ded86eb7e1619f6d06ceb15609e8cc345ced22a4772b06178004e1490a3cd32fd1222789de4c6e4021c2d648a3d750f6d5323e64b771bbd8de7@35.247.182.34:30303,enode://846db253c53753d3ea1197aec296306dc84c25f3afdf142b65cb0fe0f984de55072daa3bbf05a9aea046a38a2292403137b6eafefd5646fcf62120b74e3b898d@34.87.9.231:30303,enode://64b7f6ee9bcd942ad4949c70f2077627f078a057dfd930e6e904e12643d8952f5ae87c91e24559765393f244a72c9d5c011d7d5176e59191d38f315db85a20f5@34.126.78.49:30303,enode://cf4d19bfb8ec507427ec882bac0bac85a0c8c9ddaa0ec91b773bb614e5e09d107cd9fbe323b96f62f31c493f8f42cc5495c18b87c08560c5dea1dfd25256dcf6@35.240.200.36:30303,enode://bb7e44178543431feac8f0ee3827056b7b84d8235b802a8bdbbcd4939dab7f7dd2579ff577a38b002bb0139792af67abd2dd5c9f4f85b8da6e914fa76dca82bc@34.40.14.50:30303,enode://8fef1f5df45e7b31be00a21e1da5665d5a5f5bf4c379086b843f03eade941bdd157f08c95b31880c492577edb9a9b185df7191eaebf54ab06d5bd683b289f3af@35.246.168.217:30303,enode://ce9c87cfe089f6811d26c96913fa3ec10b938d9017fc6246684c74a33679ee34ceca9447180fb509e37bf2b706c2877a82085d34bfd83b5b520ee1288b0fc32f@34.40.28.159:30303,enode://713657eb6a53feadcbc47e634ad557326a51eb6818a3e19a00a8111492f50a666ccbf2f5d334d247ecf941e68d242ef5c3b812b63c44d381ef11f79c2cdb45c7@35.234.82.236:30303,enode://d071fa740e063ce1bb9cdc2b7937baeff6dc4000f91588d730a731c38a6ff0d4015814812c160fab8695e46f74b9b618735368ea2f16db4d785f16d29b3fb7b0@35.203.86.197:30303,enode://ffc452fe451a2e5f89fe634744aea334d92dcd30d881b76209d2db7dbf4b7ee047e7c69a5bb1633764d987a7441d9c4bc57ccdbfd6442a2f860bf953bc89a9b9@34.118.187.161:30303,enode://da94328302a1d1422209d1916744e90b6095a48b2340dcec39b22002c098bb4d58a880dab98eb26edf03fa4705d1b62f99a8c5c14e6666e4726b6d3066d8a4d7@34.95.30.190:30303,enode://19c7671a4844699b481e81a5bcfe7bafc7fefa953c16ebbe1951b1046371e73839e9058de6b7d3c934318fe7e7233dde3621c1c1018eb8b294ea3d4516147150@34.47.60.196:30303 - - --full - stop_grace_period: 1m - labels: - - "traefik.enable=true" - - "traefik.http.middlewares.berachain-mainnet-reth-pruned-trace-stripprefix.stripprefix.prefixes=/berachain-mainnet" - - "traefik.http.services.berachain-mainnet-reth-pruned-trace.loadbalancer.server.port=8545" - - "traefik.http.routers.berachain-mainnet-reth-pruned-trace.entrypoints=websecure" - - "traefik.http.routers.berachain-mainnet-reth-pruned-trace.tls.certresolver=myresolver" - - "traefik.http.routers.berachain-mainnet-reth-pruned-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/berachain-mainnet`)" - - "traefik.http.routers.berachain-mainnet-reth-pruned-trace.middlewares=berachain-mainnet-reth-pruned-trace-stripprefix, ipwhitelist" - networks: - - chains - - berachain-mainnet-node: - image: ghcr.io/berachain/beacon-kit:v1.1.3 - expose: - - 26657 #rpc - ports: - - "15900:15900" - - "15900:15900/udp" - environment: - - "IP=${IP}" - - "MONIKER=d${DOMAIN:-local}" - - "P2P_PORT=15900" - - "CHAINNAME=mainnet" - - "CHAINID=80094" - - "AUTH_RPC=http://berachain-mainnet:8551" - - "CHAIN_SPEC=mainnet" - entrypoint: [ "sh", "/init.sh" ] + restart: unless-stopped + stop_grace_period: 5m networks: - chains volumes: - - "./berachain/scripts/init.sh:/init.sh" - - "berachain-mainnet-reth-pruned-trace_node:/root/.beacond/data" - - "./berachain/mainnet/config:/root/.beacond/config" - - ".jwtsecret:/root/.beacond/config/jwt.hex:ro" + - ${BERACHAIN_MAINNET_RETH_PRUNED_TRACE_DATA:-berachain-mainnet-reth-pruned-trace}:/root/.local/share/reth + - .jwtsecret:/jwtsecret:ro + - /slowdisk:/slowdisk + - berachain-mainnet-reth-pruned-trace_config:/config + labels: + - traefik.enable=true + - traefik.http.middlewares.berachain-mainnet-reth-pruned-trace-stripprefix.stripprefix.prefixes=/berachain-mainnet + - traefik.http.services.berachain-mainnet-reth-pruned-trace.loadbalancer.server.port=8545 + - ${NO_SSL:-traefik.http.routers.berachain-mainnet-reth-pruned-trace.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.berachain-mainnet-reth-pruned-trace.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.berachain-mainnet-reth-pruned-trace.rule=Host(`$DOMAIN`) && (Path(`/berachain-mainnet`) || Path(`/berachain-mainnet/`))} + - ${NO_SSL:+traefik.http.routers.berachain-mainnet-reth-pruned-trace.rule=Path(`/berachain-mainnet`) || Path(`/berachain-mainnet/`)} + - traefik.http.routers.berachain-mainnet-reth-pruned-trace.middlewares=berachain-mainnet-reth-pruned-trace-stripprefix, ipallowlist + + berachain-mainnet-node: + build: + context: ./berachain + dockerfile: beacon-kit.Dockerfile + args: + BEACONKIT_VERSION: ${BERACHAIN_MAINNET_BEACON_KIT_VERSION:-v1.1.4} + BEACONKIT_IMAGE: ${BERACHAIN_MAINNET_BEACON_KIT_IMAGE:-ghcr.io/berachain/beacon-kit} + ports: + - 15900:15900 + - 15900:15900/udp + environment: + - AUTH_RPC=http://berachain-mainnet:8551 + - CHAINID=80094 + - CHAINNAME=mainnet + - CHAIN_SPEC=mainnet + - IP=${IP} + - MONIKER=d${DOMAIN:-local} + - P2P_PORT=15900 restart: unless-stopped - stop_grace_period: 1m + networks: + - chains + volumes: + - ${BERACHAIN_MAINNET_RETH_PRUNED_TRACE__NODE_DATA:-berachain-mainnet-reth-pruned-trace_node}:/root/.beacond/data + - ./berachain/scripts/init.sh:/init.sh + - .jwtsecret:/root/.beacond/config/jwt.hex:ro + - berachain-mainnet-reth-pruned-trace_config:/root/.beacond/config volumes: - berachain-mainnet-reth-pruned-trace: - berachain-mainnet-reth-pruned-trace_node: \ No newline at end of file + berachain-mainnet-reth-pruned-trace: + berachain-mainnet-reth-pruned-trace_config: + berachain-mainnet-reth-pruned-trace_node: + +x-upstreams: + - id: $${ID} + labels: + provider: $${PROVIDER} + connection: + generic: + rpc: + url: $${RPC_URL} + ws: + frameSize: 20Mb + msgSize: 50Mb + url: $${WS_URL} + chain: berachain + method-groups: + enabled: + - debug + - filter + - trace + methods: + disabled: + enabled: + - name: txpool_content # TODO: should be disabled for rollup nodes +... \ No newline at end of file