Files
zeekayandHanzo Dev f7aefc8d57 Our nodes serve /v1/, so ask them for /v1/
luxd registers /v1/ and nothing else; api.lux.network, api.zoo.ngo,
api.hanzo.network, api.pars.network and api.osage.network all answer 200 on
/v1/bc/C/rpc and 404 on /ext/bc/C/rpc. Every /ext/ path aimed at one of our
hosts was a request that could only fail.

/ext/ is Avalanche's prefix. Endpoints on api.avax.network keep it — they are
someone else's convention and a real bridge corridor depends on them.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-29 10:45:40 -07:00

109 lines
2.3 KiB
YAML

version: '3.8'
services:
# Lux node for integration tests
luxd:
image: luxfi/luxd:latest
ports:
- "9650:9650"
- "9651:9651"
environment:
- LUXD_LOG_LEVEL=info
- LUXD_PUBLIC_IP=127.0.0.1
- LUXD_HTTP_HOST=0.0.0.0
- LUXD_HTTP_PORT=9650
- LUXD_STAKING_PORT=9651
- LUXD_DB_DIR=/var/lib/lux/db
- LUXD_LOG_DIR=/var/lib/lux/logs
volumes:
- luxd-data:/var/lib/lux
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9650/v1/health"]
interval: 10s
timeout: 5s
retries: 5
networks:
- lux-network
# Netrunner for network management tests
netrunner:
image: luxfi/netrunner:latest
ports:
- "8080:8080"
- "9876:9876"
environment:
- NETRUNNER_LOG_LEVEL=debug
- NETRUNNER_DATA_DIR=/data
volumes:
- netrunner-data:/data
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- luxd
networks:
- lux-network
# PostgreSQL for state persistence
postgres:
image: ghcr.io/hanzoai/sql:latest
environment:
- POSTGRES_USER=lux
- POSTGRES_PASSWORD=luxpass
- POSTGRES_DB=luxdb
ports:
- "5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
networks:
- lux-network
# Redis for caching
redis:
image: redis:7-alpine
command: redis-server --appendonly yes
ports:
- "6379:6379"
volumes:
- redis-data:/data
networks:
- lux-network
# Prometheus for metrics
prometheus:
image: prom/prometheus:latest
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus-data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
networks:
- lux-network
# Grafana for visualization
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
- GF_USERS_ALLOW_SIGN_UP=false
volumes:
- grafana-data:/var/lib/grafana
depends_on:
- prometheus
networks:
- lux-network
volumes:
luxd-data:
netrunner-data:
postgres-data:
redis-data:
prometheus-data:
grafana-data:
networks:
lux-network:
driver: bridge