Operations & Architecture · Measured not promised

Every decision, measured

Every architectural choice, benchmark number and operational procedure behind the console — written for a human operator, not for marketing. All canonical markdown documents live in docs/ in the repository.

DOC.01 — CORE GUIDES & ARCHITECTURE
OPS-GUIDE
Operations guide Quick start with release image, one-command curl installer, YAML configuration reference, automated backups and troubleshooting. →
ADR-001..006
Architecture decision records Six accepted ADRs: Tailscale as sole auth, SQLite 3-tier rollup over Prometheus, go:embed over npm, outbound-only agents, no public REST API, three binaries. →
MATRIX
Comparison matrix Feature-by-feature comparison against Homepage, Uptime Kuma, Beszel, Netdata, Grafana and Portainer — including the honest "we don't do this" trade-offs. →
METRICS
Benchmarks Measured on a real deployment (Debian 13, 9 containers, 13 h uptime): memory, CPU and storage footprint with timestamped reproducible conditions. →
MIGRATION
Migration guide Re-onboarding from a start page, an availability monitor or a Prometheus + Grafana stack. Clear about what does not transfer. ~15 mins setup. →
RELEASES
Changelog Every release since the first commit, in Keep a Changelog format. Also maintained at the repository root as CHANGELOG.md. →
DOC.02 — MEASURED SPECIFICATIONS

Key facts, measured not promised.

STEADY STATE ≈50 MB Total RSS memory footprint (Dashboard + Host Agent)
CPU OVERHEAD 2.4% Dashboard CPU average measured over a 13-hour window
SQLITE STORAGE 29.7 MB Database size after 13 h (2 GiB automatic quota ceiling)
TIERED RETENTION 10s / 1m / 15m 3-tier rollups: 48 h high-res raw, 30 d 1m, 90 d retention
EXPOSED PORTS 0 Inbound WAN ports, inbound connections, password DB
DEPLOYMENT 3 Static Go binaries (Dashboard, Host Agent, Node Agent)

Full measurement conditions and logs available in docs/benchmarks.md ↗.