some progress
This commit is contained in:
@@ -1,77 +1,127 @@
|
||||
|
||||
|
||||
# use at your own risk
|
||||
|
||||
services:
|
||||
gnosis-chiado-archive:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0}
|
||||
image: ${GNOSIS_ERIGON3_IMAGE:-erigontech/erigon}:${GNOSIS_CHIADO_ERIGON3_VERSION:-v3.0.0}
|
||||
user: root
|
||||
ulimits:
|
||||
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
|
||||
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
|
||||
expose:
|
||||
- "8545"
|
||||
- 8545
|
||||
- 8551
|
||||
|
||||
ports:
|
||||
- "10986:10986"
|
||||
- "10986:10986/udp"
|
||||
- "25986:25986"
|
||||
- "25986:25986/udp"
|
||||
- "30986:30986"
|
||||
- "30986:30986/udp"
|
||||
- "15986:15986"
|
||||
- "15986:15986/udp"
|
||||
- "20986:20986"
|
||||
- "20986:20986/udp"
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- 10986:10986
|
||||
- 10986:10986/udp
|
||||
- 30986:30986
|
||||
- 30986:30986/udp
|
||||
- 35986:35986
|
||||
- 35986:35986/udp
|
||||
- 15986:15986
|
||||
- 15986:15986/udp
|
||||
- 25986:25986
|
||||
- 25986:25986/udp
|
||||
volumes:
|
||||
- gnosis-chiado-erigon3-archive-trace:/root/.local/share/erigon
|
||||
- ${GNOSIS_CHIADO_ERIGON3_ARCHIVE_TRACE_DATA:-gnosis-chiado-erigon3-archive-trace}:/root/.local/share/erigon
|
||||
- /slowdisk:/slowdisk
|
||||
|
||||
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
|
||||
entrypoint: [erigon]
|
||||
command:
|
||||
- --datadir=/root/.local/share/erigon
|
||||
- --port=10986
|
||||
- --bind=0.0.0.0
|
||||
- --nat=extip:${IP}
|
||||
- --http
|
||||
- --http.port=8545
|
||||
- --http.vhosts=*
|
||||
- --ws
|
||||
- --ws.port=8545
|
||||
- --ws.origins=*
|
||||
- --ws.addr=0.0.0.0
|
||||
- --http.addr=0.0.0.0
|
||||
- --maxpeers=50
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
- --ws.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
|
||||
- --rpc.returndata.limit=1100000
|
||||
- --rpc.gascap=6000000000
|
||||
|
||||
- --prune.mode=
|
||||
|
||||
- --p2p.allowed-ports=30986
|
||||
- --p2p.allowed-ports=35986
|
||||
- --chain=chiado
|
||||
|
||||
- --torrent.port=25986
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
entrypoint: ["erigon"]
|
||||
command:
|
||||
- --chain=chiado
|
||||
|
||||
- --prune.mode=archive
|
||||
- --port=10986
|
||||
- --p2p.allowed-ports=25986
|
||||
- --p2p.allowed-ports=30986
|
||||
- --nat=extip:${IP}
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.vhosts=*
|
||||
- --http.corsdomain=*
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
- --rpc.returndata.limit=1100000
|
||||
- --rpc.gascap=5000000000
|
||||
- --ws.port=8545
|
||||
- --ws
|
||||
|
||||
- --torrent.port=20986
|
||||
|
||||
- --beacon.api.port=5555
|
||||
- --beacon.api.addr=0.0.0.0
|
||||
- --beacon.api.cors.allow-origins=*
|
||||
- --caplin.discovery.addr=0.0.0.0
|
||||
- --caplin.discovery.port=15986
|
||||
- --caplin.discovery.tcpport=15986
|
||||
- --beacon.api=beacon,builder,debug,lighthouse,node,validator,config
|
||||
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
stop_grace_period: 5m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.gnosis-chiado-erigon3-archive-trace-stripprefix.stripprefix.prefixes=/gnosis-chiado-archive"
|
||||
- "traefik.http.services.gnosis-chiado-erigon3-archive-trace.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-archive-trace.entrypoints=websecure"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-archive-trace.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-chiado-archive`)"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-archive-trace.middlewares=gnosis-chiado-erigon3-archive-trace-stripprefix, ipwhitelist"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-archive-trace.service=gnosis-chiado-erigon3-archive-trace"
|
||||
|
||||
- "traefik.http.services.gnosis-chiado-erigon3-archive-trace-node.loadbalancer.server.port=5555"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-archive-trace-node.entrypoints=websecure"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-archive-trace-node.service=gnosis-chiado-erigon3-archive-trace-node"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-archive-trace-node.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-archive-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-chiado-archive/eth`)"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-archive-trace-node.middlewares=gnosis-chiado-erigon3-archive-trace-stripprefix, ipwhitelist"
|
||||
- traefik.enable=true
|
||||
- traefik.http.middlewares.gnosis-chiado-erigon3-archive-trace-stripprefix.stripprefix.prefixes=/gnosis-chiado-archive
|
||||
- traefik.http.services.gnosis-chiado-erigon3-archive-trace.loadbalancer.server.port=8545
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-archive-trace.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-archive-trace.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-chiado-archive`)}
|
||||
- ${NO_SSL:+traefik.http.routers.gnosis-chiado-erigon3-archive-trace.rule=PathPrefix(`/gnosis-chiado-archive`)}
|
||||
- traefik.http.routers.gnosis-chiado-erigon3-archive-trace.middlewares=gnosis-chiado-erigon3-archive-trace-stripprefix, ipwhitelist
|
||||
- traefik.http.routers.gnosis-chiado-erigon3-archive-trace.service=gnosis-chiado-erigon3-archive-trace
|
||||
- traefik.http.routers.gnosis-chiado-erigon3-archive-trace-node.service=gnosis-chiado-erigon3-archive-trace-node
|
||||
- traefik.http.services.gnosis-chiado-erigon3-archive-trace-node.loadbalancer.server.port=5555
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-archive-trace-node.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-archive-trace-node.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-archive-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-chiado-archive/eth`)}
|
||||
- ${NO_SSL:+traefik.http.routers.gnosis-chiado-erigon3-archive-trace-node.rule=PathPrefix(`/gnosis-chiado-archive/eth`)}
|
||||
- traefik.http.routers.gnosis-chiado-erigon3-archive-trace-node.middlewares=gnosis-chiado-erigon3-archive-trace-stripprefix, ipwhitelist
|
||||
|
||||
volumes:
|
||||
gnosis-chiado-erigon3-archive-trace:
|
||||
gnosis-chiado-erigon3-archive-trace:
|
||||
|
||||
x-upstreams:
|
||||
- chain: gnosis-chiado
|
||||
method-groups:
|
||||
enabled:
|
||||
- debug
|
||||
- filter
|
||||
- trace
|
||||
methods:
|
||||
disabled:
|
||||
enabled:
|
||||
# standard geth and erigon
|
||||
- name: debug_accountRange
|
||||
- name: debug_getModifiedAccountsByNumber
|
||||
- name: debug_getModifiedAccountsByHash
|
||||
# non standard geth and erigon
|
||||
- name: eth_getRawTransactionByHash
|
||||
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||
# non standard erigon only
|
||||
- name: eth_getBlockReceipts
|
||||
- name: eth_protocolVersion
|
||||
- name: eth_callMany
|
||||
- name: eth_callBundle
|
||||
- name: debug_accountAt
|
||||
- name: debug_traceCallMany
|
||||
- name: erigon_getHeaderByHash
|
||||
- name: erigon_getBlockReceiptsByBlockHash
|
||||
- name: erigon_getHeaderByNumber
|
||||
- name: erigon_getLogsByHash
|
||||
- name: erigon_forks
|
||||
- name: erigon_getBlockByTimestamp
|
||||
- name: erigon_BlockNumber
|
||||
- name: erigon_getLatestLogs
|
||||
|
||||
@@ -1,77 +1,127 @@
|
||||
|
||||
|
||||
# use at your own risk
|
||||
|
||||
services:
|
||||
gnosis-chiado-minimal:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0}
|
||||
image: ${GNOSIS_ERIGON3_IMAGE:-erigontech/erigon}:${GNOSIS_CHIADO_ERIGON3_VERSION:-v3.0.0}
|
||||
user: root
|
||||
ulimits:
|
||||
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
|
||||
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
|
||||
expose:
|
||||
- "8545"
|
||||
- 8545
|
||||
- 8551
|
||||
|
||||
ports:
|
||||
- "10010:10010"
|
||||
- "10010:10010/udp"
|
||||
- "25010:25010"
|
||||
- "25010:25010/udp"
|
||||
- "30010:30010"
|
||||
- "30010:30010/udp"
|
||||
- "15010:15010"
|
||||
- "15010:15010/udp"
|
||||
- "20010:20010"
|
||||
- "20010:20010/udp"
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- 10986:10986
|
||||
- 10986:10986/udp
|
||||
- 30986:30986
|
||||
- 30986:30986/udp
|
||||
- 35986:35986
|
||||
- 35986:35986/udp
|
||||
- 15986:15986
|
||||
- 15986:15986/udp
|
||||
- 25986:25986
|
||||
- 25986:25986/udp
|
||||
volumes:
|
||||
- gnosis-chiado-erigon3-minimal-trace:/root/.local/share/erigon
|
||||
- ${GNOSIS_CHIADO_ERIGON3_MINIMAL_TRACE_DATA:-gnosis-chiado-erigon3-minimal-trace}:/root/.local/share/erigon
|
||||
- /slowdisk:/slowdisk
|
||||
|
||||
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
|
||||
entrypoint: [erigon]
|
||||
command:
|
||||
- --datadir=/root/.local/share/erigon
|
||||
- --port=10986
|
||||
- --bind=0.0.0.0
|
||||
- --nat=extip:${IP}
|
||||
- --http
|
||||
- --http.port=8545
|
||||
- --http.vhosts=*
|
||||
- --ws
|
||||
- --ws.port=8545
|
||||
- --ws.origins=*
|
||||
- --ws.addr=0.0.0.0
|
||||
- --http.addr=0.0.0.0
|
||||
- --maxpeers=50
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
- --ws.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
|
||||
- --rpc.returndata.limit=1100000
|
||||
- --rpc.gascap=6000000000
|
||||
|
||||
- --prune.mode=
|
||||
|
||||
- --p2p.allowed-ports=30986
|
||||
- --p2p.allowed-ports=35986
|
||||
- --chain=chiado
|
||||
|
||||
- --torrent.port=25986
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
entrypoint: ["erigon"]
|
||||
command:
|
||||
- --chain=chiado
|
||||
|
||||
- --prune.mode=minimal
|
||||
- --port=10010
|
||||
- --p2p.allowed-ports=25010
|
||||
- --p2p.allowed-ports=30010
|
||||
- --nat=extip:${IP}
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.vhosts=*
|
||||
- --http.corsdomain=*
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
- --rpc.returndata.limit=1100000
|
||||
- --rpc.gascap=5000000000
|
||||
- --ws.port=8545
|
||||
- --ws
|
||||
|
||||
- --torrent.port=20010
|
||||
|
||||
- --beacon.api.port=5555
|
||||
- --beacon.api.addr=0.0.0.0
|
||||
- --beacon.api.cors.allow-origins=*
|
||||
- --caplin.discovery.addr=0.0.0.0
|
||||
- --caplin.discovery.port=15010
|
||||
- --caplin.discovery.tcpport=15010
|
||||
- --beacon.api=beacon,builder,debug,lighthouse,node,validator,config
|
||||
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
stop_grace_period: 5m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.gnosis-chiado-erigon3-minimal-trace-stripprefix.stripprefix.prefixes=/gnosis-chiado-minimal"
|
||||
- "traefik.http.services.gnosis-chiado-erigon3-minimal-trace.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-minimal-trace.entrypoints=websecure"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-minimal-trace.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-minimal-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-chiado-minimal`)"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-minimal-trace.middlewares=gnosis-chiado-erigon3-minimal-trace-stripprefix, ipwhitelist"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-minimal-trace.service=gnosis-chiado-erigon3-minimal-trace"
|
||||
|
||||
- "traefik.http.services.gnosis-chiado-erigon3-minimal-trace-node.loadbalancer.server.port=5555"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-minimal-trace-node.entrypoints=websecure"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-minimal-trace-node.service=gnosis-chiado-erigon3-minimal-trace-node"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-minimal-trace-node.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-minimal-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-chiado-minimal/eth`)"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-minimal-trace-node.middlewares=gnosis-chiado-erigon3-minimal-trace-stripprefix, ipwhitelist"
|
||||
- traefik.enable=true
|
||||
- traefik.http.middlewares.gnosis-chiado-erigon3-minimal-trace-stripprefix.stripprefix.prefixes=/gnosis-chiado-minimal
|
||||
- traefik.http.services.gnosis-chiado-erigon3-minimal-trace.loadbalancer.server.port=8545
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-minimal-trace.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-minimal-trace.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-minimal-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-chiado-minimal`)}
|
||||
- ${NO_SSL:+traefik.http.routers.gnosis-chiado-erigon3-minimal-trace.rule=PathPrefix(`/gnosis-chiado-minimal`)}
|
||||
- traefik.http.routers.gnosis-chiado-erigon3-minimal-trace.middlewares=gnosis-chiado-erigon3-minimal-trace-stripprefix, ipwhitelist
|
||||
- traefik.http.routers.gnosis-chiado-erigon3-minimal-trace.service=gnosis-chiado-erigon3-minimal-trace
|
||||
- traefik.http.routers.gnosis-chiado-erigon3-minimal-trace-node.service=gnosis-chiado-erigon3-minimal-trace-node
|
||||
- traefik.http.services.gnosis-chiado-erigon3-minimal-trace-node.loadbalancer.server.port=5555
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-minimal-trace-node.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-minimal-trace-node.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-minimal-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-chiado-minimal/eth`)}
|
||||
- ${NO_SSL:+traefik.http.routers.gnosis-chiado-erigon3-minimal-trace-node.rule=PathPrefix(`/gnosis-chiado-minimal/eth`)}
|
||||
- traefik.http.routers.gnosis-chiado-erigon3-minimal-trace-node.middlewares=gnosis-chiado-erigon3-minimal-trace-stripprefix, ipwhitelist
|
||||
|
||||
volumes:
|
||||
gnosis-chiado-erigon3-minimal-trace:
|
||||
gnosis-chiado-erigon3-minimal-trace:
|
||||
|
||||
x-upstreams:
|
||||
- chain: gnosis-chiado
|
||||
method-groups:
|
||||
enabled:
|
||||
- debug
|
||||
- filter
|
||||
- trace
|
||||
methods:
|
||||
disabled:
|
||||
enabled:
|
||||
# standard geth and erigon
|
||||
- name: debug_accountRange
|
||||
- name: debug_getModifiedAccountsByNumber
|
||||
- name: debug_getModifiedAccountsByHash
|
||||
# non standard geth and erigon
|
||||
- name: eth_getRawTransactionByHash
|
||||
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||
# non standard erigon only
|
||||
- name: eth_getBlockReceipts
|
||||
- name: eth_protocolVersion
|
||||
- name: eth_callMany
|
||||
- name: eth_callBundle
|
||||
- name: debug_accountAt
|
||||
- name: debug_traceCallMany
|
||||
- name: erigon_getHeaderByHash
|
||||
- name: erigon_getBlockReceiptsByBlockHash
|
||||
- name: erigon_getHeaderByNumber
|
||||
- name: erigon_getLogsByHash
|
||||
- name: erigon_forks
|
||||
- name: erigon_getBlockByTimestamp
|
||||
- name: erigon_BlockNumber
|
||||
- name: erigon_getLatestLogs
|
||||
|
||||
@@ -1,77 +1,127 @@
|
||||
|
||||
|
||||
# use at your own risk
|
||||
|
||||
services:
|
||||
gnosis-chiado:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0}
|
||||
image: ${GNOSIS_ERIGON3_IMAGE:-erigontech/erigon}:${GNOSIS_CHIADO_ERIGON3_VERSION:-v3.0.0}
|
||||
user: root
|
||||
ulimits:
|
||||
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
|
||||
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
|
||||
expose:
|
||||
- "8545"
|
||||
- 8545
|
||||
- 8551
|
||||
|
||||
ports:
|
||||
- "10886:10886"
|
||||
- "10886:10886/udp"
|
||||
- "25886:25886"
|
||||
- "25886:25886/udp"
|
||||
- "30886:30886"
|
||||
- "30886:30886/udp"
|
||||
- "15886:15886"
|
||||
- "15886:15886/udp"
|
||||
- "20886:20886"
|
||||
- "20886:20886/udp"
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- 10986:10986
|
||||
- 10986:10986/udp
|
||||
- 30986:30986
|
||||
- 30986:30986/udp
|
||||
- 35986:35986
|
||||
- 35986:35986/udp
|
||||
- 15986:15986
|
||||
- 15986:15986/udp
|
||||
- 25986:25986
|
||||
- 25986:25986/udp
|
||||
volumes:
|
||||
- gnosis-chiado-erigon3-pruned-trace:/root/.local/share/erigon
|
||||
- ${GNOSIS_CHIADO_ERIGON3_PRUNED_TRACE_DATA:-gnosis-chiado-erigon3-pruned-trace}:/root/.local/share/erigon
|
||||
- /slowdisk:/slowdisk
|
||||
|
||||
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
|
||||
entrypoint: [erigon]
|
||||
command:
|
||||
- --datadir=/root/.local/share/erigon
|
||||
- --port=10986
|
||||
- --bind=0.0.0.0
|
||||
- --nat=extip:${IP}
|
||||
- --http
|
||||
- --http.port=8545
|
||||
- --http.vhosts=*
|
||||
- --ws
|
||||
- --ws.port=8545
|
||||
- --ws.origins=*
|
||||
- --ws.addr=0.0.0.0
|
||||
- --http.addr=0.0.0.0
|
||||
- --maxpeers=50
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
- --ws.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
|
||||
- --rpc.returndata.limit=1100000
|
||||
- --rpc.gascap=6000000000
|
||||
|
||||
- --prune.mode=
|
||||
|
||||
- --p2p.allowed-ports=30986
|
||||
- --p2p.allowed-ports=35986
|
||||
- --chain=chiado
|
||||
|
||||
- --torrent.port=25986
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
entrypoint: ["erigon"]
|
||||
command:
|
||||
- --chain=chiado
|
||||
|
||||
- --prune.mode=full
|
||||
- --port=10886
|
||||
- --p2p.allowed-ports=25886
|
||||
- --p2p.allowed-ports=30886
|
||||
- --nat=extip:${IP}
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.vhosts=*
|
||||
- --http.corsdomain=*
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
- --rpc.returndata.limit=1100000
|
||||
- --rpc.gascap=5000000000
|
||||
- --ws.port=8545
|
||||
- --ws
|
||||
|
||||
- --torrent.port=20886
|
||||
|
||||
- --beacon.api.port=5555
|
||||
- --beacon.api.addr=0.0.0.0
|
||||
- --beacon.api.cors.allow-origins=*
|
||||
- --caplin.discovery.addr=0.0.0.0
|
||||
- --caplin.discovery.port=15886
|
||||
- --caplin.discovery.tcpport=15886
|
||||
- --beacon.api=beacon,builder,debug,lighthouse,node,validator,config
|
||||
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
stop_grace_period: 5m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.gnosis-chiado-erigon3-pruned-trace-stripprefix.stripprefix.prefixes=/gnosis-chiado"
|
||||
- "traefik.http.services.gnosis-chiado-erigon3-pruned-trace.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-pruned-trace.entrypoints=websecure"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-pruned-trace.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-pruned-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-chiado`)"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-pruned-trace.middlewares=gnosis-chiado-erigon3-pruned-trace-stripprefix, ipwhitelist"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-pruned-trace.service=gnosis-chiado-erigon3-pruned-trace"
|
||||
|
||||
- "traefik.http.services.gnosis-chiado-erigon3-pruned-trace-node.loadbalancer.server.port=5555"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-pruned-trace-node.entrypoints=websecure"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-pruned-trace-node.service=gnosis-chiado-erigon3-pruned-trace-node"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-pruned-trace-node.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-pruned-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-chiado/eth`)"
|
||||
- "traefik.http.routers.gnosis-chiado-erigon3-pruned-trace-node.middlewares=gnosis-chiado-erigon3-pruned-trace-stripprefix, ipwhitelist"
|
||||
- traefik.enable=true
|
||||
- traefik.http.middlewares.gnosis-chiado-erigon3-pruned-trace-stripprefix.stripprefix.prefixes=/gnosis-chiado
|
||||
- traefik.http.services.gnosis-chiado-erigon3-pruned-trace.loadbalancer.server.port=8545
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-pruned-trace.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-pruned-trace.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-pruned-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-chiado`)}
|
||||
- ${NO_SSL:+traefik.http.routers.gnosis-chiado-erigon3-pruned-trace.rule=PathPrefix(`/gnosis-chiado`)}
|
||||
- traefik.http.routers.gnosis-chiado-erigon3-pruned-trace.middlewares=gnosis-chiado-erigon3-pruned-trace-stripprefix, ipwhitelist
|
||||
- traefik.http.routers.gnosis-chiado-erigon3-pruned-trace.service=gnosis-chiado-erigon3-pruned-trace
|
||||
- traefik.http.routers.gnosis-chiado-erigon3-pruned-trace-node.service=gnosis-chiado-erigon3-pruned-trace-node
|
||||
- traefik.http.services.gnosis-chiado-erigon3-pruned-trace-node.loadbalancer.server.port=5555
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-pruned-trace-node.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-pruned-trace-node.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-chiado-erigon3-pruned-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-chiado/eth`)}
|
||||
- ${NO_SSL:+traefik.http.routers.gnosis-chiado-erigon3-pruned-trace-node.rule=PathPrefix(`/gnosis-chiado/eth`)}
|
||||
- traefik.http.routers.gnosis-chiado-erigon3-pruned-trace-node.middlewares=gnosis-chiado-erigon3-pruned-trace-stripprefix, ipwhitelist
|
||||
|
||||
volumes:
|
||||
gnosis-chiado-erigon3-pruned-trace:
|
||||
gnosis-chiado-erigon3-pruned-trace:
|
||||
|
||||
x-upstreams:
|
||||
- chain: gnosis-chiado
|
||||
method-groups:
|
||||
enabled:
|
||||
- debug
|
||||
- filter
|
||||
- trace
|
||||
methods:
|
||||
disabled:
|
||||
enabled:
|
||||
# standard geth and erigon
|
||||
- name: debug_accountRange
|
||||
- name: debug_getModifiedAccountsByNumber
|
||||
- name: debug_getModifiedAccountsByHash
|
||||
# non standard geth and erigon
|
||||
- name: eth_getRawTransactionByHash
|
||||
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||
# non standard erigon only
|
||||
- name: eth_getBlockReceipts
|
||||
- name: eth_protocolVersion
|
||||
- name: eth_callMany
|
||||
- name: eth_callBundle
|
||||
- name: debug_accountAt
|
||||
- name: debug_traceCallMany
|
||||
- name: erigon_getHeaderByHash
|
||||
- name: erigon_getBlockReceiptsByBlockHash
|
||||
- name: erigon_getHeaderByNumber
|
||||
- name: erigon_getLogsByHash
|
||||
- name: erigon_forks
|
||||
- name: erigon_getBlockByTimestamp
|
||||
- name: erigon_BlockNumber
|
||||
- name: erigon_getLatestLogs
|
||||
|
||||
@@ -1,77 +1,127 @@
|
||||
|
||||
|
||||
# use at your own risk
|
||||
|
||||
services:
|
||||
gnosis-mainnet-archive:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0}
|
||||
image: ${GNOSIS_ERIGON3_IMAGE:-erigontech/erigon}:${GNOSIS_MAINNET_ERIGON3_VERSION:-v3.0.0}
|
||||
user: root
|
||||
ulimits:
|
||||
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
|
||||
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
|
||||
expose:
|
||||
- "8545"
|
||||
- 8545
|
||||
- 8551
|
||||
|
||||
ports:
|
||||
- "10974:10974"
|
||||
- "10974:10974/udp"
|
||||
- "25974:25974"
|
||||
- "25974:25974/udp"
|
||||
- "30974:30974"
|
||||
- "30974:30974/udp"
|
||||
- "15974:15974"
|
||||
- "15974:15974/udp"
|
||||
- "20974:20974"
|
||||
- "20974:20974/udp"
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- 10974:10974
|
||||
- 10974:10974/udp
|
||||
- 30974:30974
|
||||
- 30974:30974/udp
|
||||
- 35974:35974
|
||||
- 35974:35974/udp
|
||||
- 15974:15974
|
||||
- 15974:15974/udp
|
||||
- 25974:25974
|
||||
- 25974:25974/udp
|
||||
volumes:
|
||||
- gnosis-mainnet-erigon3-archive-trace:/root/.local/share/erigon
|
||||
- ${GNOSIS_MAINNET_ERIGON3_ARCHIVE_TRACE_DATA:-gnosis-mainnet-erigon3-archive-trace}:/root/.local/share/erigon
|
||||
- /slowdisk:/slowdisk
|
||||
|
||||
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
|
||||
entrypoint: [erigon]
|
||||
command:
|
||||
- --datadir=/root/.local/share/erigon
|
||||
- --port=10974
|
||||
- --bind=0.0.0.0
|
||||
- --nat=extip:${IP}
|
||||
- --http
|
||||
- --http.port=8545
|
||||
- --http.vhosts=*
|
||||
- --ws
|
||||
- --ws.port=8545
|
||||
- --ws.origins=*
|
||||
- --ws.addr=0.0.0.0
|
||||
- --http.addr=0.0.0.0
|
||||
- --maxpeers=50
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
- --ws.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
|
||||
- --rpc.returndata.limit=1100000
|
||||
- --rpc.gascap=6000000000
|
||||
|
||||
- --prune.mode=
|
||||
|
||||
- --p2p.allowed-ports=30974
|
||||
- --p2p.allowed-ports=35974
|
||||
- --chain=gnosis
|
||||
|
||||
- --torrent.port=25974
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
entrypoint: ["erigon"]
|
||||
command:
|
||||
- --chain=gnosis
|
||||
|
||||
- --prune.mode=archive
|
||||
- --port=10974
|
||||
- --p2p.allowed-ports=25974
|
||||
- --p2p.allowed-ports=30974
|
||||
- --nat=extip:${IP}
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.vhosts=*
|
||||
- --http.corsdomain=*
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
- --rpc.returndata.limit=1100000
|
||||
- --rpc.gascap=5000000000
|
||||
- --ws.port=8545
|
||||
- --ws
|
||||
|
||||
- --torrent.port=20974
|
||||
|
||||
- --beacon.api.port=5555
|
||||
- --beacon.api.addr=0.0.0.0
|
||||
- --beacon.api.cors.allow-origins=*
|
||||
- --caplin.discovery.addr=0.0.0.0
|
||||
- --caplin.discovery.port=15974
|
||||
- --caplin.discovery.tcpport=15974
|
||||
- --beacon.api=beacon,builder,debug,lighthouse,node,validator,config
|
||||
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
stop_grace_period: 5m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.gnosis-mainnet-erigon3-archive-trace-stripprefix.stripprefix.prefixes=/gnosis-mainnet-archive"
|
||||
- "traefik.http.services.gnosis-mainnet-erigon3-archive-trace.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.entrypoints=websecure"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-mainnet-archive`)"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.middlewares=gnosis-mainnet-erigon3-archive-trace-stripprefix, ipwhitelist"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.service=gnosis-mainnet-erigon3-archive-trace"
|
||||
|
||||
- "traefik.http.services.gnosis-mainnet-erigon3-archive-trace-node.loadbalancer.server.port=5555"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-archive-trace-node.entrypoints=websecure"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-archive-trace-node.service=gnosis-mainnet-erigon3-archive-trace-node"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-archive-trace-node.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-archive-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-mainnet-archive/eth`)"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-archive-trace-node.middlewares=gnosis-mainnet-erigon3-archive-trace-stripprefix, ipwhitelist"
|
||||
- traefik.enable=true
|
||||
- traefik.http.middlewares.gnosis-mainnet-erigon3-archive-trace-stripprefix.stripprefix.prefixes=/gnosis-mainnet-archive
|
||||
- traefik.http.services.gnosis-mainnet-erigon3-archive-trace.loadbalancer.server.port=8545
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-mainnet-archive`)}
|
||||
- ${NO_SSL:+traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.rule=PathPrefix(`/gnosis-mainnet-archive`)}
|
||||
- traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.middlewares=gnosis-mainnet-erigon3-archive-trace-stripprefix, ipwhitelist
|
||||
- traefik.http.routers.gnosis-mainnet-erigon3-archive-trace.service=gnosis-mainnet-erigon3-archive-trace
|
||||
- traefik.http.routers.gnosis-mainnet-erigon3-archive-trace-node.service=gnosis-mainnet-erigon3-archive-trace-node
|
||||
- traefik.http.services.gnosis-mainnet-erigon3-archive-trace-node.loadbalancer.server.port=5555
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-archive-trace-node.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-archive-trace-node.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-archive-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-mainnet-archive/eth`)}
|
||||
- ${NO_SSL:+traefik.http.routers.gnosis-mainnet-erigon3-archive-trace-node.rule=PathPrefix(`/gnosis-mainnet-archive/eth`)}
|
||||
- traefik.http.routers.gnosis-mainnet-erigon3-archive-trace-node.middlewares=gnosis-mainnet-erigon3-archive-trace-stripprefix, ipwhitelist
|
||||
|
||||
volumes:
|
||||
gnosis-mainnet-erigon3-archive-trace:
|
||||
gnosis-mainnet-erigon3-archive-trace:
|
||||
|
||||
x-upstreams:
|
||||
- chain: gnosis
|
||||
method-groups:
|
||||
enabled:
|
||||
- debug
|
||||
- filter
|
||||
- trace
|
||||
methods:
|
||||
disabled:
|
||||
enabled:
|
||||
# standard geth and erigon
|
||||
- name: debug_accountRange
|
||||
- name: debug_getModifiedAccountsByNumber
|
||||
- name: debug_getModifiedAccountsByHash
|
||||
# non standard geth and erigon
|
||||
- name: eth_getRawTransactionByHash
|
||||
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||
# non standard erigon only
|
||||
- name: eth_getBlockReceipts
|
||||
- name: eth_protocolVersion
|
||||
- name: eth_callMany
|
||||
- name: eth_callBundle
|
||||
- name: debug_accountAt
|
||||
- name: debug_traceCallMany
|
||||
- name: erigon_getHeaderByHash
|
||||
- name: erigon_getBlockReceiptsByBlockHash
|
||||
- name: erigon_getHeaderByNumber
|
||||
- name: erigon_getLogsByHash
|
||||
- name: erigon_forks
|
||||
- name: erigon_getBlockByTimestamp
|
||||
- name: erigon_BlockNumber
|
||||
- name: erigon_getLatestLogs
|
||||
|
||||
@@ -1,77 +1,127 @@
|
||||
|
||||
|
||||
# use at your own risk
|
||||
|
||||
services:
|
||||
gnosis-mainnet-minimal:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0}
|
||||
image: ${GNOSIS_ERIGON3_IMAGE:-erigontech/erigon}:${GNOSIS_MAINNET_ERIGON3_VERSION:-v3.0.0}
|
||||
user: root
|
||||
ulimits:
|
||||
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
|
||||
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
|
||||
expose:
|
||||
- "8545"
|
||||
- 8545
|
||||
- 8551
|
||||
|
||||
ports:
|
||||
- "10429:10429"
|
||||
- "10429:10429/udp"
|
||||
- "25429:25429"
|
||||
- "25429:25429/udp"
|
||||
- "30429:30429"
|
||||
- "30429:30429/udp"
|
||||
- "15429:15429"
|
||||
- "15429:15429/udp"
|
||||
- "20429:20429"
|
||||
- "20429:20429/udp"
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- 10974:10974
|
||||
- 10974:10974/udp
|
||||
- 30974:30974
|
||||
- 30974:30974/udp
|
||||
- 35974:35974
|
||||
- 35974:35974/udp
|
||||
- 15974:15974
|
||||
- 15974:15974/udp
|
||||
- 25974:25974
|
||||
- 25974:25974/udp
|
||||
volumes:
|
||||
- gnosis-mainnet-erigon3-minimal-trace:/root/.local/share/erigon
|
||||
- ${GNOSIS_MAINNET_ERIGON3_MINIMAL_TRACE_DATA:-gnosis-mainnet-erigon3-minimal-trace}:/root/.local/share/erigon
|
||||
- /slowdisk:/slowdisk
|
||||
|
||||
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
|
||||
entrypoint: [erigon]
|
||||
command:
|
||||
- --datadir=/root/.local/share/erigon
|
||||
- --port=10974
|
||||
- --bind=0.0.0.0
|
||||
- --nat=extip:${IP}
|
||||
- --http
|
||||
- --http.port=8545
|
||||
- --http.vhosts=*
|
||||
- --ws
|
||||
- --ws.port=8545
|
||||
- --ws.origins=*
|
||||
- --ws.addr=0.0.0.0
|
||||
- --http.addr=0.0.0.0
|
||||
- --maxpeers=50
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
- --ws.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
|
||||
- --rpc.returndata.limit=1100000
|
||||
- --rpc.gascap=6000000000
|
||||
|
||||
- --prune.mode=
|
||||
|
||||
- --p2p.allowed-ports=30974
|
||||
- --p2p.allowed-ports=35974
|
||||
- --chain=gnosis
|
||||
|
||||
- --torrent.port=25974
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
entrypoint: ["erigon"]
|
||||
command:
|
||||
- --chain=gnosis
|
||||
|
||||
- --prune.mode=minimal
|
||||
- --port=10429
|
||||
- --p2p.allowed-ports=25429
|
||||
- --p2p.allowed-ports=30429
|
||||
- --nat=extip:${IP}
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.vhosts=*
|
||||
- --http.corsdomain=*
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
- --rpc.returndata.limit=1100000
|
||||
- --rpc.gascap=5000000000
|
||||
- --ws.port=8545
|
||||
- --ws
|
||||
|
||||
- --torrent.port=20429
|
||||
|
||||
- --beacon.api.port=5555
|
||||
- --beacon.api.addr=0.0.0.0
|
||||
- --beacon.api.cors.allow-origins=*
|
||||
- --caplin.discovery.addr=0.0.0.0
|
||||
- --caplin.discovery.port=15429
|
||||
- --caplin.discovery.tcpport=15429
|
||||
- --beacon.api=beacon,builder,debug,lighthouse,node,validator,config
|
||||
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
stop_grace_period: 5m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.gnosis-mainnet-erigon3-minimal-trace-stripprefix.stripprefix.prefixes=/gnosis-mainnet-minimal"
|
||||
- "traefik.http.services.gnosis-mainnet-erigon3-minimal-trace.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace.entrypoints=websecure"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-mainnet-minimal`)"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace.middlewares=gnosis-mainnet-erigon3-minimal-trace-stripprefix, ipwhitelist"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace.service=gnosis-mainnet-erigon3-minimal-trace"
|
||||
|
||||
- "traefik.http.services.gnosis-mainnet-erigon3-minimal-trace-node.loadbalancer.server.port=5555"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace-node.entrypoints=websecure"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace-node.service=gnosis-mainnet-erigon3-minimal-trace-node"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace-node.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-mainnet-minimal/eth`)"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace-node.middlewares=gnosis-mainnet-erigon3-minimal-trace-stripprefix, ipwhitelist"
|
||||
- traefik.enable=true
|
||||
- traefik.http.middlewares.gnosis-mainnet-erigon3-minimal-trace-stripprefix.stripprefix.prefixes=/gnosis-mainnet-minimal
|
||||
- traefik.http.services.gnosis-mainnet-erigon3-minimal-trace.loadbalancer.server.port=8545
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-mainnet-minimal`)}
|
||||
- ${NO_SSL:+traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace.rule=PathPrefix(`/gnosis-mainnet-minimal`)}
|
||||
- traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace.middlewares=gnosis-mainnet-erigon3-minimal-trace-stripprefix, ipwhitelist
|
||||
- traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace.service=gnosis-mainnet-erigon3-minimal-trace
|
||||
- traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace-node.service=gnosis-mainnet-erigon3-minimal-trace-node
|
||||
- traefik.http.services.gnosis-mainnet-erigon3-minimal-trace-node.loadbalancer.server.port=5555
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace-node.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace-node.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-mainnet-minimal/eth`)}
|
||||
- ${NO_SSL:+traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace-node.rule=PathPrefix(`/gnosis-mainnet-minimal/eth`)}
|
||||
- traefik.http.routers.gnosis-mainnet-erigon3-minimal-trace-node.middlewares=gnosis-mainnet-erigon3-minimal-trace-stripprefix, ipwhitelist
|
||||
|
||||
volumes:
|
||||
gnosis-mainnet-erigon3-minimal-trace:
|
||||
gnosis-mainnet-erigon3-minimal-trace:
|
||||
|
||||
x-upstreams:
|
||||
- chain: gnosis
|
||||
method-groups:
|
||||
enabled:
|
||||
- debug
|
||||
- filter
|
||||
- trace
|
||||
methods:
|
||||
disabled:
|
||||
enabled:
|
||||
# standard geth and erigon
|
||||
- name: debug_accountRange
|
||||
- name: debug_getModifiedAccountsByNumber
|
||||
- name: debug_getModifiedAccountsByHash
|
||||
# non standard geth and erigon
|
||||
- name: eth_getRawTransactionByHash
|
||||
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||
# non standard erigon only
|
||||
- name: eth_getBlockReceipts
|
||||
- name: eth_protocolVersion
|
||||
- name: eth_callMany
|
||||
- name: eth_callBundle
|
||||
- name: debug_accountAt
|
||||
- name: debug_traceCallMany
|
||||
- name: erigon_getHeaderByHash
|
||||
- name: erigon_getBlockReceiptsByBlockHash
|
||||
- name: erigon_getHeaderByNumber
|
||||
- name: erigon_getLogsByHash
|
||||
- name: erigon_forks
|
||||
- name: erigon_getBlockByTimestamp
|
||||
- name: erigon_BlockNumber
|
||||
- name: erigon_getLatestLogs
|
||||
|
||||
@@ -1,77 +1,127 @@
|
||||
|
||||
|
||||
# use at your own risk
|
||||
|
||||
services:
|
||||
gnosis-mainnet:
|
||||
image: erigontech/erigon:${ERIGON3_VERSION:-v3.0.0}
|
||||
image: ${GNOSIS_ERIGON3_IMAGE:-erigontech/erigon}:${GNOSIS_MAINNET_ERIGON3_VERSION:-v3.0.0}
|
||||
user: root
|
||||
ulimits:
|
||||
nofile: 1048576 # Max open files (for RPC/WS connections)
|
||||
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
|
||||
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
|
||||
expose:
|
||||
- "8545"
|
||||
- 8545
|
||||
- 8551
|
||||
|
||||
ports:
|
||||
- "10147:10147"
|
||||
- "10147:10147/udp"
|
||||
- "25147:25147"
|
||||
- "25147:25147/udp"
|
||||
- "30147:30147"
|
||||
- "30147:30147/udp"
|
||||
- "15147:15147"
|
||||
- "15147:15147/udp"
|
||||
- "20147:20147"
|
||||
- "20147:20147/udp"
|
||||
environment:
|
||||
- "IP=${IP}"
|
||||
- 10974:10974
|
||||
- 10974:10974/udp
|
||||
- 30974:30974
|
||||
- 30974:30974/udp
|
||||
- 35974:35974
|
||||
- 35974:35974/udp
|
||||
- 15974:15974
|
||||
- 15974:15974/udp
|
||||
- 25974:25974
|
||||
- 25974:25974/udp
|
||||
volumes:
|
||||
- gnosis-mainnet-erigon3-pruned-trace:/root/.local/share/erigon
|
||||
- ${GNOSIS_MAINNET_ERIGON3_PRUNED_TRACE_DATA:-gnosis-mainnet-erigon3-pruned-trace}:/root/.local/share/erigon
|
||||
- /slowdisk:/slowdisk
|
||||
|
||||
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
|
||||
entrypoint: [erigon]
|
||||
command:
|
||||
- --datadir=/root/.local/share/erigon
|
||||
- --port=10974
|
||||
- --bind=0.0.0.0
|
||||
- --nat=extip:${IP}
|
||||
- --http
|
||||
- --http.port=8545
|
||||
- --http.vhosts=*
|
||||
- --ws
|
||||
- --ws.port=8545
|
||||
- --ws.origins=*
|
||||
- --ws.addr=0.0.0.0
|
||||
- --http.addr=0.0.0.0
|
||||
- --maxpeers=50
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
- --ws.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
|
||||
- --rpc.returndata.limit=1100000
|
||||
- --rpc.gascap=6000000000
|
||||
|
||||
- --prune.mode=
|
||||
|
||||
- --p2p.allowed-ports=30974
|
||||
- --p2p.allowed-ports=35974
|
||||
- --chain=gnosis
|
||||
|
||||
- --torrent.port=25974
|
||||
|
||||
networks:
|
||||
- chains
|
||||
|
||||
entrypoint: ["erigon"]
|
||||
command:
|
||||
- --chain=gnosis
|
||||
|
||||
- --prune.mode=full
|
||||
- --port=10147
|
||||
- --p2p.allowed-ports=25147
|
||||
- --p2p.allowed-ports=30147
|
||||
- --nat=extip:${IP}
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.vhosts=*
|
||||
- --http.corsdomain=*
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin
|
||||
- --rpc.returndata.limit=1100000
|
||||
- --rpc.gascap=5000000000
|
||||
- --ws.port=8545
|
||||
- --ws
|
||||
|
||||
- --torrent.port=20147
|
||||
|
||||
- --beacon.api.port=5555
|
||||
- --beacon.api.addr=0.0.0.0
|
||||
- --beacon.api.cors.allow-origins=*
|
||||
- --caplin.discovery.addr=0.0.0.0
|
||||
- --caplin.discovery.port=15147
|
||||
- --caplin.discovery.tcpport=15147
|
||||
- --beacon.api=beacon,builder,debug,lighthouse,node,validator,config
|
||||
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 1m
|
||||
stop_grace_period: 5m
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.gnosis-mainnet-erigon3-pruned-trace-stripprefix.stripprefix.prefixes=/gnosis-mainnet"
|
||||
- "traefik.http.services.gnosis-mainnet-erigon3-pruned-trace.loadbalancer.server.port=8545"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace.entrypoints=websecure"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-mainnet`)"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace.middlewares=gnosis-mainnet-erigon3-pruned-trace-stripprefix, ipwhitelist"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace.service=gnosis-mainnet-erigon3-pruned-trace"
|
||||
|
||||
- "traefik.http.services.gnosis-mainnet-erigon3-pruned-trace-node.loadbalancer.server.port=5555"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace-node.entrypoints=websecure"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace-node.service=gnosis-mainnet-erigon3-pruned-trace-node"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace-node.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-mainnet/eth`)"
|
||||
- "traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace-node.middlewares=gnosis-mainnet-erigon3-pruned-trace-stripprefix, ipwhitelist"
|
||||
- traefik.enable=true
|
||||
- traefik.http.middlewares.gnosis-mainnet-erigon3-pruned-trace-stripprefix.stripprefix.prefixes=/gnosis-mainnet
|
||||
- traefik.http.services.gnosis-mainnet-erigon3-pruned-trace.loadbalancer.server.port=8545
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-mainnet`)}
|
||||
- ${NO_SSL:+traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace.rule=PathPrefix(`/gnosis-mainnet`)}
|
||||
- traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace.middlewares=gnosis-mainnet-erigon3-pruned-trace-stripprefix, ipwhitelist
|
||||
- traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace.service=gnosis-mainnet-erigon3-pruned-trace
|
||||
- traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace-node.service=gnosis-mainnet-erigon3-pruned-trace-node
|
||||
- traefik.http.services.gnosis-mainnet-erigon3-pruned-trace-node.loadbalancer.server.port=5555
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace-node.entrypoints=websecure}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace-node.tls.certresolver=myresolver}
|
||||
- ${NO_SSL:-traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace-node.rule=Host(`$DOMAIN`) && PathPrefix(`/gnosis-mainnet/eth`)}
|
||||
- ${NO_SSL:+traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace-node.rule=PathPrefix(`/gnosis-mainnet/eth`)}
|
||||
- traefik.http.routers.gnosis-mainnet-erigon3-pruned-trace-node.middlewares=gnosis-mainnet-erigon3-pruned-trace-stripprefix, ipwhitelist
|
||||
|
||||
volumes:
|
||||
gnosis-mainnet-erigon3-pruned-trace:
|
||||
gnosis-mainnet-erigon3-pruned-trace:
|
||||
|
||||
x-upstreams:
|
||||
- chain: gnosis
|
||||
method-groups:
|
||||
enabled:
|
||||
- debug
|
||||
- filter
|
||||
- trace
|
||||
methods:
|
||||
disabled:
|
||||
enabled:
|
||||
# standard geth and erigon
|
||||
- name: debug_accountRange
|
||||
- name: debug_getModifiedAccountsByNumber
|
||||
- name: debug_getModifiedAccountsByHash
|
||||
# non standard geth and erigon
|
||||
- name: eth_getRawTransactionByHash
|
||||
- name: eth_getRawTransactionByBlockHashAndIndex
|
||||
# non standard erigon only
|
||||
- name: eth_getBlockReceipts
|
||||
- name: eth_protocolVersion
|
||||
- name: eth_callMany
|
||||
- name: eth_callBundle
|
||||
- name: debug_accountAt
|
||||
- name: debug_traceCallMany
|
||||
- name: erigon_getHeaderByHash
|
||||
- name: erigon_getBlockReceiptsByBlockHash
|
||||
- name: erigon_getHeaderByNumber
|
||||
- name: erigon_getLogsByHash
|
||||
- name: erigon_forks
|
||||
- name: erigon_getBlockByTimestamp
|
||||
- name: erigon_BlockNumber
|
||||
- name: erigon_getLatestLogs
|
||||
|
||||
Reference in New Issue
Block a user