CI/CD / render (push) Waiting to run
The primary-network chains answer to either case; one spelling beats two. /v1/chain/c/rpc, /v1/chain/p, /v1/chain/x across the estate. Co-authored-by: Hanzo AI <[email protected]>
234 lines
5.5 KiB
YAML
234 lines
5.5 KiB
YAML
networks:
|
|
lux-network:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
postgres-data:
|
|
ipfs-data:
|
|
node1-data:
|
|
node2-data:
|
|
node3-data:
|
|
node4-data:
|
|
node5-data:
|
|
|
|
services:
|
|
# Shared PostgreSQL
|
|
postgres:
|
|
image: ghcr.io/hanzoai/sql:latest
|
|
container_name: lux-postgres
|
|
restart: always
|
|
environment:
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: postgres
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
- ./init.sql:/docker-entrypoint-initdb.d/init.sql:ro
|
|
ports:
|
|
- "5432:5432"
|
|
networks:
|
|
- lux-network
|
|
healthcheck:
|
|
test: ["CMD", "pg_isready", "-U", "postgres"]
|
|
interval: 10s
|
|
|
|
# Unified IPFS
|
|
ipfs:
|
|
image: ipfs/go-ipfs:latest
|
|
container_name: lux-ipfs
|
|
restart: always
|
|
environment:
|
|
IPFS_PROFILE: server
|
|
volumes:
|
|
- ipfs-data:/data/ipfs
|
|
ports:
|
|
- "5001:5001"
|
|
- "8080:8080"
|
|
- "4001:4001"
|
|
networks:
|
|
- lux-network
|
|
command: daemon --migrate=true --enable-pubsub-experiment
|
|
|
|
# 5 Lux validator nodes
|
|
lux-node-1:
|
|
build:
|
|
context: ..
|
|
dockerfile: docker/Dockerfile.node
|
|
container_name: lux-node-1
|
|
restart: always
|
|
volumes:
|
|
- node1-data:/app/data
|
|
- ../hanzo-genesis.json:/app/genesis.json:ro
|
|
ports:
|
|
- "9650:9650"
|
|
- "9651:9651"
|
|
networks:
|
|
- lux-network
|
|
command: >
|
|
--network-id=96369
|
|
--http-host=0.0.0.0
|
|
--http-port=9650
|
|
--staking-port=9651
|
|
--staking-enabled=false
|
|
--sybil-protection-enabled=false
|
|
--snow-sample-size=1
|
|
--snow-quorum-size=1
|
|
--index-enabled=true
|
|
--api-admin-enabled=true
|
|
--data-dir=/app/data
|
|
|
|
lux-node-2:
|
|
extends: lux-node-1
|
|
container_name: lux-node-2
|
|
volumes:
|
|
- node2-data:/app/data
|
|
- ../hanzo-genesis.json:/app/genesis.json:ro
|
|
ports:
|
|
- "9660:9650"
|
|
- "9661:9651"
|
|
command: >
|
|
--network-id=96369
|
|
--http-host=0.0.0.0
|
|
--http-port=9650
|
|
--staking-port=9651
|
|
--staking-enabled=false
|
|
--sybil-protection-enabled=false
|
|
--snow-sample-size=1
|
|
--snow-quorum-size=1
|
|
--bootstrap-ips=lux-node-1:9651
|
|
--data-dir=/app/data
|
|
|
|
lux-node-3:
|
|
extends: lux-node-1
|
|
container_name: lux-node-3
|
|
volumes:
|
|
- node3-data:/app/data
|
|
- ../hanzo-genesis.json:/app/genesis.json:ro
|
|
ports:
|
|
- "9670:9650"
|
|
- "9671:9651"
|
|
command: >
|
|
--network-id=96369
|
|
--http-host=0.0.0.0
|
|
--http-port=9650
|
|
--staking-port=9651
|
|
--staking-enabled=false
|
|
--sybil-protection-enabled=false
|
|
--snow-sample-size=1
|
|
--snow-quorum-size=1
|
|
--bootstrap-ips=lux-node-1:9651
|
|
--data-dir=/app/data
|
|
|
|
lux-node-4:
|
|
extends: lux-node-1
|
|
container_name: lux-node-4
|
|
volumes:
|
|
- node4-data:/app/data
|
|
- ../hanzo-genesis.json:/app/genesis.json:ro
|
|
ports:
|
|
- "9680:9650"
|
|
- "9681:9651"
|
|
command: >
|
|
--network-id=96369
|
|
--http-host=0.0.0.0
|
|
--http-port=9650
|
|
--staking-port=9651
|
|
--staking-enabled=false
|
|
--sybil-protection-enabled=false
|
|
--snow-sample-size=1
|
|
--snow-quorum-size=1
|
|
--bootstrap-ips=lux-node-1:9651
|
|
--data-dir=/app/data
|
|
|
|
lux-node-5:
|
|
extends: lux-node-1
|
|
container_name: lux-node-5
|
|
volumes:
|
|
- node5-data:/app/data
|
|
- ../hanzo-genesis.json:/app/genesis.json:ro
|
|
ports:
|
|
- "9690:9650"
|
|
- "9691:9651"
|
|
command: >
|
|
--network-id=96369
|
|
--http-host=0.0.0.0
|
|
--http-port=9650
|
|
--staking-port=9651
|
|
--staking-enabled=false
|
|
--sybil-protection-enabled=false
|
|
--snow-sample-size=1
|
|
--snow-quorum-size=1
|
|
--bootstrap-ips=lux-node-1:9651
|
|
--data-dir=/app/data
|
|
|
|
# Block Explorers
|
|
explorer-base:
|
|
image: ghcr.io/luxfi/explorer:latest
|
|
restart: always
|
|
environment:
|
|
ETHEREUM_JSONRPC_VARIANT: geth
|
|
ETHEREUM_JSONRPC_HTTP_URL: http://lux-node-1:9650/v1/chain/c/rpc
|
|
ETHEREUM_JSONRPC_WS_URL: ws://lux-node-1:9650/v1/chain/c/ws
|
|
POOL_SIZE: 50
|
|
ECTO_USE_SSL: "false"
|
|
HEART_BEAT_TIMEOUT: 30
|
|
BLOCKSCOUT_HOST: localhost
|
|
BLOCKSCOUT_PROTOCOL: http
|
|
DISABLE_EXCHANGE_RATES: "false"
|
|
CHECKSUM_FUNCTION: eth
|
|
networks:
|
|
- lux-network
|
|
depends_on:
|
|
- postgres
|
|
- lux-node-1
|
|
|
|
lux-explorer:
|
|
extends: explorer-base
|
|
container_name: lux-explorer
|
|
environment:
|
|
DATABASE_URL: postgresql://postgres:postgres@postgres:5432/explorer_lux
|
|
NETWORK: LUX
|
|
SUBNETWORK: Mainnet
|
|
COIN: LUX
|
|
COIN_NAME: LUX
|
|
CHAIN_ID: 96369
|
|
ports:
|
|
- "4000:4000"
|
|
|
|
hanzo-explorer:
|
|
extends: explorer-base
|
|
container_name: hanzo-explorer
|
|
environment:
|
|
DATABASE_URL: postgresql://postgres:postgres@postgres:5432/explorer_hanzo
|
|
NETWORK: HANZO
|
|
SUBNETWORK: AI Network
|
|
COIN: AI
|
|
COIN_NAME: AI Token
|
|
CHAIN_ID: 36963
|
|
ports:
|
|
- "4003:4000"
|
|
|
|
zoo-explorer:
|
|
extends: explorer-base
|
|
container_name: zoo-explorer
|
|
environment:
|
|
DATABASE_URL: postgresql://postgres:postgres@postgres:5432/explorer_zoo
|
|
NETWORK: ZOO
|
|
SUBNETWORK: Zoo Network
|
|
COIN: ZOO
|
|
COIN_NAME: ZOO Token
|
|
CHAIN_ID: 200200
|
|
ports:
|
|
- "4001:4000"
|
|
|
|
spc-explorer:
|
|
extends: explorer-base
|
|
container_name: spc-explorer
|
|
environment:
|
|
DATABASE_URL: postgresql://postgres:postgres@postgres:5432/explorer_spc
|
|
NETWORK: SPC
|
|
SUBNETWORK: Sparkle Pony Club
|
|
COIN: SPC
|
|
COIN_NAME: SPC Token
|
|
CHAIN_ID: 36911
|
|
ports:
|
|
- "4002:4000" |