Context
One command (docker compose up -d) should bring up the whole stack on a fresh VPS. Target host is a €3.79/mo Hetzner CX22 (2 vCPU, 4 GB RAM, 40 GB SSD) — tight, but enough for one-chain v0.1.
Scope
- Multi-stage
Dockerfile for charon (builder + slim runtime image)
docker-compose.yml with three services: charon, prometheus, grafana
- Prometheus config scraping
charon:9090
- Grafana with a pre-provisioned dashboard (liquidations, profit, scan latency, chain health gauges)
- Volumes for Prometheus/Grafana persistence
.env-driven secrets (mounted into the charon container)
- Runbook in
deploy/README.md: provision VPS, clone repo, docker compose up -d
Acceptance criteria
References
- PRD section 7b (Docker Deployment)
Context
One command (
docker compose up -d) should bring up the whole stack on a fresh VPS. Target host is a €3.79/mo Hetzner CX22 (2 vCPU, 4 GB RAM, 40 GB SSD) — tight, but enough for one-chain v0.1.Scope
Dockerfilefor charon (builder + slim runtime image)docker-compose.ymlwith three services:charon,prometheus,grafanacharon:9090.env-driven secrets (mounted into the charon container)deploy/README.md: provision VPS, clone repo,docker compose up -dAcceptance criteria
docker compose up -don a fresh Ubuntu 22.04 box brings all three services up:3000with the default dashboard populatedReferences