--- x-logging-defaults: &logging-defaults driver: json-file options: max-size: "10m" max-file: "3" # Usage: # # mkdir rpc && cd rpc # # git init # git remote add origin https://github.com/StakeSquid/ethereum-rpc-docker.git # git fetch origin vibe # git checkout origin/vibe # # docker run --rm alpine sh -c "printf '0x'; head -c32 /dev/urandom | xxd -p -c 64" > .jwtsecret # # env # ... # IP=$(curl ipinfo.io/ip) # DOMAIN=${IP}.traefik.me # COMPOSE_FILE=base.yml:rpc.yml:op/geth/celo-mainnet-op-geth-archive-leveldb-hash.yml # # docker compose up -d # # curl -X POST https://${IP}.traefik.me/celo-mainnet-archive \ # -H "Content-Type: application/json" \ # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: celo-mainnet-archive: image: ${CELO_GETH_IMAGE:-us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth}:${CELO_MAINNET_GETH_VERSION:-celo-v2.1.2} 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: - 12111:12111 - 12111:12111/udp expose: - 8545 - 6060 - 8551 environment: - EIGENDA_PROXY_EIGENDA_DISPERSER_RPC=disperser.eigenda.xyz:443 - EIGENDA_PROXY_EIGENDA_SERVICE_MANAGER_ADDR=0x870679e138bcdf293b7ff14dd44b70fc97e12fc0 - GETH_BOOTNODES=enode://28f4fcb7f38c1b012087f7aef25dcb0a1257ccf1cdc4caa88584dc25416129069b514908c8cead5d0105cb0041dd65cd4ee185ae0d379a586fb07b1447e9de38@34.169.39.223:30303,enode://a9077c3e030206954c5c7f22cc16a32cb5013112aa8985e3575fadda7884a508384e1e63c077b7d9fcb4a15c716465d8585567f047c564ada2e823145591e444@34.169.212.31:30303,enode://029b007a7a56acbaa8ea50ec62cda279484bf3843fae1646f690566f784aca50e7d732a9a0530f0541e5ed82ba9bf2a4e21b9021559c5b8b527b91c9c7a38579@34.82.139.199:30303,enode://f3c96b73a5772c5efb48d5a33bf193e58080d826ba7f03e9d5bdef20c0634a4f83475add92ab6313b7a24aa4f729689efb36f5093e5d527bb25e823f8a377224@34.82.84.247:30303,enode://daa5ad65d16bcb0967cf478d9f20544bf1b6de617634e452dff7b947279f41f408b548261d62483f2034d237f61cbcf92a83fc992dbae884156f28ce68533205@34.168.45.168:30303,enode://c79d596d77268387e599695d23e941c14c220745052ea6642a71ef7df31a13874cb7f2ce2ecf5a8a458cfc9b5d9219ce3e8bc6e5c279656177579605a5533c4f@35.247.32.229:30303,enode://4151336075dd08eb6c75bfd63855e8a4bd6fd0f91ae4a81b14930f2671e16aee55495c139380c16e1094a49691875e69e40a3a5e2b4960c7859e7eb5745f9387@35.205.149.224:30303,enode://ab999db751265c714b171344de1972ed74348162de465a0444f56e50b8cfd048725b213ba1fe48c15e3dfb0638e685ea9a21b8447a54eb2962c6768f43018e5c@34.79.3.199:30303,enode://9d86d92fb38a429330546fe1aefce264e1f55c5d40249b63153e7df744005fa3c1e2da295e307041fd30ab1c618715f362c932c28715bc20bed7ae4fc76dea81@34.77.144.164:30303,enode://c82c31f21dd5bbb8dc35686ff67a4353382b4017c9ec7660a383ccb5b8e3b04c6d7aefe71203e550382f6f892795728570f8190afd885efcb7b78fa398608699@34.76.202.74:30303,enode://3bad5f57ad8de6541f02e36d806b87e7e9ca6d533c956e89a56b3054ae85d608784f2cd948dc685f7d6bbd5a2f6dd1a23cc03e529ea370dd72d880864a2af6a3@104.199.93.87:30303,enode://1decf3b8b9a0d0b8332d15218f3bf0ceb9606b0efe18f352c51effc14bbf1f4f3f46711e1d460230cb361302ceaad2be48b5b187ad946e50d729b34e463268d2@35.240.26.148:30303 - GETH_ROLLUP_DISABLETXPOOLGOSSIP=true - GETH_ROLLUP_SEQUENCERHTTP=https://cel2-sequencer.celo.org entrypoint: /bin/sh -c '[ ! -d /data/geth ] && geth init --datadir /data /config/genesis.json; exec geth "$@"' -- command: - --bootnodes=enode://28f4fcb7f38c1b012087f7aef25dcb0a1257ccf1cdc4caa88584dc25416129069b514908c8cead5d0105cb0041dd65cd4ee185ae0d379a586fb07b1447e9de38@34.169.39.223:30303,enode://a9077c3e030206954c5c7f22cc16a32cb5013112aa8985e3575fadda7884a508384e1e63c077b7d9fcb4a15c716465d8585567f047c564ada2e823145591e444@34.169.212.31:30303,enode://029b007a7a56acbaa8ea50ec62cda279484bf3843fae1646f690566f784aca50e7d732a9a0530f0541e5ed82ba9bf2a4e21b9021559c5b8b527b91c9c7a38579@34.82.139.199:30303,enode://f3c96b73a5772c5efb48d5a33bf193e58080d826ba7f03e9d5bdef20c0634a4f83475add92ab6313b7a24aa4f729689efb36f5093e5d527bb25e823f8a377224@34.82.84.247:30303,enode://daa5ad65d16bcb0967cf478d9f20544bf1b6de617634e452dff7b947279f41f408b548261d62483f2034d237f61cbcf92a83fc992dbae884156f28ce68533205@34.168.45.168:30303,enode://c79d596d77268387e599695d23e941c14c220745052ea6642a71ef7df31a13874cb7f2ce2ecf5a8a458cfc9b5d9219ce3e8bc6e5c279656177579605a5533c4f@35.247.32.229:30303,enode://4151336075dd08eb6c75bfd63855e8a4bd6fd0f91ae4a81b14930f2671e16aee55495c139380c16e1094a49691875e69e40a3a5e2b4960c7859e7eb5745f9387@35.205.149.224:30303,enode://ab999db751265c714b171344de1972ed74348162de465a0444f56e50b8cfd048725b213ba1fe48c15e3dfb0638e685ea9a21b8447a54eb2962c6768f43018e5c@34.79.3.199:30303,enode://9d86d92fb38a429330546fe1aefce264e1f55c5d40249b63153e7df744005fa3c1e2da295e307041fd30ab1c618715f362c932c28715bc20bed7ae4fc76dea81@34.77.144.164:30303,enode://c82c31f21dd5bbb8dc35686ff67a4353382b4017c9ec7660a383ccb5b8e3b04c6d7aefe71203e550382f6f892795728570f8190afd885efcb7b78fa398608699@34.76.202.74:30303,enode://3bad5f57ad8de6541f02e36d806b87e7e9ca6d533c956e89a56b3054ae85d608784f2cd948dc685f7d6bbd5a2f6dd1a23cc03e529ea370dd72d880864a2af6a3@104.199.93.87:30303,enode://1decf3b8b9a0d0b8332d15218f3bf0ceb9606b0efe18f352c51effc14bbf1f4f3f46711e1d460230cb361302ceaad2be48b5b187ad946e50d729b34e463268d2@35.240.26.148:30303 - --datadir=/data - --db.engine=leveldb - --gcmode=archive - --maxpeers=50 - --metrics - --metrics.addr=0.0.0.0 - --metrics.port=6060 - --nat=extip:${IP} - --networkid=42220 - --port=12111 - --rollup.historicalrpc=${CELO_MAINNET_CLASSIC_ARCHIVE_RPC:-http://celo-mainnet-geth-archive:8545} - --rpc.gascap=600000000 - --rpc.txfeecap=0 - --state.scheme=hash - --syncmode=full - --http - --http.addr=0.0.0.0 - --http.api=eth,net,web3,debug,admin,txpool,engine - --http.port=8545 - --http.vhosts=* - --ws - --ws.addr=0.0.0.0 - --ws.api=eth,net,web3,debug,admin,txpool,engine - --ws.origins=* - --ws.port=8545 - --authrpc.addr=0.0.0.0 - --authrpc.jwtsecret=/jwtsecret - --authrpc.vhosts=* restart: unless-stopped stop_grace_period: 5m depends_on: - celo-mainnet-geth-archive networks: - chains volumes: - ${CELO_MAINNET_OP_GETH_ARCHIVE_LEVELDB_HASH_DATA:-celo-mainnet-op-geth-archive-leveldb-hash}:/data - ./op/celo/mainnet:/config - .jwtsecret:/jwtsecret:ro - /slowdisk:/slowdisk logging: *logging-defaults labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=6060 - prometheus-scrape.path=/debug/metrics/prometheus - traefik.enable=true - traefik.http.middlewares.celo-mainnet-op-geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/celo-mainnet-archive - traefik.http.services.celo-mainnet-op-geth-archive-leveldb-hash.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/celo-mainnet-archive`) || Path(`/celo-mainnet-archive/`))} - ${NO_SSL:+traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.rule=Path(`/celo-mainnet-archive`) || Path(`/celo-mainnet-archive/`)} - traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash.middlewares=celo-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipallowlist celo-mainnet-archive-node: image: ${CELO_NODE_IMAGE:-us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-node}:${CELO_MAINNET_NODE_VERSION:-celo-v2.1.0} ports: - 17111:17111 - 17111:17111/udp environment: - EIGENDA_PROXY_EIGENDA_DISPERSER_RPC=disperser.eigenda.xyz:443 - EIGENDA_PROXY_EIGENDA_SERVICE_MANAGER_ADDR=0x870679e138bcdf293b7ff14dd44b70fc97e12fc0 - OP_NODE_ALTDA_DA_SERVER=http://celo-mainnet-archive-relay:4242 - OP_NODE_ALTDA_DA_SERVICE=true - OP_NODE_ALTDA_ENABLED=true - OP_NODE_ALTDA_VERIFY_ON_READ=false - OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST} - OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER} - OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC} - OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic} - OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false} - OP_NODE_L2_ENGINE_AUTH=/jwtsecret - OP_NODE_L2_ENGINE_RPC=http://celo-mainnet-archive:8551 - OP_NODE_L2_SKIP_SYNC_START_CHECK=true - OP_NODE_LOG_LEVEL=info - OP_NODE_METRICS_ADDR=0.0.0.0 - OP_NODE_METRICS_ENABLED=true - OP_NODE_METRICS_PORT=7300 - OP_NODE_METRIC_ENABLED=true - OP_NODE_P2P_ADVERTISE_IP=${IP} - OP_NODE_P2P_BOOTNODES=enr:-J64QJipvmFhMq6DVh6RR4HvIiiBtyy1NUg_QlnAAbf18SMqCxCPZtLgUiWED5p0HRVPv69Wth4YPsvdKXSUyh57mWuGAZXRp6HjgmlkgnY0gmlwhCJTtG-Hb3BzdGFja4TsyQIAiXNlY3AyNTZrMaECKPT8t_OMGwEgh_eu8l3LChJXzPHNxMqohYTcJUFhKQaDdGNwgiQGg3VkcIIkBg,enr:-J64QCxBGS49IQbkbwsUuVWt9CkMctMCRe0b-4dqRsLr4QJ1S52urWPUk2uhBU5uerRGpxWTZZW5FtJC-9gSBHN3cSiGAZXRp4rbgmlkgnY0gmlwhCKph0CHb3BzdGFja4TsyQIAiXNlY3AyNTZrMaECqQd8PgMCBpVMXH8izBajLLUBMRKqiYXjV1-t2niEpQiDdGNwgiQGg3VkcIIkBg,enr:-J64QLG71bmmljNbLFx3qim6zXohKA3jbK_4C4d1cwixI-7VMoBIlnM6kWZVvvdWcbjTQ6QXB1LAO39eZWC4Heztj1-GAZXRpzUGgmlkgnY0gmlwhCKpySSHb3BzdGFja4TsyQIAiXNlY3AyNTZrMaEDApsAenpWrLqo6lDsYs2ieUhL84Q_rhZG9pBWb3hKylCDdGNwgiQGg3VkcIIkBg,enr:-J64QKFU-u1x1gt3WmNP88EDUMQ316ymbzdGy83QjkBDqVSsJBn6-nipuqYQDeHYoLBLVJUMdyAiwxVbbDm14qQSf5qGAZXRppmIgmlkgnY0gmlwhCJTfzOHb3BzdGFja4TsyQIAiXNlY3AyNTZrMaEC88lrc6V3LF77SNWjO_GT5YCA2Ca6fwPp1b3vIMBjSk-DdGNwgiQGg3VkcIIkBg,enr:-J64QIXTVl0Opbdn20TSrkzpIZ4xQ54bERRlTmSeZ05dFLdlSbuRY7yn5tJeTPzsSldTw5V5E0qjEQcsfr20vMjTUDyGAZXRpiWygmlkgnY0gmlwhCPjrx6Hb3BzdGFja4TsyQIAiXNlY3AyNTZrMaED2qWtZdFrywlnz0eNnyBUS_G23mF2NORS3_e5RyefQfSDdGNwgiQGg3VkcIIkBg,enr:-J64QFAsbeR4xRSyVyQOk7bILUCoMjI2EnbZvo4UAK3842HMYw41-UZXdnQJH8lwvzWn7qsY3Vu73NuxzxWKn4XB5wiGAZXRpYPAgmlkgnY0gmlwhCJSxmKHb3BzdGFja4TsyQIAiXNlY3AyNTZrMaEDx51ZbXcmg4flmWldI-lBwUwiB0UFLqZkKnHvffMaE4eDdGNwgiQGg3VkcIIkBg,enr:-J64QFQSrL3mfG-i64T-5DgVE5V9dGKC5A0JrEvD6CRpZvuLK3feg4bPaqFWfqXyNN_6IgY2z1Jkr4Mf2Zx-GdWlWquGAZXQkMdSgmlkgnY0gmlwhCImtd-Hb3BzdGFja4TsyQIAiXNlY3AyNTZrMaEDQVEzYHXdCOtsdb_WOFXopL1v0Pka5KgbFJMPJnHhau6DdGNwgiQGg3VkcIIkBg,enr:-J64QAp3g1m-5uX-_mBXWyo6ZQqAlnRcAt11Xwy0-ZzqaSrDSlg4adyOz6v9flzLgxYkVvXI50nJGs8GjLgT5bwDLtyGAZXQrD69gmlkgnY0gmlwhCJMJgaHb3BzdGFja4TsyQIAiXNlY3AyNTZrMaECq5mdt1EmXHFLFxNE3hly7XQ0gWLeRloERPVuULjP0EiDdGNwgiQGg3VkcIIkBg,enr:-J64QFCZs1ePThNEsRxIIzbfDxYfap1nEyuPPpSUeeWOoPFWOp0zSEPwLEtXhG1eH-ipsB5CgtaVzcXOyT9hKeAeVVaGAZXQkaZ3gmlkgnY0gmlwhCO7ajaHb3BzdGFja4TsyQIAiXNlY3AyNTZrMaEDnYbZL7OKQpMwVG_hrvziZOH1XF1AJJtjFT5990QAX6ODdGNwgiQGg3VkcIIkBg,enr:-J64QJ9LY8m9AjNgujuVT0juX8T6PHKojZEIqd-7_vhBasfiT2xUUJoUfWga_xVJGFECFcN6hPKB4TjihmYFxHXelwOGAZXQkclrgmlkgnY0gmlwhCJMELeHb3BzdGFja4TsyQIAiXNlY3AyNTZrMaEDyCwx8h3Vu7jcNWhv9npDUzgrQBfJ7HZgo4PMtbjjsEyDdGNwgiQGg3VkcIIkBg,enr:-J64QGJFPZzLj2GLFgB4JhTde7rXChMNFERNbzrwYYTG7CY2SCSggFrU3VXczzWBvOoJWdbOMOzPuCI2klknGjruUxeGAZXQkf1LgmlkgnY0gmlwhGjHJzuHb3BzdGFja4TsyQIAiXNlY3AyNTZrMaEDO61fV62N5lQfAuNtgGuH5-nKbVM8lW6JpWswVK6F1giDdGNwgiQGg3VkcIIkBg,enr:-J64QEXleDl25w0qEG__wmDgwnzB0F5zapu00D_jM4qkCbA3WIcLC8rXPm8dcrKdZNBuNXJOtNE6c2_ZDkuQMvIuhjCGAZXQwDjFgmlkgnY0gmlwhCKMdU-Hb3BzdGFja4TsyQIAiXNlY3AyNTZrMaECHezzuLmg0LgzLRUhjzvwzrlgaw7-GPNSxR7_wUu_H0-DdGNwgiQGg3VkcIIkBg - OP_NODE_P2P_LISTEN_IP=0.0.0.0 - OP_NODE_P2P_LISTEN_TCP_PORT=17111 - OP_NODE_P2P_LISTEN_UDP_PORT=17111 - OP_NODE_P2P_STATIC=/ip4/34.83.180.111/tcp/9222/p2p/16Uiu2HAkxBYxPd4eDFJzwm84XPzymkXud847vu65eju4UCDRpDSM,/ip4/34.169.135.64/tcp/9222/p2p/16Uiu2HAm6oVW1YeKheAuhnJSySnVvbXZ5gXL4g36XrWb1imF9K3m,/ip4/34.169.201.36/tcp/9222/p2p/16Uiu2HAmCqAFUoq72tjGJfCkkzHoNbjTjshjEED4kWtRKMSxcMgb,/ip4/34.83.127.51/tcp/9222/p2p/16Uiu2HAmBqKBoxkk95CsZiXQmQHv9WMiHXU4Di6wzFuYEKo1i7dg,/ip4/35.227.175.30/tcp/9222/p2p/16Uiu2HAmTNVkin4vogHsqwJwShUkHtx48aDoxygGwgp9Tv5zQWTM,/ip4/34.82.198.98/tcp/9222/p2p/16Uiu2HAmS6CeFPUXMztLf4VDh9NLbauuXLSYx9YkXfyiscqoxsKt,/ip4/34.38.181.223/tcp/9222/p2p/16Uiu2HAmH3xfYGjaJDw6sxa8ds3bVwMYLZRpPzpTtTrYq7G4nZs3,/ip4/34.76.38.6/tcp/9222/p2p/16Uiu2HAm6yXZ9oRTSJfZzXe8wXJ165X3pfzAKdLB9sa27eRZgTwD,/ip4/35.187.106.54/tcp/9222/p2p/16Uiu2HAmPFucuARxzAqtXcD3evFoutKh7tSmfQCxwPKUXfkoyaqY,/ip4/34.76.16.183/tcp/9222/p2p/16Uiu2HAmS8NybNYedzHf4nuFfqyCDH9xiMpgMWxctMtau8dTUxeP,/ip4/104.199.39.59/tcp/9222/p2p/16Uiu2HAmGfwjf1XPikWYDN4NFpTBuuvs6C7eF2iyyKvvjK2MGrVM,/ip4/34.140.117.79/tcp/9222/p2p/16Uiu2HAkwSVN7WHohhoE1sh932y2q3Pv7AFiSugM8K6iFZLALq66 - OP_NODE_ROLLUP_CONFIG=/config/rollup.json - OP_NODE_ROLLUP_LOAD_PROTOCOL_VERSIONS=true - OP_NODE_RPC_ADDR=0.0.0.0 - OP_NODE_RPC_PORT=8545 - OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log - OP_NODE_SYNCMODE=execution-layer - OP_NODE_VERIFIER_L1_CONFS=0 entrypoint: [op-node] command: - --rollup.load-protocol-versions=true restart: unless-stopped depends_on: - celo-mainnet-archive - celo-mainnet-archive-relay networks: - chains volumes: - ./op/celo/mainnet:/config - .jwtsecret:/jwtsecret:ro logging: *logging-defaults labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=7300 - prometheus-scrape.path=/metrics - traefik.enable=true - traefik.http.middlewares.celo-mainnet-op-geth-archive-leveldb-hash-node-stripprefix.stripprefix.prefixes=/celo-mainnet-archive/node - traefik.http.services.celo-mainnet-op-geth-archive-leveldb-hash-node.loadbalancer.server.port=8547 - ${NO_SSL:-traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash-node.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash-node.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash-node.rule=Host(`$DOMAIN`) && PathPrefix(`/celo-mainnet-archive/node`)} - ${NO_SSL:+traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash-node.rule=PathPrefix(`/celo-mainnet-archive/node`)} - traefik.http.routers.celo-mainnet-op-geth-archive-leveldb-hash-node.middlewares=celo-mainnet-op-geth-archive-leveldb-hash-node-stripprefix, ipallowlist celo-mainnet-archive-relay: image: ${CELO_EIGENDA_PROXY_IMAGE:-ghcr.io/layr-labs/eigenda-proxy}:${CELO_MAINNET_EIGENDA_PROXY_VERSION:-v1.8.2} expose: - 4242 environment: - EIGENDA_PROXY_ADDR=0.0.0.0 - EIGENDA_PROXY_EIGENDA_CONFIRMATION_DEPTH=1 - EIGENDA_PROXY_EIGENDA_DISPERSER_RPC=disperser.eigenda.xyz:443 - EIGENDA_PROXY_EIGENDA_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC} - EIGENDA_PROXY_EIGENDA_GRPC_DISABLE_TLS=false - EIGENDA_PROXY_EIGENDA_MAX_BLOB_LENGTH=32MiB - EIGENDA_PROXY_EIGENDA_SERVICE_MANAGER_ADDR=0x870679e138bcdf293b7ff14dd44b70fc97e12fc0 - EIGENDA_PROXY_EIGENDA_STATUS_QUERY_TIMEOUT=45m - EIGENDA_PROXY_PORT=4242 restart: unless-stopped networks: - chains volumes: - ${CELO_MAINNET_OP_GETH_ARCHIVE_LEVELDB_HASH__EIGENDA_PROXY_DATA:-celo-mainnet-op-geth-archive-leveldb-hash_eigenda-proxy}:/data - ./op/celo/mainnet:/config logging: *logging-defaults 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: *logging-defaults 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: celo-mainnet-op-geth-archive-leveldb-hash_eigenda-proxy: x-upstreams: - id: $${ID} labels: provider: $${PROVIDER} connection: generic: rpc: url: $${RPC_URL} ws: frameSize: 20Mb msgSize: 50Mb url: $${WS_URL} chain: celo method-groups: enabled: - debug - filter methods: disabled: enabled: - name: txpool_content # TODO: should be disabled for rollup nodes # standard geth only - name: debug_getRawBlock - name: debug_getRawTransaction - name: debug_getRawReceipts - name: debug_getRawHeader - name: debug_getBadBlocks # non standard geth only slightly dangerous - name: debug_intermediateRoots - name: debug_dumpBlock # standard geth and erigon - name: debug_accountRange - name: debug_getModifiedAccountsByNumber - name: debug_getModifiedAccountsByHash # non standard geth and erigon - name: eth_getRawTransactionByHash - name: eth_getRawTransactionByBlockHashAndIndex - id: $${ID} labels: provider: $${PROVIDER} connection: generic: rpc: url: $${RPC_URL} ws: frameSize: 20Mb msgSize: 50Mb url: $${WS_URL} chain: celo method-groups: enabled: - debug - filter methods: disabled: enabled: - name: txpool_content # TODO: should be disabled for rollup nodes # standard geth only - name: debug_getRawBlock - name: debug_getRawTransaction - name: debug_getRawReceipts - name: debug_getRawHeader - name: debug_getBadBlocks # non standard geth only slightly dangerous - name: debug_intermediateRoots - name: debug_dumpBlock # standard geth and erigon - name: debug_accountRange - name: debug_getModifiedAccountsByNumber - name: debug_getModifiedAccountsByHash # non standard geth and erigon - name: eth_getRawTransactionByHash - name: eth_getRawTransactionByBlockHashAndIndex ...