feat(docker): full ecosystem Docker deployment
- docker-compose.pull.yml: production compose with pre-built images,
health checks, env var config, service dependencies
- docker-compose.local.yml: override for mounting existing chain data
- docker-compose.ecosystem.yml: build-from-source compose with pool,
LNS, Redis added
- Chain Dockerfile: add curl for health checks, swagger API resources
- Pool Dockerfile: Ubuntu 24.04, Boost 1.83, native ProgPoWZ compilation
- .env.example: configurable passwords, ports, hostname
- pool-config.json: Docker-networked pool config
- health.sh: one-command stack health check
- deploy.sh: remote server deployment script
- lethean-testnet.service: systemd auto-start unit
- README.md: quickstart, mining guide, backup, troubleshooting
All 8 services tested and running in Docker:
daemon, wallet, explorer, trade-api, trade-frontend, pool, LNS, docs
Co-Authored-By: Charon <charon@lethean.io>
2026-04-03 11:14:30 +01:00
|
|
|
# Lethean Testnet Configuration
|
|
|
|
|
# Copy to .env and customise before running:
|
|
|
|
|
# cp .env.example .env
|
|
|
|
|
# docker compose -f docker-compose.pull.yml up -d
|
|
|
|
|
|
|
|
|
|
# Public hostname (used by explorer and trade frontend)
|
|
|
|
|
PUBLIC_HOST=localhost
|
|
|
|
|
|
|
|
|
|
# Wallet password (empty = no password, change for production)
|
|
|
|
|
WALLET_PASSWORD=
|
|
|
|
|
|
|
|
|
|
# Trade API JWT secret (CHANGE THIS for production)
|
|
|
|
|
JWT_SECRET=change-me-before-production
|
|
|
|
|
|
|
|
|
|
# Explorer database
|
|
|
|
|
EXPLORER_DB_USER=explorer
|
|
|
|
|
EXPLORER_DB_PASS=explorer
|
|
|
|
|
EXPLORER_DB_NAME=lethean_explorer
|
|
|
|
|
|
|
|
|
|
# Trade database
|
|
|
|
|
TRADE_DB_USER=trade
|
|
|
|
|
TRADE_DB_PASS=trade
|
|
|
|
|
TRADE_DB_NAME=lethean_trade
|
|
|
|
|
|
|
|
|
|
# Daemon log level (0=minimal, 1=normal, 2=detailed, 3=trace)
|
|
|
|
|
DAEMON_LOG_LEVEL=1
|
|
|
|
|
|
|
|
|
|
# Port overrides (defaults shown)
|
|
|
|
|
# DAEMON_RPC_PORT=46941
|
|
|
|
|
# DAEMON_P2P_PORT=46942
|
|
|
|
|
# WALLET_RPC_PORT=46944
|
|
|
|
|
# EXPLORER_PORT=3335
|
|
|
|
|
# TRADE_API_PORT=3336
|
|
|
|
|
# TRADE_FRONTEND_PORT=3338
|
|
|
|
|
# POOL_STRATUM_PORT=5555
|
|
|
|
|
# POOL_API_PORT=2117
|
|
|
|
|
# LNS_HTTP_PORT=5553
|
|
|
|
|
# LNS_DNS_PORT=5354
|
2026-04-03 12:14:05 +01:00
|
|
|
|
|
|
|
|
# === Exit Node Settings (docker-compose.exit.yml) ===
|
|
|
|
|
|
|
|
|
|
# Your public IP address (required for VPN exit node)
|
|
|
|
|
# EXIT_PUBLIC_IP=auto
|
|
|
|
|
|
|
|
|
|
# Exit node name (registered as on-chain alias)
|
|
|
|
|
# EXIT_NAME=my-exit-node
|
|
|
|
|
|
|
|
|
|
# Maximum VPN peers (WireGuard clients)
|
|
|
|
|
# EXIT_MAX_PEERS=25
|
|
|
|
|
|
|
|
|
|
# Timezone
|
|
|
|
|
# TZ=Europe/London
|