← all stacks

Observability on $5 self-host stack

5 open-source picks · replaces 5 SaaS · self-host on your own VPS

Persona. Solo or small-team operator who wants uptime checks + dashboards + analytics + status page + paging — and refuses to budget Datadog money for it.

Stack total · starts at
$43/mo
sum of per-tool VPS-cost lower bounds · recommended VPS providers →
Hardest setup in stack
hard
worst of 5 picks
Health mix
5 alive
live from GitHub at build time

Run this stack

Two files, one command. Pinned image tags, named volumes, env vars in .env.example. Read the compose comments to see which picks are inlined vs which have heavier official composes linked.

curl -O https://code-rho-dun.vercel.app/stack/observability-on-five-bucks/compose.yml
curl -O https://code-rho-dun.vercel.app/stack/observability-on-five-bucks/.env.example && mv .env.example .env
docker compose up -d

Why these together

The premise: get usable monitoring + analytics + paging without paying Datadog. Uptime Kuma is the cheapest credible uptime checker (one container, $0 marginal cost when colocated with anything else); Grafana is the dashboard layer that reads from any timeseries store you bring (Prometheus on the same box is the typical pairing); Plausible is the lightweight web-analytics piece, separate from product/error data so the cookie-free promise to users stays clean; Cachet is the public status page that Uptime Kuma pings; Keep is the on-call rotation that closes the loop when something flips red. The compose.yml on this page ships Uptime Kuma + Grafana — the two cheapest pieces that fit cleanly inside $10/mo. Plausible (postgres + clickhouse), Cachet (MySQL), and Keep (multi-container) all need heavier installs and have their own composes linked from inside the file. Honest cost: Uptime Kuma alone fits in $5. Adding Grafana + Plausible + Keep typically pushes you to $15-20 — still ~10× cheaper than Datadog at any non-trivial scale.

The 5 picks

Pick Replaces Cost / setup Health
UptimeRobot
External uptime / availability monitoring
$3/mo+
easy · 5min docker run
alive
★ 86.7k · 1d ago
grafana/grafana · AGPL-3.0
Datadog
Observability (metrics + logs + traces + APM)
$20/mo+
hard · 1-2h to wire up the LGTM stack via docker-compose; multi-day to do it production-grade
alive
★ 73.7k · today
plausible/analytics · AGPL-3.0
Google Analytics
Web analytics
$5/mo+
easy · 10min docker-compose
alive
★ 24.8k · today
Statuspage (Atlassian)
Public status page / incident communication
$5/mo+
moderate · 20min docker-compose (PHP/Laravel + Postgres or MySQL)
alive
★ 15.0k · 13d ago
keephq/keep · MIT
PagerDuty
On-call rotation / incident response / paging
$10/mo+
moderate · 30min docker-compose (keep-frontend + keep-backend + websocket-server; SQLite default, swap to Postgres via `DATABASE_CONNECTION_STRING`)
alive
★ 11.8k · 2d ago

Other stacks