From 9c39f7ac1d48d056a2785c1db314684f7c8324f3 Mon Sep 17 00:00:00 2001 From: goldsquid Date: Sun, 22 Jun 2025 15:08:21 +0700 Subject: [PATCH] no more nginx --- ...abstract-mainnet-external-node-archive.yml | 35 ++++++----------- .../abstract-mainnet-external-node-pruned.yml | 35 ++++++----------- ...abstract-testnet-external-node-archive.yml | 35 ++++++----------- .../abstract-testnet-external-node-pruned.yml | 35 ++++++----------- ...os-zkevm-mainnet-external-node-archive.yml | 35 ++++++----------- ...nos-zkevm-mainnet-external-node-pruned.yml | 35 ++++++----------- ...os-zkevm-testnet-external-node-archive.yml | 35 ++++++----------- ...nos-zkevm-testnet-external-node-pruned.yml | 35 ++++++----------- .../ethereum-classic-besu-pruned-bonsai.yml | 35 ++++++----------- ...eum-mainnet-besu-pruned-bonsai--nimbus.yml | 39 +++++++------------ haqq/haqq/haqq-mainnet-haqq-pruned.yml | 35 ++++++----------- .../lens-mainnet-external-node-archive.yml | 35 ++++++----------- .../lens-mainnet-external-node-pruned.yml | 35 ++++++----------- .../lens-testnet-external-node-archive.yml | 35 ++++++----------- .../lens-testnet-external-node-pruned.yml | 35 ++++++----------- .../besu/linea-mainnet-besu-pruned-bonsai.yml | 35 ++++++----------- .../besu/linea-sepolia-besu-pruned-bonsai.yml | 35 ++++++----------- ...da-mainnet-l2geth-archive-leveldb-hash.yml | 37 +++++++----------- ...-mainnet-agave-pruned-rocksdb--firesol.yml | 27 ++----------- ...-testnet-agave-pruned-rocksdb--firesol.yml | 27 ++----------- ...sync-era-boojnet-external-node-archive.yml | 35 ++++++----------- ...ksync-era-boojnet-external-node-pruned.yml | 35 ++++++----------- ...sync-era-mainnet-external-node-archive.yml | 35 ++++++----------- ...ksync-era-mainnet-external-node-pruned.yml | 35 ++++++----------- 24 files changed, 273 insertions(+), 557 deletions(-) diff --git a/abstract/external-node/abstract-mainnet-external-node-archive.yml b/abstract/external-node/abstract-mainnet-external-node-archive.yml index b823ba91..7e2f5935 100644 --- a/abstract/external-node/abstract-mainnet-external-node-archive.yml +++ b/abstract/external-node/abstract-mainnet-external-node-archive.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - abstract-mainnet-archive-client: + abstract-mainnet-archive: image: ${ABSTRACT_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ABSTRACT_MAINNET_EXTERNAL_NODE_VERSION:-v28.6.0} sysctls: # TCP Performance @@ -83,35 +83,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - abstract-mainnet-archive: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: abstract-mainnet-archive-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - abstract-mainnet-archive-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.abstract-mainnet-external-node-archive-stripprefix.stripprefix.prefixes=/abstract-mainnet-archive - - traefik.http.services.abstract-mainnet-external-node-archive.loadbalancer.server.port=80 + - traefik.http.services.abstract-mainnet-external-node-archive.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.abstract-mainnet-external-node-archive.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.abstract-mainnet-external-node-archive.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.abstract-mainnet-external-node-archive.rule=Host(`$DOMAIN`) && (Path(`/abstract-mainnet-archive`) || Path(`/abstract-mainnet-archive/`))} - ${NO_SSL:+traefik.http.routers.abstract-mainnet-external-node-archive.rule=Path(`/abstract-mainnet-archive`) || Path(`/abstract-mainnet-archive/`)} - traefik.http.routers.abstract-mainnet-external-node-archive.middlewares=abstract-mainnet-external-node-archive-stripprefix, ipallowlist + - traefik.http.routers.abstract-mainnet-external-node-archive.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.abstract-mainnet-external-node-archive-ws.priority=100 # answers GET requests first + - traefik.http.services.abstract-mainnet-external-node-archive-ws.loadbalancer.server.port=8546 + - traefik.http.routers.abstract-mainnet-external-node-archive-ws.service=abstract-mainnet-external-node-archive-ws + - traefik.http.routers.abstract-mainnet-external-node-archive.service=abstract-mainnet-external-node-archive + - ${NO_SSL:-traefik.http.routers.abstract-mainnet-external-node-archive-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.abstract-mainnet-external-node-archive-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.abstract-mainnet-external-node-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/abstract-mainnet-archive`) || Path(`/abstract-mainnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.abstract-mainnet-external-node-archive-ws.rule=(Path(`/abstract-mainnet-archive`) || Path(`/abstract-mainnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.abstract-mainnet-external-node-archive-ws.middlewares=abstract-mainnet-external-node-archive-stripprefix, ipallowlist abstract-mainnet-archive-db: image: postgres:14 diff --git a/abstract/external-node/abstract-mainnet-external-node-pruned.yml b/abstract/external-node/abstract-mainnet-external-node-pruned.yml index d69dd7c6..48339cff 100644 --- a/abstract/external-node/abstract-mainnet-external-node-pruned.yml +++ b/abstract/external-node/abstract-mainnet-external-node-pruned.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - abstract-mainnet-client: + abstract-mainnet: image: ${ABSTRACT_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ABSTRACT_MAINNET_EXTERNAL_NODE_VERSION:-v28.6.0} sysctls: # TCP Performance @@ -83,35 +83,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - abstract-mainnet: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: abstract-mainnet-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - abstract-mainnet-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.abstract-mainnet-external-node-pruned-stripprefix.stripprefix.prefixes=/abstract-mainnet - - traefik.http.services.abstract-mainnet-external-node-pruned.loadbalancer.server.port=80 + - traefik.http.services.abstract-mainnet-external-node-pruned.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.abstract-mainnet-external-node-pruned.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.abstract-mainnet-external-node-pruned.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.abstract-mainnet-external-node-pruned.rule=Host(`$DOMAIN`) && (Path(`/abstract-mainnet`) || Path(`/abstract-mainnet/`))} - ${NO_SSL:+traefik.http.routers.abstract-mainnet-external-node-pruned.rule=Path(`/abstract-mainnet`) || Path(`/abstract-mainnet/`)} - traefik.http.routers.abstract-mainnet-external-node-pruned.middlewares=abstract-mainnet-external-node-pruned-stripprefix, ipallowlist + - traefik.http.routers.abstract-mainnet-external-node-pruned.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.abstract-mainnet-external-node-pruned-ws.priority=100 # answers GET requests first + - traefik.http.services.abstract-mainnet-external-node-pruned-ws.loadbalancer.server.port=8546 + - traefik.http.routers.abstract-mainnet-external-node-pruned-ws.service=abstract-mainnet-external-node-pruned-ws + - traefik.http.routers.abstract-mainnet-external-node-pruned.service=abstract-mainnet-external-node-pruned + - ${NO_SSL:-traefik.http.routers.abstract-mainnet-external-node-pruned-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.abstract-mainnet-external-node-pruned-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.abstract-mainnet-external-node-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/abstract-mainnet`) || Path(`/abstract-mainnet/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.abstract-mainnet-external-node-pruned-ws.rule=(Path(`/abstract-mainnet`) || Path(`/abstract-mainnet/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.abstract-mainnet-external-node-pruned-ws.middlewares=abstract-mainnet-external-node-pruned-stripprefix, ipallowlist abstract-mainnet-db: image: postgres:14 diff --git a/abstract/external-node/abstract-testnet-external-node-archive.yml b/abstract/external-node/abstract-testnet-external-node-archive.yml index 1d2cd28f..e46c82d4 100644 --- a/abstract/external-node/abstract-testnet-external-node-archive.yml +++ b/abstract/external-node/abstract-testnet-external-node-archive.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - abstract-testnet-archive-client: + abstract-testnet-archive: image: ${ABSTRACT_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ABSTRACT_TESTNET_EXTERNAL_NODE_VERSION:-v28.6.0} sysctls: # TCP Performance @@ -83,35 +83,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - abstract-testnet-archive: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: abstract-testnet-archive-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - abstract-testnet-archive-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.abstract-testnet-external-node-archive-stripprefix.stripprefix.prefixes=/abstract-testnet-archive - - traefik.http.services.abstract-testnet-external-node-archive.loadbalancer.server.port=80 + - traefik.http.services.abstract-testnet-external-node-archive.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.abstract-testnet-external-node-archive.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.abstract-testnet-external-node-archive.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.abstract-testnet-external-node-archive.rule=Host(`$DOMAIN`) && (Path(`/abstract-testnet-archive`) || Path(`/abstract-testnet-archive/`))} - ${NO_SSL:+traefik.http.routers.abstract-testnet-external-node-archive.rule=Path(`/abstract-testnet-archive`) || Path(`/abstract-testnet-archive/`)} - traefik.http.routers.abstract-testnet-external-node-archive.middlewares=abstract-testnet-external-node-archive-stripprefix, ipallowlist + - traefik.http.routers.abstract-testnet-external-node-archive.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.abstract-testnet-external-node-archive-ws.priority=100 # answers GET requests first + - traefik.http.services.abstract-testnet-external-node-archive-ws.loadbalancer.server.port=8546 + - traefik.http.routers.abstract-testnet-external-node-archive-ws.service=abstract-testnet-external-node-archive-ws + - traefik.http.routers.abstract-testnet-external-node-archive.service=abstract-testnet-external-node-archive + - ${NO_SSL:-traefik.http.routers.abstract-testnet-external-node-archive-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.abstract-testnet-external-node-archive-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.abstract-testnet-external-node-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/abstract-testnet-archive`) || Path(`/abstract-testnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.abstract-testnet-external-node-archive-ws.rule=(Path(`/abstract-testnet-archive`) || Path(`/abstract-testnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.abstract-testnet-external-node-archive-ws.middlewares=abstract-testnet-external-node-archive-stripprefix, ipallowlist abstract-testnet-archive-db: image: postgres:14 diff --git a/abstract/external-node/abstract-testnet-external-node-pruned.yml b/abstract/external-node/abstract-testnet-external-node-pruned.yml index c4d1096d..98375862 100644 --- a/abstract/external-node/abstract-testnet-external-node-pruned.yml +++ b/abstract/external-node/abstract-testnet-external-node-pruned.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - abstract-testnet-client: + abstract-testnet: image: ${ABSTRACT_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ABSTRACT_TESTNET_EXTERNAL_NODE_VERSION:-v28.6.0} sysctls: # TCP Performance @@ -83,35 +83,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - abstract-testnet: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: abstract-testnet-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - abstract-testnet-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.abstract-testnet-external-node-pruned-stripprefix.stripprefix.prefixes=/abstract-testnet - - traefik.http.services.abstract-testnet-external-node-pruned.loadbalancer.server.port=80 + - traefik.http.services.abstract-testnet-external-node-pruned.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.abstract-testnet-external-node-pruned.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.abstract-testnet-external-node-pruned.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.abstract-testnet-external-node-pruned.rule=Host(`$DOMAIN`) && (Path(`/abstract-testnet`) || Path(`/abstract-testnet/`))} - ${NO_SSL:+traefik.http.routers.abstract-testnet-external-node-pruned.rule=Path(`/abstract-testnet`) || Path(`/abstract-testnet/`)} - traefik.http.routers.abstract-testnet-external-node-pruned.middlewares=abstract-testnet-external-node-pruned-stripprefix, ipallowlist + - traefik.http.routers.abstract-testnet-external-node-pruned.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.abstract-testnet-external-node-pruned-ws.priority=100 # answers GET requests first + - traefik.http.services.abstract-testnet-external-node-pruned-ws.loadbalancer.server.port=8546 + - traefik.http.routers.abstract-testnet-external-node-pruned-ws.service=abstract-testnet-external-node-pruned-ws + - traefik.http.routers.abstract-testnet-external-node-pruned.service=abstract-testnet-external-node-pruned + - ${NO_SSL:-traefik.http.routers.abstract-testnet-external-node-pruned-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.abstract-testnet-external-node-pruned-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.abstract-testnet-external-node-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/abstract-testnet`) || Path(`/abstract-testnet/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.abstract-testnet-external-node-pruned-ws.rule=(Path(`/abstract-testnet`) || Path(`/abstract-testnet/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.abstract-testnet-external-node-pruned-ws.middlewares=abstract-testnet-external-node-pruned-stripprefix, ipallowlist abstract-testnet-db: image: postgres:14 diff --git a/cronos-zkevm/external-node/cronos-zkevm-mainnet-external-node-archive.yml b/cronos-zkevm/external-node/cronos-zkevm-mainnet-external-node-archive.yml index c41c0cb5..67a20c7a 100644 --- a/cronos-zkevm/external-node/cronos-zkevm-mainnet-external-node-archive.yml +++ b/cronos-zkevm/external-node/cronos-zkevm-mainnet-external-node-archive.yml @@ -32,7 +32,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - cronos-zkevm-mainnet-archive-client: + cronos-zkevm-mainnet-archive: image: ${CRONOS_ZKEVM_EXTERNAL_NODE_IMAGE:-ghcr.io/cronos-labs/external-node}:${CRONOS_ZKEVM_MAINNET_EXTERNAL_NODE_VERSION:-v27.5.3-patch} sysctls: # TCP Performance @@ -87,35 +87,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - cronos-zkevm-mainnet-archive: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: cronos-zkevm-mainnet-archive-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - cronos-zkevm-mainnet-archive-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.cronos-zkevm-mainnet-external-node-archive-stripprefix.stripprefix.prefixes=/cronos-zkevm-mainnet-archive - - traefik.http.services.cronos-zkevm-mainnet-external-node-archive.loadbalancer.server.port=80 + - traefik.http.services.cronos-zkevm-mainnet-external-node-archive.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.cronos-zkevm-mainnet-external-node-archive.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.cronos-zkevm-mainnet-external-node-archive.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.cronos-zkevm-mainnet-external-node-archive.rule=Host(`$DOMAIN`) && (Path(`/cronos-zkevm-mainnet-archive`) || Path(`/cronos-zkevm-mainnet-archive/`))} - ${NO_SSL:+traefik.http.routers.cronos-zkevm-mainnet-external-node-archive.rule=Path(`/cronos-zkevm-mainnet-archive`) || Path(`/cronos-zkevm-mainnet-archive/`)} - traefik.http.routers.cronos-zkevm-mainnet-external-node-archive.middlewares=cronos-zkevm-mainnet-external-node-archive-stripprefix, ipallowlist + - traefik.http.routers.cronos-zkevm-mainnet-external-node-archive.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.cronos-zkevm-mainnet-external-node-archive-ws.priority=100 # answers GET requests first + - traefik.http.services.cronos-zkevm-mainnet-external-node-archive-ws.loadbalancer.server.port=8546 + - traefik.http.routers.cronos-zkevm-mainnet-external-node-archive-ws.service=cronos-zkevm-mainnet-external-node-archive-ws + - traefik.http.routers.cronos-zkevm-mainnet-external-node-archive.service=cronos-zkevm-mainnet-external-node-archive + - ${NO_SSL:-traefik.http.routers.cronos-zkevm-mainnet-external-node-archive-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.cronos-zkevm-mainnet-external-node-archive-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.cronos-zkevm-mainnet-external-node-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/cronos-zkevm-mainnet-archive`) || Path(`/cronos-zkevm-mainnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.cronos-zkevm-mainnet-external-node-archive-ws.rule=(Path(`/cronos-zkevm-mainnet-archive`) || Path(`/cronos-zkevm-mainnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.cronos-zkevm-mainnet-external-node-archive-ws.middlewares=cronos-zkevm-mainnet-external-node-archive-stripprefix, ipallowlist cronos-zkevm-mainnet-archive-db: image: postgres:14 diff --git a/cronos-zkevm/external-node/cronos-zkevm-mainnet-external-node-pruned.yml b/cronos-zkevm/external-node/cronos-zkevm-mainnet-external-node-pruned.yml index 01481958..19de97b6 100644 --- a/cronos-zkevm/external-node/cronos-zkevm-mainnet-external-node-pruned.yml +++ b/cronos-zkevm/external-node/cronos-zkevm-mainnet-external-node-pruned.yml @@ -32,7 +32,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - cronos-zkevm-mainnet-client: + cronos-zkevm-mainnet: image: ${CRONOS_ZKEVM_EXTERNAL_NODE_IMAGE:-ghcr.io/cronos-labs/external-node}:${CRONOS_ZKEVM_MAINNET_EXTERNAL_NODE_VERSION:-v27.5.3-patch} sysctls: # TCP Performance @@ -87,35 +87,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - cronos-zkevm-mainnet: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: cronos-zkevm-mainnet-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - cronos-zkevm-mainnet-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.cronos-zkevm-mainnet-external-node-pruned-stripprefix.stripprefix.prefixes=/cronos-zkevm-mainnet - - traefik.http.services.cronos-zkevm-mainnet-external-node-pruned.loadbalancer.server.port=80 + - traefik.http.services.cronos-zkevm-mainnet-external-node-pruned.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned.rule=Host(`$DOMAIN`) && (Path(`/cronos-zkevm-mainnet`) || Path(`/cronos-zkevm-mainnet/`))} - ${NO_SSL:+traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned.rule=Path(`/cronos-zkevm-mainnet`) || Path(`/cronos-zkevm-mainnet/`)} - traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned.middlewares=cronos-zkevm-mainnet-external-node-pruned-stripprefix, ipallowlist + - traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned-ws.priority=100 # answers GET requests first + - traefik.http.services.cronos-zkevm-mainnet-external-node-pruned-ws.loadbalancer.server.port=8546 + - traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned-ws.service=cronos-zkevm-mainnet-external-node-pruned-ws + - traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned.service=cronos-zkevm-mainnet-external-node-pruned + - ${NO_SSL:-traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/cronos-zkevm-mainnet`) || Path(`/cronos-zkevm-mainnet/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned-ws.rule=(Path(`/cronos-zkevm-mainnet`) || Path(`/cronos-zkevm-mainnet/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.cronos-zkevm-mainnet-external-node-pruned-ws.middlewares=cronos-zkevm-mainnet-external-node-pruned-stripprefix, ipallowlist cronos-zkevm-mainnet-db: image: postgres:14 diff --git a/cronos-zkevm/external-node/cronos-zkevm-testnet-external-node-archive.yml b/cronos-zkevm/external-node/cronos-zkevm-testnet-external-node-archive.yml index 16a1db35..656b27c0 100644 --- a/cronos-zkevm/external-node/cronos-zkevm-testnet-external-node-archive.yml +++ b/cronos-zkevm/external-node/cronos-zkevm-testnet-external-node-archive.yml @@ -32,7 +32,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - cronos-zkevm-testnet-archive-client: + cronos-zkevm-testnet-archive: image: ${CRONOS_ZKEVM_EXTERNAL_NODE_IMAGE:-ghcr.io/cronos-labs/external-node}:${CRONOS_ZKEVM_TESTNET_EXTERNAL_NODE_VERSION:-v27.5.3-patch} sysctls: # TCP Performance @@ -87,35 +87,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - cronos-zkevm-testnet-archive: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: cronos-zkevm-testnet-archive-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - cronos-zkevm-testnet-archive-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.cronos-zkevm-testnet-external-node-archive-stripprefix.stripprefix.prefixes=/cronos-zkevm-testnet-archive - - traefik.http.services.cronos-zkevm-testnet-external-node-archive.loadbalancer.server.port=80 + - traefik.http.services.cronos-zkevm-testnet-external-node-archive.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.cronos-zkevm-testnet-external-node-archive.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.cronos-zkevm-testnet-external-node-archive.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.cronos-zkevm-testnet-external-node-archive.rule=Host(`$DOMAIN`) && (Path(`/cronos-zkevm-testnet-archive`) || Path(`/cronos-zkevm-testnet-archive/`))} - ${NO_SSL:+traefik.http.routers.cronos-zkevm-testnet-external-node-archive.rule=Path(`/cronos-zkevm-testnet-archive`) || Path(`/cronos-zkevm-testnet-archive/`)} - traefik.http.routers.cronos-zkevm-testnet-external-node-archive.middlewares=cronos-zkevm-testnet-external-node-archive-stripprefix, ipallowlist + - traefik.http.routers.cronos-zkevm-testnet-external-node-archive.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.cronos-zkevm-testnet-external-node-archive-ws.priority=100 # answers GET requests first + - traefik.http.services.cronos-zkevm-testnet-external-node-archive-ws.loadbalancer.server.port=8546 + - traefik.http.routers.cronos-zkevm-testnet-external-node-archive-ws.service=cronos-zkevm-testnet-external-node-archive-ws + - traefik.http.routers.cronos-zkevm-testnet-external-node-archive.service=cronos-zkevm-testnet-external-node-archive + - ${NO_SSL:-traefik.http.routers.cronos-zkevm-testnet-external-node-archive-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.cronos-zkevm-testnet-external-node-archive-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.cronos-zkevm-testnet-external-node-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/cronos-zkevm-testnet-archive`) || Path(`/cronos-zkevm-testnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.cronos-zkevm-testnet-external-node-archive-ws.rule=(Path(`/cronos-zkevm-testnet-archive`) || Path(`/cronos-zkevm-testnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.cronos-zkevm-testnet-external-node-archive-ws.middlewares=cronos-zkevm-testnet-external-node-archive-stripprefix, ipallowlist cronos-zkevm-testnet-archive-db: image: postgres:14 diff --git a/cronos-zkevm/external-node/cronos-zkevm-testnet-external-node-pruned.yml b/cronos-zkevm/external-node/cronos-zkevm-testnet-external-node-pruned.yml index 80ed994f..80d1a0eb 100644 --- a/cronos-zkevm/external-node/cronos-zkevm-testnet-external-node-pruned.yml +++ b/cronos-zkevm/external-node/cronos-zkevm-testnet-external-node-pruned.yml @@ -32,7 +32,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - cronos-zkevm-testnet-client: + cronos-zkevm-testnet: image: ${CRONOS_ZKEVM_EXTERNAL_NODE_IMAGE:-ghcr.io/cronos-labs/external-node}:${CRONOS_ZKEVM_TESTNET_EXTERNAL_NODE_VERSION:-v27.5.3-patch} sysctls: # TCP Performance @@ -87,35 +87,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - cronos-zkevm-testnet: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: cronos-zkevm-testnet-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - cronos-zkevm-testnet-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.cronos-zkevm-testnet-external-node-pruned-stripprefix.stripprefix.prefixes=/cronos-zkevm-testnet - - traefik.http.services.cronos-zkevm-testnet-external-node-pruned.loadbalancer.server.port=80 + - traefik.http.services.cronos-zkevm-testnet-external-node-pruned.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.cronos-zkevm-testnet-external-node-pruned.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.cronos-zkevm-testnet-external-node-pruned.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.cronos-zkevm-testnet-external-node-pruned.rule=Host(`$DOMAIN`) && (Path(`/cronos-zkevm-testnet`) || Path(`/cronos-zkevm-testnet/`))} - ${NO_SSL:+traefik.http.routers.cronos-zkevm-testnet-external-node-pruned.rule=Path(`/cronos-zkevm-testnet`) || Path(`/cronos-zkevm-testnet/`)} - traefik.http.routers.cronos-zkevm-testnet-external-node-pruned.middlewares=cronos-zkevm-testnet-external-node-pruned-stripprefix, ipallowlist + - traefik.http.routers.cronos-zkevm-testnet-external-node-pruned.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.cronos-zkevm-testnet-external-node-pruned-ws.priority=100 # answers GET requests first + - traefik.http.services.cronos-zkevm-testnet-external-node-pruned-ws.loadbalancer.server.port=8546 + - traefik.http.routers.cronos-zkevm-testnet-external-node-pruned-ws.service=cronos-zkevm-testnet-external-node-pruned-ws + - traefik.http.routers.cronos-zkevm-testnet-external-node-pruned.service=cronos-zkevm-testnet-external-node-pruned + - ${NO_SSL:-traefik.http.routers.cronos-zkevm-testnet-external-node-pruned-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.cronos-zkevm-testnet-external-node-pruned-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.cronos-zkevm-testnet-external-node-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/cronos-zkevm-testnet`) || Path(`/cronos-zkevm-testnet/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.cronos-zkevm-testnet-external-node-pruned-ws.rule=(Path(`/cronos-zkevm-testnet`) || Path(`/cronos-zkevm-testnet/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.cronos-zkevm-testnet-external-node-pruned-ws.middlewares=cronos-zkevm-testnet-external-node-pruned-stripprefix, ipallowlist cronos-zkevm-testnet-db: image: postgres:14 diff --git a/ethereum/besu/ethereum-classic-besu-pruned-bonsai.yml b/ethereum/besu/ethereum-classic-besu-pruned-bonsai.yml index c40ccc78..78959183 100644 --- a/ethereum/besu/ethereum-classic-besu-pruned-bonsai.yml +++ b/ethereum/besu/ethereum-classic-besu-pruned-bonsai.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - ethereum-classic-besu-client: + ethereum-classic-besu: image: ${ETHEREUM_BESU_IMAGE:-hyperledger/besu}:${ETHEREUM_CLASSIC_BESU_VERSION:-25.6.0} sysctls: # TCP Performance @@ -86,35 +86,24 @@ services: - prometheus-scrape.enabled=true - prometheus-scrape.port=9545 - prometheus-scrape.path=/metrics - - ethereum-classic-besu: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: ethereum-classic-besu-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - ethereum-classic-besu-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.ethereum-classic-besu-pruned-bonsai-stripprefix.stripprefix.prefixes=/ethereum-classic-besu - - traefik.http.services.ethereum-classic-besu-pruned-bonsai.loadbalancer.server.port=80 + - traefik.http.services.ethereum-classic-besu-pruned-bonsai.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.ethereum-classic-besu-pruned-bonsai.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.ethereum-classic-besu-pruned-bonsai.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.ethereum-classic-besu-pruned-bonsai.rule=Host(`$DOMAIN`) && (Path(`/ethereum-classic-besu`) || Path(`/ethereum-classic-besu/`))} - ${NO_SSL:+traefik.http.routers.ethereum-classic-besu-pruned-bonsai.rule=Path(`/ethereum-classic-besu`) || Path(`/ethereum-classic-besu/`)} - traefik.http.routers.ethereum-classic-besu-pruned-bonsai.middlewares=ethereum-classic-besu-pruned-bonsai-stripprefix, ipallowlist + - traefik.http.routers.ethereum-classic-besu-pruned-bonsai.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.ethereum-classic-besu-pruned-bonsai-ws.priority=100 # answers GET requests first + - traefik.http.services.ethereum-classic-besu-pruned-bonsai-ws.loadbalancer.server.port=8546 + - traefik.http.routers.ethereum-classic-besu-pruned-bonsai-ws.service=ethereum-classic-besu-pruned-bonsai-ws + - traefik.http.routers.ethereum-classic-besu-pruned-bonsai.service=ethereum-classic-besu-pruned-bonsai + - ${NO_SSL:-traefik.http.routers.ethereum-classic-besu-pruned-bonsai-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.ethereum-classic-besu-pruned-bonsai-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.ethereum-classic-besu-pruned-bonsai-ws.rule=Host(`$DOMAIN`) && (Path(`/ethereum-classic-besu`) || Path(`/ethereum-classic-besu/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.ethereum-classic-besu-pruned-bonsai-ws.rule=(Path(`/ethereum-classic-besu`) || Path(`/ethereum-classic-besu/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.ethereum-classic-besu-pruned-bonsai-ws.middlewares=ethereum-classic-besu-pruned-bonsai-stripprefix, ipallowlist volumes: ethereum-classic-besu-pruned-bonsai: diff --git a/ethereum/besu/ethereum-mainnet-besu-pruned-bonsai--nimbus.yml b/ethereum/besu/ethereum-mainnet-besu-pruned-bonsai--nimbus.yml index b7e966ea..aaabb0ff 100644 --- a/ethereum/besu/ethereum-mainnet-besu-pruned-bonsai--nimbus.yml +++ b/ethereum/besu/ethereum-mainnet-besu-pruned-bonsai--nimbus.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - ethereum-mainnet-besu-client: + ethereum-mainnet-besu: image: ${ETHEREUM_BESU_IMAGE:-hyperledger/besu}:${ETHEREUM_MAINNET_BESU_VERSION:-25.6.0} sysctls: # TCP Performance @@ -91,35 +91,24 @@ services: - prometheus-scrape.enabled=true - prometheus-scrape.port=9545 - prometheus-scrape.path=/metrics - - ethereum-mainnet-besu: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: ethereum-mainnet-besu-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - ethereum-mainnet-besu-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.ethereum-mainnet-besu-pruned-bonsai-stripprefix.stripprefix.prefixes=/ethereum-mainnet-besu - - traefik.http.services.ethereum-mainnet-besu-pruned-bonsai.loadbalancer.server.port=80 + - traefik.http.services.ethereum-mainnet-besu-pruned-bonsai.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai.rule=Host(`$DOMAIN`) && (Path(`/ethereum-mainnet-besu`) || Path(`/ethereum-mainnet-besu/`))} - ${NO_SSL:+traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai.rule=Path(`/ethereum-mainnet-besu`) || Path(`/ethereum-mainnet-besu/`)} - traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai.middlewares=ethereum-mainnet-besu-pruned-bonsai-stripprefix, ipallowlist + - traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai-ws.priority=100 # answers GET requests first + - traefik.http.services.ethereum-mainnet-besu-pruned-bonsai-ws.loadbalancer.server.port=8546 + - traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai-ws.service=ethereum-mainnet-besu-pruned-bonsai-ws + - traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai.service=ethereum-mainnet-besu-pruned-bonsai + - ${NO_SSL:-traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai-ws.rule=Host(`$DOMAIN`) && (Path(`/ethereum-mainnet-besu`) || Path(`/ethereum-mainnet-besu/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai-ws.rule=(Path(`/ethereum-mainnet-besu`) || Path(`/ethereum-mainnet-besu/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai-ws.middlewares=ethereum-mainnet-besu-pruned-bonsai-stripprefix, ipallowlist ethereum-mainnet-besu-node: image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-amd64-v25.6.0} @@ -142,10 +131,10 @@ services: - --rest-port=3500 - --tcp-port=18205 - --udp-port=18205 - - --web3-url=http://ethereum-mainnet-besu-client:8551 + - --web3-url=http://ethereum-mainnet-besu:8551 restart: unless-stopped depends_on: - - ethereum-mainnet-besu-client + - ethereum-mainnet-besu networks: - chains volumes: diff --git a/haqq/haqq/haqq-mainnet-haqq-pruned.yml b/haqq/haqq/haqq-mainnet-haqq-pruned.yml index 07d90715..12124caf 100644 --- a/haqq/haqq/haqq-mainnet-haqq-pruned.yml +++ b/haqq/haqq/haqq-mainnet-haqq-pruned.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - haqq-mainnet-client: + haqq-mainnet: image: ${HAQQ_HAQQ_IMAGE:-alhaqq/haqq}:${HAQQ_MAINNET_HAQQ_VERSION:-v1.8.3} sysctls: # TCP Performance @@ -63,35 +63,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - haqq-mainnet: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: haqq-mainnet-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - haqq-mainnet-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.haqq-mainnet-haqq-pruned-stripprefix.stripprefix.prefixes=/haqq-mainnet - - traefik.http.services.haqq-mainnet-haqq-pruned.loadbalancer.server.port=80 + - traefik.http.services.haqq-mainnet-haqq-pruned.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.haqq-mainnet-haqq-pruned.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.haqq-mainnet-haqq-pruned.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.haqq-mainnet-haqq-pruned.rule=Host(`$DOMAIN`) && (Path(`/haqq-mainnet`) || Path(`/haqq-mainnet/`))} - ${NO_SSL:+traefik.http.routers.haqq-mainnet-haqq-pruned.rule=Path(`/haqq-mainnet`) || Path(`/haqq-mainnet/`)} - traefik.http.routers.haqq-mainnet-haqq-pruned.middlewares=haqq-mainnet-haqq-pruned-stripprefix, ipallowlist + - traefik.http.routers.haqq-mainnet-haqq-pruned.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.haqq-mainnet-haqq-pruned-ws.priority=100 # answers GET requests first + - traefik.http.services.haqq-mainnet-haqq-pruned-ws.loadbalancer.server.port=8546 + - traefik.http.routers.haqq-mainnet-haqq-pruned-ws.service=haqq-mainnet-haqq-pruned-ws + - traefik.http.routers.haqq-mainnet-haqq-pruned.service=haqq-mainnet-haqq-pruned + - ${NO_SSL:-traefik.http.routers.haqq-mainnet-haqq-pruned-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.haqq-mainnet-haqq-pruned-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.haqq-mainnet-haqq-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/haqq-mainnet`) || Path(`/haqq-mainnet/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.haqq-mainnet-haqq-pruned-ws.rule=(Path(`/haqq-mainnet`) || Path(`/haqq-mainnet/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.haqq-mainnet-haqq-pruned-ws.middlewares=haqq-mainnet-haqq-pruned-stripprefix, ipallowlist volumes: haqq-mainnet-haqq-pruned: diff --git a/lens/external-node/lens-mainnet-external-node-archive.yml b/lens/external-node/lens-mainnet-external-node-archive.yml index 1c407539..6c09883f 100644 --- a/lens/external-node/lens-mainnet-external-node-archive.yml +++ b/lens/external-node/lens-mainnet-external-node-archive.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - lens-mainnet-archive-client: + lens-mainnet-archive: image: ${LENS_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${LENS_MAINNET_EXTERNAL_NODE_VERSION:-v28.6.0} sysctls: # TCP Performance @@ -92,35 +92,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - lens-mainnet-archive: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: lens-mainnet-archive-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - lens-mainnet-archive-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.lens-mainnet-external-node-archive-stripprefix.stripprefix.prefixes=/lens-mainnet-archive - - traefik.http.services.lens-mainnet-external-node-archive.loadbalancer.server.port=80 + - traefik.http.services.lens-mainnet-external-node-archive.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.lens-mainnet-external-node-archive.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.lens-mainnet-external-node-archive.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.lens-mainnet-external-node-archive.rule=Host(`$DOMAIN`) && (Path(`/lens-mainnet-archive`) || Path(`/lens-mainnet-archive/`))} - ${NO_SSL:+traefik.http.routers.lens-mainnet-external-node-archive.rule=Path(`/lens-mainnet-archive`) || Path(`/lens-mainnet-archive/`)} - traefik.http.routers.lens-mainnet-external-node-archive.middlewares=lens-mainnet-external-node-archive-stripprefix, ipallowlist + - traefik.http.routers.lens-mainnet-external-node-archive.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.lens-mainnet-external-node-archive-ws.priority=100 # answers GET requests first + - traefik.http.services.lens-mainnet-external-node-archive-ws.loadbalancer.server.port=8546 + - traefik.http.routers.lens-mainnet-external-node-archive-ws.service=lens-mainnet-external-node-archive-ws + - traefik.http.routers.lens-mainnet-external-node-archive.service=lens-mainnet-external-node-archive + - ${NO_SSL:-traefik.http.routers.lens-mainnet-external-node-archive-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.lens-mainnet-external-node-archive-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.lens-mainnet-external-node-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/lens-mainnet-archive`) || Path(`/lens-mainnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.lens-mainnet-external-node-archive-ws.rule=(Path(`/lens-mainnet-archive`) || Path(`/lens-mainnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.lens-mainnet-external-node-archive-ws.middlewares=lens-mainnet-external-node-archive-stripprefix, ipallowlist lens-mainnet-archive-db: image: postgres:14 diff --git a/lens/external-node/lens-mainnet-external-node-pruned.yml b/lens/external-node/lens-mainnet-external-node-pruned.yml index 529bf4d0..849f558c 100644 --- a/lens/external-node/lens-mainnet-external-node-pruned.yml +++ b/lens/external-node/lens-mainnet-external-node-pruned.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - lens-mainnet-client: + lens-mainnet: image: ${LENS_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${LENS_MAINNET_EXTERNAL_NODE_VERSION:-v28.6.0} sysctls: # TCP Performance @@ -92,35 +92,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - lens-mainnet: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: lens-mainnet-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - lens-mainnet-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.lens-mainnet-external-node-pruned-stripprefix.stripprefix.prefixes=/lens-mainnet - - traefik.http.services.lens-mainnet-external-node-pruned.loadbalancer.server.port=80 + - traefik.http.services.lens-mainnet-external-node-pruned.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.lens-mainnet-external-node-pruned.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.lens-mainnet-external-node-pruned.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.lens-mainnet-external-node-pruned.rule=Host(`$DOMAIN`) && (Path(`/lens-mainnet`) || Path(`/lens-mainnet/`))} - ${NO_SSL:+traefik.http.routers.lens-mainnet-external-node-pruned.rule=Path(`/lens-mainnet`) || Path(`/lens-mainnet/`)} - traefik.http.routers.lens-mainnet-external-node-pruned.middlewares=lens-mainnet-external-node-pruned-stripprefix, ipallowlist + - traefik.http.routers.lens-mainnet-external-node-pruned.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.lens-mainnet-external-node-pruned-ws.priority=100 # answers GET requests first + - traefik.http.services.lens-mainnet-external-node-pruned-ws.loadbalancer.server.port=8546 + - traefik.http.routers.lens-mainnet-external-node-pruned-ws.service=lens-mainnet-external-node-pruned-ws + - traefik.http.routers.lens-mainnet-external-node-pruned.service=lens-mainnet-external-node-pruned + - ${NO_SSL:-traefik.http.routers.lens-mainnet-external-node-pruned-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.lens-mainnet-external-node-pruned-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.lens-mainnet-external-node-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/lens-mainnet`) || Path(`/lens-mainnet/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.lens-mainnet-external-node-pruned-ws.rule=(Path(`/lens-mainnet`) || Path(`/lens-mainnet/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.lens-mainnet-external-node-pruned-ws.middlewares=lens-mainnet-external-node-pruned-stripprefix, ipallowlist lens-mainnet-db: image: postgres:14 diff --git a/lens/external-node/lens-testnet-external-node-archive.yml b/lens/external-node/lens-testnet-external-node-archive.yml index 61bc249b..34b313b6 100644 --- a/lens/external-node/lens-testnet-external-node-archive.yml +++ b/lens/external-node/lens-testnet-external-node-archive.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - lens-testnet-archive-client: + lens-testnet-archive: image: ${LENS_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${LENS_TESTNET_EXTERNAL_NODE_VERSION:-v28.6.0} sysctls: # TCP Performance @@ -91,35 +91,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - lens-testnet-archive: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: lens-testnet-archive-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - lens-testnet-archive-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.lens-testnet-external-node-archive-stripprefix.stripprefix.prefixes=/lens-testnet-archive - - traefik.http.services.lens-testnet-external-node-archive.loadbalancer.server.port=80 + - traefik.http.services.lens-testnet-external-node-archive.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.lens-testnet-external-node-archive.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.lens-testnet-external-node-archive.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.lens-testnet-external-node-archive.rule=Host(`$DOMAIN`) && (Path(`/lens-testnet-archive`) || Path(`/lens-testnet-archive/`))} - ${NO_SSL:+traefik.http.routers.lens-testnet-external-node-archive.rule=Path(`/lens-testnet-archive`) || Path(`/lens-testnet-archive/`)} - traefik.http.routers.lens-testnet-external-node-archive.middlewares=lens-testnet-external-node-archive-stripprefix, ipallowlist + - traefik.http.routers.lens-testnet-external-node-archive.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.lens-testnet-external-node-archive-ws.priority=100 # answers GET requests first + - traefik.http.services.lens-testnet-external-node-archive-ws.loadbalancer.server.port=8546 + - traefik.http.routers.lens-testnet-external-node-archive-ws.service=lens-testnet-external-node-archive-ws + - traefik.http.routers.lens-testnet-external-node-archive.service=lens-testnet-external-node-archive + - ${NO_SSL:-traefik.http.routers.lens-testnet-external-node-archive-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.lens-testnet-external-node-archive-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.lens-testnet-external-node-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/lens-testnet-archive`) || Path(`/lens-testnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.lens-testnet-external-node-archive-ws.rule=(Path(`/lens-testnet-archive`) || Path(`/lens-testnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.lens-testnet-external-node-archive-ws.middlewares=lens-testnet-external-node-archive-stripprefix, ipallowlist lens-testnet-archive-db: image: postgres:14 diff --git a/lens/external-node/lens-testnet-external-node-pruned.yml b/lens/external-node/lens-testnet-external-node-pruned.yml index be8f8f53..b9c7392b 100644 --- a/lens/external-node/lens-testnet-external-node-pruned.yml +++ b/lens/external-node/lens-testnet-external-node-pruned.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - lens-testnet-client: + lens-testnet: image: ${LENS_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${LENS_TESTNET_EXTERNAL_NODE_VERSION:-v28.6.0} sysctls: # TCP Performance @@ -91,35 +91,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - lens-testnet: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: lens-testnet-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - lens-testnet-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.lens-testnet-external-node-pruned-stripprefix.stripprefix.prefixes=/lens-testnet - - traefik.http.services.lens-testnet-external-node-pruned.loadbalancer.server.port=80 + - traefik.http.services.lens-testnet-external-node-pruned.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.lens-testnet-external-node-pruned.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.lens-testnet-external-node-pruned.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.lens-testnet-external-node-pruned.rule=Host(`$DOMAIN`) && (Path(`/lens-testnet`) || Path(`/lens-testnet/`))} - ${NO_SSL:+traefik.http.routers.lens-testnet-external-node-pruned.rule=Path(`/lens-testnet`) || Path(`/lens-testnet/`)} - traefik.http.routers.lens-testnet-external-node-pruned.middlewares=lens-testnet-external-node-pruned-stripprefix, ipallowlist + - traefik.http.routers.lens-testnet-external-node-pruned.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.lens-testnet-external-node-pruned-ws.priority=100 # answers GET requests first + - traefik.http.services.lens-testnet-external-node-pruned-ws.loadbalancer.server.port=8546 + - traefik.http.routers.lens-testnet-external-node-pruned-ws.service=lens-testnet-external-node-pruned-ws + - traefik.http.routers.lens-testnet-external-node-pruned.service=lens-testnet-external-node-pruned + - ${NO_SSL:-traefik.http.routers.lens-testnet-external-node-pruned-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.lens-testnet-external-node-pruned-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.lens-testnet-external-node-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/lens-testnet`) || Path(`/lens-testnet/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.lens-testnet-external-node-pruned-ws.rule=(Path(`/lens-testnet`) || Path(`/lens-testnet/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.lens-testnet-external-node-pruned-ws.middlewares=lens-testnet-external-node-pruned-stripprefix, ipallowlist lens-testnet-db: image: postgres:14 diff --git a/linea/besu/linea-mainnet-besu-pruned-bonsai.yml b/linea/besu/linea-mainnet-besu-pruned-bonsai.yml index bed283d4..09a748eb 100644 --- a/linea/besu/linea-mainnet-besu-pruned-bonsai.yml +++ b/linea/besu/linea-mainnet-besu-pruned-bonsai.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - linea-mainnet-client: + linea-mainnet: image: ${LINEA_BESU_IMAGE:-consensys/linea-besu-package}:${LINEA_MAINNET_BESU_VERSION:-mainnet-latest} sysctls: # TCP Performance @@ -89,35 +89,24 @@ services: - prometheus-scrape.enabled=true - prometheus-scrape.port=9545 - prometheus-scrape.path=/metrics - - linea-mainnet: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: linea-mainnet-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - linea-mainnet-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.linea-mainnet-besu-pruned-bonsai-stripprefix.stripprefix.prefixes=/linea-mainnet - - traefik.http.services.linea-mainnet-besu-pruned-bonsai.loadbalancer.server.port=80 + - traefik.http.services.linea-mainnet-besu-pruned-bonsai.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.linea-mainnet-besu-pruned-bonsai.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.linea-mainnet-besu-pruned-bonsai.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.linea-mainnet-besu-pruned-bonsai.rule=Host(`$DOMAIN`) && (Path(`/linea-mainnet`) || Path(`/linea-mainnet/`))} - ${NO_SSL:+traefik.http.routers.linea-mainnet-besu-pruned-bonsai.rule=Path(`/linea-mainnet`) || Path(`/linea-mainnet/`)} - traefik.http.routers.linea-mainnet-besu-pruned-bonsai.middlewares=linea-mainnet-besu-pruned-bonsai-stripprefix, ipallowlist + - traefik.http.routers.linea-mainnet-besu-pruned-bonsai.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.linea-mainnet-besu-pruned-bonsai-ws.priority=100 # answers GET requests first + - traefik.http.services.linea-mainnet-besu-pruned-bonsai-ws.loadbalancer.server.port=8546 + - traefik.http.routers.linea-mainnet-besu-pruned-bonsai-ws.service=linea-mainnet-besu-pruned-bonsai-ws + - traefik.http.routers.linea-mainnet-besu-pruned-bonsai.service=linea-mainnet-besu-pruned-bonsai + - ${NO_SSL:-traefik.http.routers.linea-mainnet-besu-pruned-bonsai-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.linea-mainnet-besu-pruned-bonsai-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.linea-mainnet-besu-pruned-bonsai-ws.rule=Host(`$DOMAIN`) && (Path(`/linea-mainnet`) || Path(`/linea-mainnet/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.linea-mainnet-besu-pruned-bonsai-ws.rule=(Path(`/linea-mainnet`) || Path(`/linea-mainnet/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.linea-mainnet-besu-pruned-bonsai-ws.middlewares=linea-mainnet-besu-pruned-bonsai-stripprefix, ipallowlist volumes: linea-mainnet-besu-pruned-bonsai: diff --git a/linea/besu/linea-sepolia-besu-pruned-bonsai.yml b/linea/besu/linea-sepolia-besu-pruned-bonsai.yml index 31f2d1da..3535ae05 100644 --- a/linea/besu/linea-sepolia-besu-pruned-bonsai.yml +++ b/linea/besu/linea-sepolia-besu-pruned-bonsai.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - linea-sepolia-client: + linea-sepolia: image: ${LINEA_BESU_IMAGE:-consensys/linea-besu-package}:${LINEA_SEPOLIA_BESU_VERSION:-sepolia-latest} sysctls: # TCP Performance @@ -89,35 +89,24 @@ services: - prometheus-scrape.enabled=true - prometheus-scrape.port=9545 - prometheus-scrape.path=/metrics - - linea-sepolia: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: linea-sepolia-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - linea-sepolia-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.linea-sepolia-besu-pruned-bonsai-stripprefix.stripprefix.prefixes=/linea-sepolia - - traefik.http.services.linea-sepolia-besu-pruned-bonsai.loadbalancer.server.port=80 + - traefik.http.services.linea-sepolia-besu-pruned-bonsai.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.linea-sepolia-besu-pruned-bonsai.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.linea-sepolia-besu-pruned-bonsai.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.linea-sepolia-besu-pruned-bonsai.rule=Host(`$DOMAIN`) && (Path(`/linea-sepolia`) || Path(`/linea-sepolia/`))} - ${NO_SSL:+traefik.http.routers.linea-sepolia-besu-pruned-bonsai.rule=Path(`/linea-sepolia`) || Path(`/linea-sepolia/`)} - traefik.http.routers.linea-sepolia-besu-pruned-bonsai.middlewares=linea-sepolia-besu-pruned-bonsai-stripprefix, ipallowlist + - traefik.http.routers.linea-sepolia-besu-pruned-bonsai.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.linea-sepolia-besu-pruned-bonsai-ws.priority=100 # answers GET requests first + - traefik.http.services.linea-sepolia-besu-pruned-bonsai-ws.loadbalancer.server.port=8546 + - traefik.http.routers.linea-sepolia-besu-pruned-bonsai-ws.service=linea-sepolia-besu-pruned-bonsai-ws + - traefik.http.routers.linea-sepolia-besu-pruned-bonsai.service=linea-sepolia-besu-pruned-bonsai + - ${NO_SSL:-traefik.http.routers.linea-sepolia-besu-pruned-bonsai-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.linea-sepolia-besu-pruned-bonsai-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.linea-sepolia-besu-pruned-bonsai-ws.rule=Host(`$DOMAIN`) && (Path(`/linea-sepolia`) || Path(`/linea-sepolia/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.linea-sepolia-besu-pruned-bonsai-ws.rule=(Path(`/linea-sepolia`) || Path(`/linea-sepolia/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.linea-sepolia-besu-pruned-bonsai-ws.middlewares=linea-sepolia-besu-pruned-bonsai-stripprefix, ipallowlist volumes: linea-sepolia-besu-pruned-bonsai: diff --git a/metis-andromeda/l2geth/metis-andromeda-mainnet-l2geth-archive-leveldb-hash.yml b/metis-andromeda/l2geth/metis-andromeda-mainnet-l2geth-archive-leveldb-hash.yml index c1559d70..36a9411e 100644 --- a/metis-andromeda/l2geth/metis-andromeda-mainnet-l2geth-archive-leveldb-hash.yml +++ b/metis-andromeda/l2geth/metis-andromeda-mainnet-l2geth-archive-leveldb-hash.yml @@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - metis-andromeda-mainnet-archive-client: + metis-andromeda-mainnet-archive: image: ${METIS_ANDROMEDA_L2GETH_IMAGE:-metisdao/l2geth}:${METIS_ANDROMEDA_MAINNET_L2GETH_VERSION:-v0.3.5} sysctls: # TCP Performance @@ -106,35 +106,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - metis-andromeda-mainnet-archive: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: metis-andromeda-mainnet-archive-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - metis-andromeda-mainnet-archive-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.metis-andromeda-mainnet-l2geth-archive-leveldb-hash-stripprefix.stripprefix.prefixes=/metis-andromeda-mainnet-archive - - traefik.http.services.metis-andromeda-mainnet-l2geth-archive-leveldb-hash.loadbalancer.server.port=80 + - traefik.http.services.metis-andromeda-mainnet-l2geth-archive-leveldb-hash.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash.rule=Host(`$DOMAIN`) && (Path(`/metis-andromeda-mainnet-archive`) || Path(`/metis-andromeda-mainnet-archive/`))} - ${NO_SSL:+traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash.rule=Path(`/metis-andromeda-mainnet-archive`) || Path(`/metis-andromeda-mainnet-archive/`)} - traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash.middlewares=metis-andromeda-mainnet-l2geth-archive-leveldb-hash-stripprefix, ipallowlist + - traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash-ws.priority=100 # answers GET requests first + - traefik.http.services.metis-andromeda-mainnet-l2geth-archive-leveldb-hash-ws.loadbalancer.server.port=8546 + - traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash-ws.service=metis-andromeda-mainnet-l2geth-archive-leveldb-hash-ws + - traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash.service=metis-andromeda-mainnet-l2geth-archive-leveldb-hash + - ${NO_SSL:-traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash-ws.rule=Host(`$DOMAIN`) && (Path(`/metis-andromeda-mainnet-archive`) || Path(`/metis-andromeda-mainnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash-ws.rule=(Path(`/metis-andromeda-mainnet-archive`) || Path(`/metis-andromeda-mainnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.metis-andromeda-mainnet-l2geth-archive-leveldb-hash-ws.middlewares=metis-andromeda-mainnet-l2geth-archive-leveldb-hash-stripprefix, ipallowlist metis-andromeda-mainnet-archive-node: image: ${METIS_ANDROMEDA_DTL_IMAGE:-metisdao/dtl}:${METIS_ANDROMEDA_MAINNET_DTL_VERSION:-v0.1.3} @@ -175,7 +164,7 @@ services: - URL=https://metisprotocol.github.io/metis-networks/andromeda-mainnet/addresses.json restart: unless-stopped depends_on: - - metis-andromeda-mainnet-archive-client + - metis-andromeda-mainnet-archive networks: - chains volumes: diff --git a/solana/agave/solana-mainnet-agave-pruned-rocksdb--firesol.yml b/solana/agave/solana-mainnet-agave-pruned-rocksdb--firesol.yml index b34a88fb..0ef7d22a 100644 --- a/solana/agave/solana-mainnet-agave-pruned-rocksdb--firesol.yml +++ b/solana/agave/solana-mainnet-agave-pruned-rocksdb--firesol.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - solana-mainnet-client: + solana-mainnet: image: ${SOLANA_FIRESOL_IMAGE:-ghcr.io/streamingfast/firehose-solana}:${SOLANA_MAINNET_FIRESOL_VERSION:-v1.1.3} sysctls: # TCP Performance @@ -92,30 +92,9 @@ services: - prometheus-scrape.enabled=true - prometheus-scrape.port=12344 - prometheus-scrape.path=/metrics - - solana-mainnet: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: solana-mainnet-client - RPC_PATH: '' - RPC_PORT: 8899 - WS_PATH: '' - WS_PORT: 8899 - restart: unless-stopped - depends_on: - - solana-mainnet-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.solana-mainnet-agave-pruned-rocksdb-stripprefix.stripprefix.prefixes=/solana-mainnet - - traefik.http.services.solana-mainnet-agave-pruned-rocksdb.loadbalancer.server.port=80 + - traefik.http.services.solana-mainnet-agave-pruned-rocksdb.loadbalancer.server.port=8899 - ${NO_SSL:-traefik.http.routers.solana-mainnet-agave-pruned-rocksdb.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.solana-mainnet-agave-pruned-rocksdb.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.solana-mainnet-agave-pruned-rocksdb.rule=Host(`$DOMAIN`) && (Path(`/solana-mainnet`) || Path(`/solana-mainnet/`))} @@ -134,7 +113,7 @@ services: - --firehose-rate-limit-bucket-fill-rate=${SOLANA_MAINNET_FIREHOSE_RATE_LIMIT_BUCKET_FILL_RATE:-1s} - --firehose-rate-limit-bucket-size=${SOLANA_MAINNET_FIREHOSE_RATE_LIMIT_BUCKET_SIZE:-200} - --log-to-file=false - - --relayer-source=solana-mainnet-client:10010 + - --relayer-source=solana-mainnet:10010 restart: unless-stopped depends_on: - solana-mainnet diff --git a/solana/agave/solana-testnet-agave-pruned-rocksdb--firesol.yml b/solana/agave/solana-testnet-agave-pruned-rocksdb--firesol.yml index b847cbe6..85009bc4 100644 --- a/solana/agave/solana-testnet-agave-pruned-rocksdb--firesol.yml +++ b/solana/agave/solana-testnet-agave-pruned-rocksdb--firesol.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - solana-testnet-client: + solana-testnet: image: ${SOLANA_FIRESOL_IMAGE:-ghcr.io/streamingfast/firehose-solana}:${SOLANA_TESTNET_FIRESOL_VERSION:-v1.1.3} sysctls: # TCP Performance @@ -90,30 +90,9 @@ services: - prometheus-scrape.enabled=true - prometheus-scrape.port=12344 - prometheus-scrape.path=/metrics - - solana-testnet: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: solana-testnet-client - RPC_PATH: '' - RPC_PORT: 8899 - WS_PATH: '' - WS_PORT: 8899 - restart: unless-stopped - depends_on: - - solana-testnet-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.solana-testnet-agave-pruned-rocksdb-stripprefix.stripprefix.prefixes=/solana-testnet - - traefik.http.services.solana-testnet-agave-pruned-rocksdb.loadbalancer.server.port=80 + - traefik.http.services.solana-testnet-agave-pruned-rocksdb.loadbalancer.server.port=8899 - ${NO_SSL:-traefik.http.routers.solana-testnet-agave-pruned-rocksdb.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.solana-testnet-agave-pruned-rocksdb.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.solana-testnet-agave-pruned-rocksdb.rule=Host(`$DOMAIN`) && (Path(`/solana-testnet`) || Path(`/solana-testnet/`))} @@ -132,7 +111,7 @@ services: - --firehose-rate-limit-bucket-fill-rate=${SOLANA_TESTNET_FIREHOSE_RATE_LIMIT_BUCKET_FILL_RATE:-1s} - --firehose-rate-limit-bucket-size=${SOLANA_TESTNET_FIREHOSE_RATE_LIMIT_BUCKET_SIZE:-200} - --log-to-file=false - - --relayer-source=solana-testnet-client:10010 + - --relayer-source=solana-testnet:10010 restart: unless-stopped depends_on: - solana-testnet diff --git a/zksync-era/external-node/zksync-era-boojnet-external-node-archive.yml b/zksync-era/external-node/zksync-era-boojnet-external-node-archive.yml index de0c0c5a..b76fdda4 100644 --- a/zksync-era/external-node/zksync-era-boojnet-external-node-archive.yml +++ b/zksync-era/external-node/zksync-era-boojnet-external-node-archive.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - zksync-era-boojnet-archive-client: + zksync-era-boojnet-archive: image: ${ZKSYNC_ERA_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ZKSYNC_ERA_BOOJNET_EXTERNAL_NODE_VERSION:-v28.6.0} sysctls: # TCP Performance @@ -81,35 +81,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - zksync-era-boojnet-archive: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: zksync-era-boojnet-archive-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - zksync-era-boojnet-archive-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.zksync-era-boojnet-external-node-archive-stripprefix.stripprefix.prefixes=/zksync-era-boojnet-archive - - traefik.http.services.zksync-era-boojnet-external-node-archive.loadbalancer.server.port=80 + - traefik.http.services.zksync-era-boojnet-external-node-archive.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.zksync-era-boojnet-external-node-archive.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.zksync-era-boojnet-external-node-archive.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.zksync-era-boojnet-external-node-archive.rule=Host(`$DOMAIN`) && (Path(`/zksync-era-boojnet-archive`) || Path(`/zksync-era-boojnet-archive/`))} - ${NO_SSL:+traefik.http.routers.zksync-era-boojnet-external-node-archive.rule=Path(`/zksync-era-boojnet-archive`) || Path(`/zksync-era-boojnet-archive/`)} - traefik.http.routers.zksync-era-boojnet-external-node-archive.middlewares=zksync-era-boojnet-external-node-archive-stripprefix, ipallowlist + - traefik.http.routers.zksync-era-boojnet-external-node-archive.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.zksync-era-boojnet-external-node-archive-ws.priority=100 # answers GET requests first + - traefik.http.services.zksync-era-boojnet-external-node-archive-ws.loadbalancer.server.port=8546 + - traefik.http.routers.zksync-era-boojnet-external-node-archive-ws.service=zksync-era-boojnet-external-node-archive-ws + - traefik.http.routers.zksync-era-boojnet-external-node-archive.service=zksync-era-boojnet-external-node-archive + - ${NO_SSL:-traefik.http.routers.zksync-era-boojnet-external-node-archive-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.zksync-era-boojnet-external-node-archive-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.zksync-era-boojnet-external-node-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/zksync-era-boojnet-archive`) || Path(`/zksync-era-boojnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.zksync-era-boojnet-external-node-archive-ws.rule=(Path(`/zksync-era-boojnet-archive`) || Path(`/zksync-era-boojnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.zksync-era-boojnet-external-node-archive-ws.middlewares=zksync-era-boojnet-external-node-archive-stripprefix, ipallowlist zksync-era-boojnet-archive-db: image: postgres:14 diff --git a/zksync-era/external-node/zksync-era-boojnet-external-node-pruned.yml b/zksync-era/external-node/zksync-era-boojnet-external-node-pruned.yml index 9cfb81fa..ebf0fbd9 100644 --- a/zksync-era/external-node/zksync-era-boojnet-external-node-pruned.yml +++ b/zksync-era/external-node/zksync-era-boojnet-external-node-pruned.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - zksync-era-boojnet-client: + zksync-era-boojnet: image: ${ZKSYNC_ERA_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ZKSYNC_ERA_BOOJNET_EXTERNAL_NODE_VERSION:-v28.6.0} sysctls: # TCP Performance @@ -81,35 +81,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - zksync-era-boojnet: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: zksync-era-boojnet-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - zksync-era-boojnet-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.zksync-era-boojnet-external-node-pruned-stripprefix.stripprefix.prefixes=/zksync-era-boojnet - - traefik.http.services.zksync-era-boojnet-external-node-pruned.loadbalancer.server.port=80 + - traefik.http.services.zksync-era-boojnet-external-node-pruned.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.zksync-era-boojnet-external-node-pruned.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.zksync-era-boojnet-external-node-pruned.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.zksync-era-boojnet-external-node-pruned.rule=Host(`$DOMAIN`) && (Path(`/zksync-era-boojnet`) || Path(`/zksync-era-boojnet/`))} - ${NO_SSL:+traefik.http.routers.zksync-era-boojnet-external-node-pruned.rule=Path(`/zksync-era-boojnet`) || Path(`/zksync-era-boojnet/`)} - traefik.http.routers.zksync-era-boojnet-external-node-pruned.middlewares=zksync-era-boojnet-external-node-pruned-stripprefix, ipallowlist + - traefik.http.routers.zksync-era-boojnet-external-node-pruned.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.zksync-era-boojnet-external-node-pruned-ws.priority=100 # answers GET requests first + - traefik.http.services.zksync-era-boojnet-external-node-pruned-ws.loadbalancer.server.port=8546 + - traefik.http.routers.zksync-era-boojnet-external-node-pruned-ws.service=zksync-era-boojnet-external-node-pruned-ws + - traefik.http.routers.zksync-era-boojnet-external-node-pruned.service=zksync-era-boojnet-external-node-pruned + - ${NO_SSL:-traefik.http.routers.zksync-era-boojnet-external-node-pruned-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.zksync-era-boojnet-external-node-pruned-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.zksync-era-boojnet-external-node-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/zksync-era-boojnet`) || Path(`/zksync-era-boojnet/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.zksync-era-boojnet-external-node-pruned-ws.rule=(Path(`/zksync-era-boojnet`) || Path(`/zksync-era-boojnet/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.zksync-era-boojnet-external-node-pruned-ws.middlewares=zksync-era-boojnet-external-node-pruned-stripprefix, ipallowlist zksync-era-boojnet-db: image: postgres:14 diff --git a/zksync-era/external-node/zksync-era-mainnet-external-node-archive.yml b/zksync-era/external-node/zksync-era-mainnet-external-node-archive.yml index 41a2a27f..5d5693da 100644 --- a/zksync-era/external-node/zksync-era-mainnet-external-node-archive.yml +++ b/zksync-era/external-node/zksync-era-mainnet-external-node-archive.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - zksync-era-mainnet-archive-client: + zksync-era-mainnet-archive: image: ${ZKSYNC_ERA_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ZKSYNC_ERA_MAINNET_EXTERNAL_NODE_VERSION:-v28.6.0} sysctls: # TCP Performance @@ -83,35 +83,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - zksync-era-mainnet-archive: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: zksync-era-mainnet-archive-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - zksync-era-mainnet-archive-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.zksync-era-mainnet-external-node-archive-stripprefix.stripprefix.prefixes=/zksync-era-mainnet-archive - - traefik.http.services.zksync-era-mainnet-external-node-archive.loadbalancer.server.port=80 + - traefik.http.services.zksync-era-mainnet-external-node-archive.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.zksync-era-mainnet-external-node-archive.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.zksync-era-mainnet-external-node-archive.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.zksync-era-mainnet-external-node-archive.rule=Host(`$DOMAIN`) && (Path(`/zksync-era-mainnet-archive`) || Path(`/zksync-era-mainnet-archive/`))} - ${NO_SSL:+traefik.http.routers.zksync-era-mainnet-external-node-archive.rule=Path(`/zksync-era-mainnet-archive`) || Path(`/zksync-era-mainnet-archive/`)} - traefik.http.routers.zksync-era-mainnet-external-node-archive.middlewares=zksync-era-mainnet-external-node-archive-stripprefix, ipallowlist + - traefik.http.routers.zksync-era-mainnet-external-node-archive.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.zksync-era-mainnet-external-node-archive-ws.priority=100 # answers GET requests first + - traefik.http.services.zksync-era-mainnet-external-node-archive-ws.loadbalancer.server.port=8546 + - traefik.http.routers.zksync-era-mainnet-external-node-archive-ws.service=zksync-era-mainnet-external-node-archive-ws + - traefik.http.routers.zksync-era-mainnet-external-node-archive.service=zksync-era-mainnet-external-node-archive + - ${NO_SSL:-traefik.http.routers.zksync-era-mainnet-external-node-archive-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.zksync-era-mainnet-external-node-archive-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.zksync-era-mainnet-external-node-archive-ws.rule=Host(`$DOMAIN`) && (Path(`/zksync-era-mainnet-archive`) || Path(`/zksync-era-mainnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.zksync-era-mainnet-external-node-archive-ws.rule=(Path(`/zksync-era-mainnet-archive`) || Path(`/zksync-era-mainnet-archive/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.zksync-era-mainnet-external-node-archive-ws.middlewares=zksync-era-mainnet-external-node-archive-stripprefix, ipallowlist zksync-era-mainnet-archive-db: image: postgres:14 diff --git a/zksync-era/external-node/zksync-era-mainnet-external-node-pruned.yml b/zksync-era/external-node/zksync-era-mainnet-external-node-pruned.yml index ac4819d4..0ee624f4 100644 --- a/zksync-era/external-node/zksync-era-mainnet-external-node-pruned.yml +++ b/zksync-era/external-node/zksync-era-mainnet-external-node-pruned.yml @@ -29,7 +29,7 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: - zksync-era-mainnet-client: + zksync-era-mainnet: image: ${ZKSYNC_ERA_EXTERNAL_NODE_IMAGE:-matterlabs/external-node}:${ZKSYNC_ERA_MAINNET_EXTERNAL_NODE_VERSION:-v28.6.0} sysctls: # TCP Performance @@ -83,35 +83,24 @@ services: logging: *logging-defaults labels: - prometheus-scrape.enabled=false - - zksync-era-mainnet: - image: nginx - expose: - - '80' - environment: - PROXY_HOST: zksync-era-mainnet-client - RPC_PATH: '' - RPC_PORT: 8545 - WS_PATH: '' - WS_PORT: 8546 - restart: unless-stopped - depends_on: - - zksync-era-mainnet-client - networks: - - chains - volumes: - - ./nginx-proxy:/etc/nginx/templates - logging: *logging-defaults - labels: - - prometheus-scrape.enabled=false - traefik.enable=true - traefik.http.middlewares.zksync-era-mainnet-external-node-pruned-stripprefix.stripprefix.prefixes=/zksync-era-mainnet - - traefik.http.services.zksync-era-mainnet-external-node-pruned.loadbalancer.server.port=80 + - traefik.http.services.zksync-era-mainnet-external-node-pruned.loadbalancer.server.port=8545 - ${NO_SSL:-traefik.http.routers.zksync-era-mainnet-external-node-pruned.entrypoints=websecure} - ${NO_SSL:-traefik.http.routers.zksync-era-mainnet-external-node-pruned.tls.certresolver=myresolver} - ${NO_SSL:-traefik.http.routers.zksync-era-mainnet-external-node-pruned.rule=Host(`$DOMAIN`) && (Path(`/zksync-era-mainnet`) || Path(`/zksync-era-mainnet/`))} - ${NO_SSL:+traefik.http.routers.zksync-era-mainnet-external-node-pruned.rule=Path(`/zksync-era-mainnet`) || Path(`/zksync-era-mainnet/`)} - traefik.http.routers.zksync-era-mainnet-external-node-pruned.middlewares=zksync-era-mainnet-external-node-pruned-stripprefix, ipallowlist + - traefik.http.routers.zksync-era-mainnet-external-node-pruned.priority=50 # gets any request that is not GET with UPGRADE header + - traefik.http.routers.zksync-era-mainnet-external-node-pruned-ws.priority=100 # answers GET requests first + - traefik.http.services.zksync-era-mainnet-external-node-pruned-ws.loadbalancer.server.port=8546 + - traefik.http.routers.zksync-era-mainnet-external-node-pruned-ws.service=zksync-era-mainnet-external-node-pruned-ws + - traefik.http.routers.zksync-era-mainnet-external-node-pruned.service=zksync-era-mainnet-external-node-pruned + - ${NO_SSL:-traefik.http.routers.zksync-era-mainnet-external-node-pruned-ws.entrypoints=websecure} + - ${NO_SSL:-traefik.http.routers.zksync-era-mainnet-external-node-pruned-ws.tls.certresolver=myresolver} + - ${NO_SSL:-traefik.http.routers.zksync-era-mainnet-external-node-pruned-ws.rule=Host(`$DOMAIN`) && (Path(`/zksync-era-mainnet`) || Path(`/zksync-era-mainnet/`)) && Headers(`Upgrade`, `websocket`)} + - ${NO_SSL:+traefik.http.routers.zksync-era-mainnet-external-node-pruned-ws.rule=(Path(`/zksync-era-mainnet`) || Path(`/zksync-era-mainnet/`)) && Headers(`Upgrade`, `websocket`)} + - traefik.http.routers.zksync-era-mainnet-external-node-pruned-ws.middlewares=zksync-era-mainnet-external-node-pruned-stripprefix, ipallowlist zksync-era-mainnet-db: image: postgres:14