This commit is contained in:
goldsquid
2025-11-07 09:49:03 +07:00
parent f371c7fc1c
commit abc00d0540
2 changed files with 22 additions and 22 deletions

View File

@@ -24,12 +24,12 @@ x-logging-defaults: &logging-defaults
# #
# docker compose up -d # docker compose up -d
# #
# curl -X POST https://${IP}.traefik.me/sophon-mainnet-external-node-archive \ # curl -X POST https://${IP}.traefik.me/sophon-mainnet-archive \
# -H "Content-Type: application/json" \ # -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services: services:
sophon-mainnet-external-node-archive: sophon-mainnet-archive:
image: ${SOPHON_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${SOPHON_MAINNET_EXTERNAL_NODE_VERSION:-v29.1.2} image: ${SOPHON_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${SOPHON_MAINNET_EXTERNAL_NODE_VERSION:-v29.1.2}
sysctls: sysctls:
# TCP Performance # TCP Performance
@@ -53,7 +53,7 @@ services:
- 8546 - 8546
environment: environment:
- DATABASE_POOL_SIZE=50 - DATABASE_POOL_SIZE=50
- DATABASE_URL=postgres://postgres:notsecurepassword@sophon-mainnet-external-node-archive-db:5430/zksync_local_ext_node - DATABASE_URL=postgres://postgres:notsecurepassword@sophon-mainnet-archive-db:5430/zksync_local_ext_node
- EN_API_NAMESAPCES=eth,net,web3,debug,pubsub,debug,zks - EN_API_NAMESAPCES=eth,net,web3,debug,pubsub,debug,zks
- EN_CONSENSUS_CONFIG_PATH=/config/consensus_config.yaml - EN_CONSENSUS_CONFIG_PATH=/config/consensus_config.yaml
- EN_DA_API_NODE_URL=wss://mainnet.avail-rpc.com/ - EN_DA_API_NODE_URL=wss://mainnet.avail-rpc.com/
@@ -63,14 +63,14 @@ services:
- EN_DA_CLIENT=Avail - EN_DA_CLIENT=Avail
- EN_DA_SECRETS_SEED_PHRASE=fuel index outdoor orbit pulp affair basket bus great afraid cabin also - EN_DA_SECRETS_SEED_PHRASE=fuel index outdoor orbit pulp affair basket bus great afraid cabin also
- EN_DA_TIMEOUT_MS=20000 - EN_DA_TIMEOUT_MS=20000
- EN_ETH_CLIENT_URL=${ETHEREUM__EXECUTION_RPC} - EN_ETH_CLIENT_URL=${ETHEREUM_MAINNET_EXECUTION_RPC}
- EN_EVM_EMULATOR_HASH=0x0000000000000000000000000000000000000000000000000000000000000000 - EN_EVM_EMULATOR_HASH=0x0000000000000000000000000000000000000000000000000000000000000000
- EN_HEALTHCHECK_PORT=3081 - EN_HEALTHCHECK_PORT=3081
- EN_HTTP_PORT=8545 - EN_HTTP_PORT=8545
- EN_L1_BATCH_COMMIT_DATA_GENERATOR_MODE=Validium - EN_L1_BATCH_COMMIT_DATA_GENERATOR_MODE=Validium
- EN_L1_CHAIN_ID=1 - EN_L1_CHAIN_ID=1
- EN_L2_CHAIN_ID=50104 - EN_L2_CHAIN_ID=50104
- EN_MAIN_NODE_URL= - EN_MAIN_NODE_URL=https://mainnet.avail-rpc.com
- EN_MAX_RESPONSE_BODY_SIZE_MB=30 - EN_MAX_RESPONSE_BODY_SIZE_MB=30
- EN_MAX_RESPONSE_BODY_SIZE_OVERRIDES_MB=eth_getLogs=100,eth_getBlockReceipts=None - EN_MAX_RESPONSE_BODY_SIZE_OVERRIDES_MB=eth_getLogs=100,eth_getBlockReceipts=None
- EN_MERKLE_TREE_PATH=./db/ext-node/lightweight - EN_MERKLE_TREE_PATH=./db/ext-node/lightweight
@@ -95,12 +95,12 @@ services:
labels: labels:
- prometheus-scrape.enabled=false - prometheus-scrape.enabled=false
- traefik.enable=true - traefik.enable=true
- traefik.http.middlewares.sophon-mainnet-external-node-archive-stripprefix.stripprefix.prefixes=/sophon-mainnet-external-node-archive - traefik.http.middlewares.sophon-mainnet-external-node-archive-stripprefix.stripprefix.prefixes=/sophon-mainnet-archive
- traefik.http.services.sophon-mainnet-external-node-archive.loadbalancer.server.port=8545 - traefik.http.services.sophon-mainnet-external-node-archive.loadbalancer.server.port=8545
- ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-archive.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-archive.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-archive.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-archive.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-archive.rule=Host(`$DOMAIN`) && (Path(`/sophon-mainnet-external-node-archive`) || Path(`/sophon-mainnet-external-node-archive/`))} - ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-archive.rule=Host(`$DOMAIN`) && (Path(`/sophon-mainnet-archive`) || Path(`/sophon-mainnet-archive/`))}
- ${NO_SSL:+traefik.http.routers.sophon-mainnet-external-node-archive.rule=Path(`/sophon-mainnet-external-node-archive`) || Path(`/sophon-mainnet-external-node-archive/`)} - ${NO_SSL:+traefik.http.routers.sophon-mainnet-external-node-archive.rule=Path(`/sophon-mainnet-archive`) || Path(`/sophon-mainnet-archive/`)}
- traefik.http.routers.sophon-mainnet-external-node-archive.middlewares=sophon-mainnet-external-node-archive-stripprefix, ipallowlist - traefik.http.routers.sophon-mainnet-external-node-archive.middlewares=sophon-mainnet-external-node-archive-stripprefix, ipallowlist
- traefik.http.routers.sophon-mainnet-external-node-archive.priority=50 # gets any request that is not GET with UPGRADE header - traefik.http.routers.sophon-mainnet-external-node-archive.priority=50 # gets any request that is not GET with UPGRADE header
- traefik.http.routers.sophon-mainnet-external-node-archive-ws.priority=100 # answers GET requests first - traefik.http.routers.sophon-mainnet-external-node-archive-ws.priority=100 # answers GET requests first
@@ -109,11 +109,11 @@ services:
- traefik.http.routers.sophon-mainnet-external-node-archive.service=sophon-mainnet-external-node-archive - traefik.http.routers.sophon-mainnet-external-node-archive.service=sophon-mainnet-external-node-archive
- ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-archive-ws.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-archive-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-archive-ws.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-archive-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/sophon-mainnet-external-node-archive`) || Path(`/sophon-mainnet-external-node-archive/`)) && Headers(`Upgrade`, `websocket`)} - ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/sophon-mainnet-archive`) || Path(`/sophon-mainnet-archive/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.sophon-mainnet-external-node-archive-ws.rule=(Path(`/sophon-mainnet-external-node-archive`) || Path(`/sophon-mainnet-external-node-archive/`)) && Headers(`Upgrade`, `websocket`)} - ${NO_SSL:+traefik.http.routers.sophon-mainnet-external-node-archive-ws.rule=(Path(`/sophon-mainnet-archive`) || Path(`/sophon-mainnet-archive/`)) && Headers(`Upgrade`, `websocket`)}
- traefik.http.routers.sophon-mainnet-external-node-archive-ws.middlewares=sophon-mainnet-external-node-archive-stripprefix, ipallowlist - traefik.http.routers.sophon-mainnet-external-node-archive-ws.middlewares=sophon-mainnet-external-node-archive-stripprefix, ipallowlist
sophon-mainnet-external-node-archive-db: sophon-mainnet-archive-db:
image: postgres:14 image: postgres:14
expose: expose:
- 5430 - 5430

View File

@@ -24,12 +24,12 @@ x-logging-defaults: &logging-defaults
# #
# docker compose up -d # docker compose up -d
# #
# curl -X POST https://${IP}.traefik.me/sophon-mainnet-external-node \ # curl -X POST https://${IP}.traefik.me/sophon-mainnet \
# -H "Content-Type: application/json" \ # -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services: services:
sophon-mainnet-external-node: sophon-mainnet:
image: ${SOPHON_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${SOPHON_MAINNET_EXTERNAL_NODE_VERSION:-v29.1.2} image: ${SOPHON_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${SOPHON_MAINNET_EXTERNAL_NODE_VERSION:-v29.1.2}
sysctls: sysctls:
# TCP Performance # TCP Performance
@@ -53,7 +53,7 @@ services:
- 8546 - 8546
environment: environment:
- DATABASE_POOL_SIZE=50 - DATABASE_POOL_SIZE=50
- DATABASE_URL=postgres://postgres:notsecurepassword@sophon-mainnet-external-node-db:5430/zksync_local_ext_node - DATABASE_URL=postgres://postgres:notsecurepassword@sophon-mainnet-db:5430/zksync_local_ext_node
- EN_API_NAMESAPCES=eth,net,web3,debug,pubsub,debug,zks - EN_API_NAMESAPCES=eth,net,web3,debug,pubsub,debug,zks
- EN_CONSENSUS_CONFIG_PATH=/config/consensus_config.yaml - EN_CONSENSUS_CONFIG_PATH=/config/consensus_config.yaml
- EN_DA_API_NODE_URL=wss://mainnet.avail-rpc.com/ - EN_DA_API_NODE_URL=wss://mainnet.avail-rpc.com/
@@ -63,14 +63,14 @@ services:
- EN_DA_CLIENT=Avail - EN_DA_CLIENT=Avail
- EN_DA_SECRETS_SEED_PHRASE=fuel index outdoor orbit pulp affair basket bus great afraid cabin also - EN_DA_SECRETS_SEED_PHRASE=fuel index outdoor orbit pulp affair basket bus great afraid cabin also
- EN_DA_TIMEOUT_MS=20000 - EN_DA_TIMEOUT_MS=20000
- EN_ETH_CLIENT_URL=${ETHEREUM__EXECUTION_RPC} - EN_ETH_CLIENT_URL=${ETHEREUM_MAINNET_EXECUTION_RPC}
- EN_EVM_EMULATOR_HASH=0x0000000000000000000000000000000000000000000000000000000000000000 - EN_EVM_EMULATOR_HASH=0x0000000000000000000000000000000000000000000000000000000000000000
- EN_HEALTHCHECK_PORT=3081 - EN_HEALTHCHECK_PORT=3081
- EN_HTTP_PORT=8545 - EN_HTTP_PORT=8545
- EN_L1_BATCH_COMMIT_DATA_GENERATOR_MODE=Validium - EN_L1_BATCH_COMMIT_DATA_GENERATOR_MODE=Validium
- EN_L1_CHAIN_ID=1 - EN_L1_CHAIN_ID=1
- EN_L2_CHAIN_ID=50104 - EN_L2_CHAIN_ID=50104
- EN_MAIN_NODE_URL= - EN_MAIN_NODE_URL=https://mainnet.avail-rpc.com
- EN_MAX_RESPONSE_BODY_SIZE_MB=30 - EN_MAX_RESPONSE_BODY_SIZE_MB=30
- EN_MAX_RESPONSE_BODY_SIZE_OVERRIDES_MB=eth_getLogs=100,eth_getBlockReceipts=None - EN_MAX_RESPONSE_BODY_SIZE_OVERRIDES_MB=eth_getLogs=100,eth_getBlockReceipts=None
- EN_MERKLE_TREE_PATH=./db/ext-node/lightweight - EN_MERKLE_TREE_PATH=./db/ext-node/lightweight
@@ -95,12 +95,12 @@ services:
labels: labels:
- prometheus-scrape.enabled=false - prometheus-scrape.enabled=false
- traefik.enable=true - traefik.enable=true
- traefik.http.middlewares.sophon-mainnet-external-node-pruned-stripprefix.stripprefix.prefixes=/sophon-mainnet-external-node - traefik.http.middlewares.sophon-mainnet-external-node-pruned-stripprefix.stripprefix.prefixes=/sophon-mainnet
- traefik.http.services.sophon-mainnet-external-node-pruned.loadbalancer.server.port=8545 - traefik.http.services.sophon-mainnet-external-node-pruned.loadbalancer.server.port=8545
- ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-pruned.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-pruned.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-pruned.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-pruned.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-pruned.rule=Host(`$DOMAIN`) && (Path(`/sophon-mainnet-external-node`) || Path(`/sophon-mainnet-external-node/`))} - ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-pruned.rule=Host(`$DOMAIN`) && (Path(`/sophon-mainnet`) || Path(`/sophon-mainnet/`))}
- ${NO_SSL:+traefik.http.routers.sophon-mainnet-external-node-pruned.rule=Path(`/sophon-mainnet-external-node`) || Path(`/sophon-mainnet-external-node/`)} - ${NO_SSL:+traefik.http.routers.sophon-mainnet-external-node-pruned.rule=Path(`/sophon-mainnet`) || Path(`/sophon-mainnet/`)}
- traefik.http.routers.sophon-mainnet-external-node-pruned.middlewares=sophon-mainnet-external-node-pruned-stripprefix, ipallowlist - traefik.http.routers.sophon-mainnet-external-node-pruned.middlewares=sophon-mainnet-external-node-pruned-stripprefix, ipallowlist
- traefik.http.routers.sophon-mainnet-external-node-pruned.priority=50 # gets any request that is not GET with UPGRADE header - traefik.http.routers.sophon-mainnet-external-node-pruned.priority=50 # gets any request that is not GET with UPGRADE header
- traefik.http.routers.sophon-mainnet-external-node-pruned-ws.priority=100 # answers GET requests first - traefik.http.routers.sophon-mainnet-external-node-pruned-ws.priority=100 # answers GET requests first
@@ -109,11 +109,11 @@ services:
- traefik.http.routers.sophon-mainnet-external-node-pruned.service=sophon-mainnet-external-node-pruned - traefik.http.routers.sophon-mainnet-external-node-pruned.service=sophon-mainnet-external-node-pruned
- ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-pruned-ws.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-pruned-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-pruned-ws.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-pruned-ws.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/sophon-mainnet-external-node`) || Path(`/sophon-mainnet-external-node/`)) && Headers(`Upgrade`, `websocket`)} - ${NO_SSL:-traefik.http.routers.sophon-mainnet-external-node-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/sophon-mainnet`) || Path(`/sophon-mainnet/`)) && Headers(`Upgrade`, `websocket`)}
- ${NO_SSL:+traefik.http.routers.sophon-mainnet-external-node-pruned-ws.rule=(Path(`/sophon-mainnet-external-node`) || Path(`/sophon-mainnet-external-node/`)) && Headers(`Upgrade`, `websocket`)} - ${NO_SSL:+traefik.http.routers.sophon-mainnet-external-node-pruned-ws.rule=(Path(`/sophon-mainnet`) || Path(`/sophon-mainnet/`)) && Headers(`Upgrade`, `websocket`)}
- traefik.http.routers.sophon-mainnet-external-node-pruned-ws.middlewares=sophon-mainnet-external-node-pruned-stripprefix, ipallowlist - traefik.http.routers.sophon-mainnet-external-node-pruned-ws.middlewares=sophon-mainnet-external-node-pruned-stripprefix, ipallowlist
sophon-mainnet-external-node-db: sophon-mainnet-db:
image: postgres:14 image: postgres:14
expose: expose:
- 5430 - 5430