Skip to main content

Docker Deploy

Full-stack deployment using clutch-deploy.

Pre-built images are published to GHCR and Docker Hub. clutch-deploy compose files reference the GHCR :latest tags.

Services

ServicePortsDescription
clutch-hub-api3000GraphQL API, /health
node18081, 4001, 3001Bootstrap node (WebSocket, libp2p, metrics)
node28082, 4002, 3002Node 2
node38083, 4003, 3003Node 3
Prometheus9090Metrics
Grafana3030Dashboards (admin/admin)
Seq5341Structured logging

Configuration

PathPurpose
config/node/node1.toml, node2.toml, node3.tomlNode settings, bootstrap peers
config/api/default.tomlAPI bind, WebSocket URL, Seq
config/monitoring/prometheus/prometheus.ymlScrape targets
config/monitoring/grafana/Datasources, dashboards
config/nginx/nginx.confProxy (when using --profile proxy)
.envSEQ_API_KEY, JWT_SECRET, ALLOWED_ORIGINS

Optional: Nginx Proxy

docker compose --profile proxy up -d

Common Commands

# View logs
docker compose logs -f clutch-hub-api

# Restart API
docker compose restart clutch-hub-api

# Full reset (removes volumes)
docker compose down -v
docker compose up -d