mirror of
https://github.com/luxfi/explorer-v1.git
synced 2026-07-25 16:26:26 +00:00
104 lines
4.1 KiB
YAML
104 lines
4.1 KiB
YAML
version: '3.9'
|
|
|
|
networks:
|
|
hanzo-network:
|
|
external: true
|
|
|
|
services:
|
|
backend:
|
|
image: ghcr.io/luxfi/explorer:${DOCKER_TAG:-latest}
|
|
container_name: 'luxnet-backend'
|
|
restart: always
|
|
stop_grace_period: 5m
|
|
command: "bin/blockscout start"
|
|
networks:
|
|
- hanzo-network
|
|
ports:
|
|
- "4000:4000"
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
env_file:
|
|
- ./docker-compose/envs/common-blockscout.env
|
|
environment:
|
|
ETHEREUM_JSONRPC_HTTP_URL: http://host.docker.internal:9650/ext/bc/dnmzhuf6poM6PUNQCe7MWWfBdTJEnddhHRNXz2x7H6qSmyBEJ/rpc
|
|
ETHEREUM_JSONRPC_TRACE_URL: http://host.docker.internal:9650/ext/bc/dnmzhuf6poM6PUNQCe7MWWfBdTJEnddhHRNXz2x7H6qSmyBEJ/rpc
|
|
ETHEREUM_JSONRPC_WS_URL: ws://host.docker.internal:9650/ext/bc/dnmzhuf6poM6PUNQCe7MWWfBdTJEnddhHRNXz2x7H6qSmyBEJ/ws
|
|
CHAIN_ID: '96369'
|
|
DATABASE_URL: postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@192.168.1.99:5432/explorer_luxnet?sslmode=disable
|
|
DISABLE_MIGRATE: 'false'
|
|
# Indexer performance tuning for faster catchup
|
|
INDEXER_CATCHUP_BLOCKS_BATCH_SIZE: '100'
|
|
INDEXER_CATCHUP_BLOCKS_CONCURRENCY: '20'
|
|
POOL_SIZE: '100'
|
|
POOL_SIZE_API: '20'
|
|
INDEXER_MEMORY_LIMIT: '10g'
|
|
FETCH_REWARDS_WAY: 'manual'
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.luxnet-backend.rule=Host(`api-explore.lux.network`)"
|
|
- "traefik.http.routers.luxnet-backend.entrypoints=websecure"
|
|
- "traefik.http.routers.luxnet-backend.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.luxnet-backend.priority=1"
|
|
- "traefik.http.services.luxnet-backend.loadbalancer.server.port=4000"
|
|
- "traefik.docker.network=hanzo-network"
|
|
|
|
visualizer:
|
|
image: ghcr.io/luxfi/explorer-visualizer:${VISUALIZER_VERSION:-latest}
|
|
container_name: 'luxnet-visualizer'
|
|
restart: always
|
|
networks:
|
|
- hanzo-network
|
|
env_file:
|
|
- ./docker-compose/envs/common-visualizer.env
|
|
ports:
|
|
- "8050:8050"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.luxnet-visualizer.rule=Host(`api-explore.lux.network`) && PathPrefix(`/api/visualize`)"
|
|
- "traefik.http.routers.luxnet-visualizer.entrypoints=websecure"
|
|
- "traefik.http.routers.luxnet-visualizer.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.luxnet-visualizer.priority=10"
|
|
- "traefik.http.middlewares.luxnet-visualizer-strip.stripprefix.prefixes=/api/visualize"
|
|
- "traefik.http.routers.luxnet-visualizer.middlewares=luxnet-visualizer-strip"
|
|
- "traefik.http.services.luxnet-visualizer.loadbalancer.server.port=8050"
|
|
- "traefik.docker.network=hanzo-network"
|
|
|
|
sig-provider:
|
|
image: ghcr.io/luxfi/explorer-sig-provider:${SIG_PROVIDER_VERSION:-latest}
|
|
container_name: 'luxnet-sig-provider'
|
|
restart: always
|
|
networks:
|
|
- hanzo-network
|
|
ports:
|
|
- "8051:8050"
|
|
|
|
stats:
|
|
image: ghcr.io/luxfi/explorer-stats:${STATS_VERSION:-latest}
|
|
container_name: 'luxnet-stats'
|
|
restart: always
|
|
networks:
|
|
- hanzo-network
|
|
depends_on:
|
|
- backend
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
env_file:
|
|
- ./docker-compose/envs/common-stats.env
|
|
environment:
|
|
STATS__DB_URL: postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@192.168.1.99:5432/stats_luxnet?sslmode=disable
|
|
STATS__BLOCKSCOUT_DB_URL: postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@192.168.1.99:5432/explorer_luxnet?sslmode=disable
|
|
STATS__CREATE_DATABASE: 'true'
|
|
STATS__RUN_MIGRATIONS: 'true'
|
|
ports:
|
|
- "8053:8050"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.luxnet-stats.rule=Host(`api-explore.lux.network`) && PathPrefix(`/api/stats`)"
|
|
- "traefik.http.routers.luxnet-stats.entrypoints=websecure"
|
|
- "traefik.http.routers.luxnet-stats.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.luxnet-stats.priority=10"
|
|
- "traefik.http.middlewares.luxnet-stats-strip.stripprefix.prefixes=/api/stats"
|
|
- "traefik.http.routers.luxnet-stats.middlewares=luxnet-stats-strip"
|
|
- "traefik.http.services.luxnet-stats.loadbalancer.server.port=8050"
|
|
- "traefik.docker.network=hanzo-network"
|