diff --git a/celo/geth/celo-alfajores-geth-archive-leveldb-hash.yml b/celo/geth/celo-alfajores-geth-archive-leveldb-hash.yml index 088ace45..576dc9f9 100644 --- a/celo/geth/celo-alfajores-geth-archive-leveldb-hash.yml +++ b/celo/geth/celo-alfajores-geth-archive-leveldb-hash.yml @@ -19,7 +19,7 @@ # # docker compose up -d # -# curl -X POST https://${IP}.traefik.me/celo-alfajores-archive \ +# curl -X POST https://${IP}.traefik.me/celo-alfajores-geth-archive \ # -H "Content-Type: application/json" \ # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' x-logging-defaults: &logging-defaults @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults max-file: '3' services: - celo-alfajores-archive: + celo-alfajores-geth-archive: image: ${CELO_GETH_IMAGE:-us.gcr.io/celo-org/geth}:${CELO_ALFAJORES_GETH_VERSION:-1.8.9} sysctls: # TCP Performance @@ -85,12 +85,12 @@ services: - prometheus-scrape.port=6060 - prometheus-scrape.path=/debug/metrics/prometheus - traefik.enable=true - - traefik.http.middlewares.celo-alfajores-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-alfajores-archive + - traefik.http.middlewares.celo-alfajores-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-alfajores-geth-archive - traefik.http.services.celo-alfajores-geth-archive-leveldb-hash.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.celo-alfajores-geth-archive-leveldb-hash.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.celo-alfajores-geth-archive-leveldb-hash.tls.certresolver=myresolver} - - ${NO_SSL:-traefik.http.routers.celo-alfajores-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/celo-alfajores-archive`) || Path(`/celo-alfajores-archive/`))} - - ${NO_SSL:+traefik.http.routers.celo-alfajores-geth-archive-leveldb-hash.rule=Path(`/celo-alfajores-archive`) || Path(`/celo-alfajores-archive/`)} + - ${NO_SSL:-traefik.http.routers.celo-alfajores-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/celo-alfajores-geth-archive`) || Path(`/celo-alfajores-geth-archive/`))} + - ${NO_SSL:+traefik.http.routers.celo-alfajores-geth-archive-leveldb-hash.rule=Path(`/celo-alfajores-geth-archive`) || Path(`/celo-alfajores-geth-archive/`)} - traefik.http.routers.celo-alfajores-geth-archive-leveldb-hash.middlewares=celo-alfajores-geth-archive-leveldb-hash-stripprefix, ipallowlist volumes: diff --git a/celo/geth/celo-alfajores-geth-pruned-leveldb-hash.yml b/celo/geth/celo-alfajores-geth-pruned-leveldb-hash.yml index 0f4cd450..918b20ba 100644 --- a/celo/geth/celo-alfajores-geth-pruned-leveldb-hash.yml +++ b/celo/geth/celo-alfajores-geth-pruned-leveldb-hash.yml @@ -19,7 +19,7 @@ # # docker compose up -d # -# curl -X POST https://${IP}.traefik.me/celo-alfajores \ +# curl -X POST https://${IP}.traefik.me/celo-alfajores-geth \ # -H "Content-Type: application/json" \ # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' x-logging-defaults: &logging-defaults @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults max-file: '3' services: - celo-alfajores: + celo-alfajores-geth: image: ${CELO_GETH_IMAGE:-us.gcr.io/celo-org/geth}:${CELO_ALFAJORES_GETH_VERSION:-1.8.9} sysctls: # TCP Performance @@ -85,12 +85,12 @@ services: - prometheus-scrape.port=6060 - prometheus-scrape.path=/debug/metrics/prometheus - traefik.enable=true - - traefik.http.middlewares.celo-alfajores-geth-pruned-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-alfajores + - traefik.http.middlewares.celo-alfajores-geth-pruned-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-alfajores-geth - traefik.http.services.celo-alfajores-geth-pruned-leveldb-hash.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.celo-alfajores-geth-pruned-leveldb-hash.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.celo-alfajores-geth-pruned-leveldb-hash.tls.certresolver=myresolver} - - ${NO_SSL:-traefik.http.routers.celo-alfajores-geth-pruned-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/celo-alfajores`) || Path(`/celo-alfajores/`))} - - ${NO_SSL:+traefik.http.routers.celo-alfajores-geth-pruned-leveldb-hash.rule=Path(`/celo-alfajores`) || Path(`/celo-alfajores/`)} + - ${NO_SSL:-traefik.http.routers.celo-alfajores-geth-pruned-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/celo-alfajores-geth`) || Path(`/celo-alfajores-geth/`))} + - ${NO_SSL:+traefik.http.routers.celo-alfajores-geth-pruned-leveldb-hash.rule=Path(`/celo-alfajores-geth`) || Path(`/celo-alfajores-geth/`)} - traefik.http.routers.celo-alfajores-geth-pruned-leveldb-hash.middlewares=celo-alfajores-geth-pruned-leveldb-hash-stripprefix, ipallowlist volumes: diff --git a/celo/geth/celo-mainnet-geth-archive-leveldb-hash.yml b/celo/geth/celo-mainnet-geth-archive-leveldb-hash.yml index 67980ca7..629b8c6f 100644 --- a/celo/geth/celo-mainnet-geth-archive-leveldb-hash.yml +++ b/celo/geth/celo-mainnet-geth-archive-leveldb-hash.yml @@ -19,7 +19,7 @@ # # docker compose up -d # -# curl -X POST https://${IP}.traefik.me/celo-mainnet-archive \ +# curl -X POST https://${IP}.traefik.me/celo-mainnet-geth-archive \ # -H "Content-Type: application/json" \ # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' x-logging-defaults: &logging-defaults @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults max-file: '3' services: - celo-mainnet-archive: + celo-mainnet-geth-archive: image: ${CELO_GETH_IMAGE:-us.gcr.io/celo-org/geth}:${CELO_MAINNET_GETH_VERSION:-1.8.9} sysctls: # TCP Performance @@ -85,12 +85,12 @@ services: - prometheus-scrape.port=6060 - prometheus-scrape.path=/debug/metrics/prometheus - traefik.enable=true - - traefik.http.middlewares.celo-mainnet-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-mainnet-archive + - traefik.http.middlewares.celo-mainnet-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-mainnet-geth-archive - traefik.http.services.celo-mainnet-geth-archive-leveldb-hash.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.celo-mainnet-geth-archive-leveldb-hash.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.celo-mainnet-geth-archive-leveldb-hash.tls.certresolver=myresolver} - - ${NO_SSL:-traefik.http.routers.celo-mainnet-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/celo-mainnet-archive`) || Path(`/celo-mainnet-archive/`))} - - ${NO_SSL:+traefik.http.routers.celo-mainnet-geth-archive-leveldb-hash.rule=Path(`/celo-mainnet-archive`) || Path(`/celo-mainnet-archive/`)} + - ${NO_SSL:-traefik.http.routers.celo-mainnet-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/celo-mainnet-geth-archive`) || Path(`/celo-mainnet-geth-archive/`))} + - ${NO_SSL:+traefik.http.routers.celo-mainnet-geth-archive-leveldb-hash.rule=Path(`/celo-mainnet-geth-archive`) || Path(`/celo-mainnet-geth-archive/`)} - traefik.http.routers.celo-mainnet-geth-archive-leveldb-hash.middlewares=celo-mainnet-geth-archive-leveldb-hash-stripprefix, ipallowlist volumes: diff --git a/celo/geth/celo-mainnet-geth-pruned-leveldb-hash.yml b/celo/geth/celo-mainnet-geth-pruned-leveldb-hash.yml index 13bb77fa..eb50b1ab 100644 --- a/celo/geth/celo-mainnet-geth-pruned-leveldb-hash.yml +++ b/celo/geth/celo-mainnet-geth-pruned-leveldb-hash.yml @@ -19,7 +19,7 @@ # # docker compose up -d # -# curl -X POST https://${IP}.traefik.me/celo-mainnet \ +# curl -X POST https://${IP}.traefik.me/celo-mainnet-geth \ # -H "Content-Type: application/json" \ # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' x-logging-defaults: &logging-defaults @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults max-file: '3' services: - celo-mainnet: + celo-mainnet-geth: image: ${CELO_GETH_IMAGE:-us.gcr.io/celo-org/geth}:${CELO_MAINNET_GETH_VERSION:-1.8.9} sysctls: # TCP Performance @@ -85,12 +85,12 @@ services: - prometheus-scrape.port=6060 - prometheus-scrape.path=/debug/metrics/prometheus - traefik.enable=true - - traefik.http.middlewares.celo-mainnet-geth-pruned-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-mainnet + - traefik.http.middlewares.celo-mainnet-geth-pruned-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-mainnet-geth - traefik.http.services.celo-mainnet-geth-pruned-leveldb-hash.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.celo-mainnet-geth-pruned-leveldb-hash.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.celo-mainnet-geth-pruned-leveldb-hash.tls.certresolver=myresolver} - - ${NO_SSL:-traefik.http.routers.celo-mainnet-geth-pruned-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/celo-mainnet`) || Path(`/celo-mainnet/`))} - - ${NO_SSL:+traefik.http.routers.celo-mainnet-geth-pruned-leveldb-hash.rule=Path(`/celo-mainnet`) || Path(`/celo-mainnet/`)} + - ${NO_SSL:-traefik.http.routers.celo-mainnet-geth-pruned-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/celo-mainnet-geth`) || Path(`/celo-mainnet-geth/`))} + - ${NO_SSL:+traefik.http.routers.celo-mainnet-geth-pruned-leveldb-hash.rule=Path(`/celo-mainnet-geth`) || Path(`/celo-mainnet-geth/`)} - traefik.http.routers.celo-mainnet-geth-pruned-leveldb-hash.middlewares=celo-mainnet-geth-pruned-leveldb-hash-stripprefix, ipallowlist volumes: diff --git a/op/geth/celo-alfajores-op-geth-archive-leveldb-hash.yml b/op/geth/celo-alfajores-op-geth-archive-leveldb-hash.yml index a34d08f7..3941d51e 100644 --- a/op/geth/celo-alfajores-op-geth-archive-leveldb-hash.yml +++ b/op/geth/celo-alfajores-op-geth-archive-leveldb-hash.yml @@ -190,6 +190,66 @@ services: labels: - prometheus-scrape.enabled=false + celo-alfajores-geth-archive: + image: ${CELO_GETH_IMAGE:-us.gcr.io/celo-org/geth}:${CELO_ALFAJORES_GETH_VERSION:-1.8.9} + 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) + user: root + ports: + - 12386:12386 + - 12386:12386/udp + expose: + - 8545 + - 6060 + command: + - --datadir=/root/.celo + - --gcmode=archive + - --http + - --http.addr=0.0.0.0 + - --http.api=admin,debug,web3,eth,istanbul,net + - --http.port=8545 + - --http.vhosts=* + - --maxpeers=50 + - --metrics + - --metrics.addr=0.0.0.0 + - --metrics.port=6060 + - --nat=extip:${IP} + - --port=12386 + - --rpc.gascap=600000000 + - --rpc.txfeecap=0 + - --ws + - --ws.addr=0.0.0.0 + - --ws.api=admin,debug,web3,eth,istanbul,net + - --ws.origins=* + - --ws.port=8545 + restart: unless-stopped + stop_grace_period: 5m + networks: + - chains + volumes: + - ${CELO_ALFAJORES_GETH_ARCHIVE_LEVELDB_HASH_DATA:-celo-alfajores-geth-archive-leveldb-hash}:/root/.celo + - /slowdisk:/slowdisk + logging: + driver: json-file + options: + max-size: 10m + max-file: '3' + labels: + - prometheus-scrape.enabled=true + - prometheus-scrape.port=6060 + - prometheus-scrape.path=/debug/metrics/prometheus + volumes: celo-alfajores-geth-archive-leveldb-hash: celo-alfajores-op-geth-archive-leveldb-hash: diff --git a/op/geth/celo-alfajores-op-geth-pruned-leveldb-hash.yml b/op/geth/celo-alfajores-op-geth-pruned-leveldb-hash.yml index 2b632e3e..eb2ce1f8 100644 --- a/op/geth/celo-alfajores-op-geth-pruned-leveldb-hash.yml +++ b/op/geth/celo-alfajores-op-geth-pruned-leveldb-hash.yml @@ -189,6 +189,66 @@ services: labels: - prometheus-scrape.enabled=false + celo-alfajores-geth: + image: ${CELO_GETH_IMAGE:-us.gcr.io/celo-org/geth}:${CELO_ALFAJORES_GETH_VERSION:-1.8.9} + 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) + user: root + ports: + - 13307:13307 + - 13307:13307/udp + expose: + - 8545 + - 6060 + command: + - --datadir=/root/.celo + - --gcmode=full + - --http + - --http.addr=0.0.0.0 + - --http.api=admin,debug,web3,eth,istanbul,net + - --http.port=8545 + - --http.vhosts=* + - --maxpeers=50 + - --metrics + - --metrics.addr=0.0.0.0 + - --metrics.port=6060 + - --nat=extip:${IP} + - --port=13307 + - --rpc.gascap=600000000 + - --rpc.txfeecap=0 + - --ws + - --ws.addr=0.0.0.0 + - --ws.api=admin,debug,web3,eth,istanbul,net + - --ws.origins=* + - --ws.port=8545 + restart: unless-stopped + stop_grace_period: 5m + networks: + - chains + volumes: + - ${CELO_ALFAJORES_GETH_PRUNED_LEVELDB_HASH_DATA:-celo-alfajores-geth-pruned-leveldb-hash}:/root/.celo + - /slowdisk:/slowdisk + logging: + driver: json-file + options: + max-size: 10m + max-file: '3' + labels: + - prometheus-scrape.enabled=true + - prometheus-scrape.port=6060 + - prometheus-scrape.path=/debug/metrics/prometheus + volumes: celo-alfajores-geth-pruned-leveldb-hash: celo-alfajores-op-geth-pruned-leveldb-hash: diff --git a/op/geth/celo-mainnet-op-geth-archive-leveldb-hash.yml b/op/geth/celo-mainnet-op-geth-archive-leveldb-hash.yml index 6954aabe..a0a16154 100644 --- a/op/geth/celo-mainnet-op-geth-archive-leveldb-hash.yml +++ b/op/geth/celo-mainnet-op-geth-archive-leveldb-hash.yml @@ -191,6 +191,66 @@ services: labels: - prometheus-scrape.enabled=false + celo-mainnet-geth-archive: + image: ${CELO_GETH_IMAGE:-us.gcr.io/celo-org/geth}:${CELO_MAINNET_GETH_VERSION:-1.8.9} + 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) + user: root + ports: + - 10164:10164 + - 10164:10164/udp + expose: + - 8545 + - 6060 + command: + - --datadir=/root/.celo + - --gcmode=archive + - --http + - --http.addr=0.0.0.0 + - --http.api=admin,debug,web3,eth,istanbul,net + - --http.port=8545 + - --http.vhosts=* + - --maxpeers=50 + - --metrics + - --metrics.addr=0.0.0.0 + - --metrics.port=6060 + - --nat=extip:${IP} + - --port=10164 + - --rpc.gascap=600000000 + - --rpc.txfeecap=0 + - --ws + - --ws.addr=0.0.0.0 + - --ws.api=admin,debug,web3,eth,istanbul,net + - --ws.origins=* + - --ws.port=8545 + restart: unless-stopped + stop_grace_period: 5m + networks: + - chains + volumes: + - ${CELO_MAINNET_GETH_ARCHIVE_LEVELDB_HASH_DATA:-celo-mainnet-geth-archive-leveldb-hash}:/root/.celo + - /slowdisk:/slowdisk + logging: + driver: json-file + options: + max-size: 10m + max-file: '3' + labels: + - prometheus-scrape.enabled=true + - prometheus-scrape.port=6060 + - prometheus-scrape.path=/debug/metrics/prometheus + volumes: celo-mainnet-geth-archive-leveldb-hash: celo-mainnet-op-geth-archive-leveldb-hash: diff --git a/op/geth/celo-mainnet-op-geth-pruned-leveldb-hash.yml b/op/geth/celo-mainnet-op-geth-pruned-leveldb-hash.yml index 808b2edf..20fe514d 100644 --- a/op/geth/celo-mainnet-op-geth-pruned-leveldb-hash.yml +++ b/op/geth/celo-mainnet-op-geth-pruned-leveldb-hash.yml @@ -190,6 +190,66 @@ services: labels: - prometheus-scrape.enabled=false + celo-mainnet-geth: + image: ${CELO_GETH_IMAGE:-us.gcr.io/celo-org/geth}:${CELO_MAINNET_GETH_VERSION:-1.8.9} + 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) + user: root + ports: + - 11882:11882 + - 11882:11882/udp + expose: + - 8545 + - 6060 + command: + - --datadir=/root/.celo + - --gcmode=full + - --http + - --http.addr=0.0.0.0 + - --http.api=admin,debug,web3,eth,istanbul,net + - --http.port=8545 + - --http.vhosts=* + - --maxpeers=50 + - --metrics + - --metrics.addr=0.0.0.0 + - --metrics.port=6060 + - --nat=extip:${IP} + - --port=11882 + - --rpc.gascap=600000000 + - --rpc.txfeecap=0 + - --ws + - --ws.addr=0.0.0.0 + - --ws.api=admin,debug,web3,eth,istanbul,net + - --ws.origins=* + - --ws.port=8545 + restart: unless-stopped + stop_grace_period: 5m + networks: + - chains + volumes: + - ${CELO_MAINNET_GETH_PRUNED_LEVELDB_HASH_DATA:-celo-mainnet-geth-pruned-leveldb-hash}:/root/.celo + - /slowdisk:/slowdisk + logging: + driver: json-file + options: + max-size: 10m + max-file: '3' + labels: + - prometheus-scrape.enabled=true + - prometheus-scrape.port=6060 + - prometheus-scrape.path=/debug/metrics/prometheus + volumes: celo-mainnet-geth-pruned-leveldb-hash: celo-mainnet-op-geth-pruned-leveldb-hash: