Tooling

Self-Hosted Monitoring & Uptime

Beszel, Uptime Kuma, Gatus — lightweight homelab-grade monitoring.

Lighter-weight than the full Prometheus stack. Single-container, beautiful UI, just enough for a homelab or small team.

Server / system monitoring (CPU / RAM / disk / containers)

Uptime / endpoint monitors

Slim Prometheus alternatives (homelab-scale)

Notification channels (most tools support these)

What a typical homelab stack looks like

  • Beszel for system metrics across all your boxes (one hub + an agent per host).
  • Uptime Kuma for "is this URL up?" + status page for friends/family.
  • Healthchecks for cron job monitoring (backups, scheduled tasks).
  • ntfy for phone push when something fires.
  • All behind Tailscale + Cloudflare Tunnel for remote access.

Patterns to adopt

  • One hub, agents on each box. Beszel works exactly like this; Netdata Cloud does too.
  • Group dashboards by purpose — "Media servers," "Production," "Storage."
  • Notification routing — page-worthy alerts to phone push; informational to chat.
  • Monthly review — silence stale alerts; tune thresholds.
  • Don't double-alert on the same condition from multiple tools.

Pick this if…

  • Default homelab system monitor: Beszel.
  • Default homelab uptime monitor: Uptime Kuma.
  • YAML-config / IaC-friendly: Gatus.
  • Cron / dead-man's switch: Healthchecks.
  • Per-second deep host metrics: Netdata.
  • Phone push for alerts: ntfy or Gotify.
  • Bigger / production scale: Prometheus stack.

On this page