labkompass

Guides · Selfhosting

Uptime Kuma + Beszel: Der kostenlose Monitoring-Stack fürs Homelab

Zwei leichtgewichtige Tools, die zusammen 90 % des Homelab-Monitorings abdecken: Uptime Kuma für Dienste und SSL, Beszel für CPU, RAM, Disks und Docker — mit Compose-Setup und Alarm-Strategie.

Veröffentlicht:


Irgendwann kippt jedes Homelab von „ich probier was aus“ zu „davon hängen Dinge ab“ — spätestens, wenn die Familie Fotos auf Immich und Passwörter in Vaultwarden hat. Ab da braucht es Antworten auf zwei Fragen: Läuft alles? und Wie geht es den Maschinen? Genau diese Arbeitsteilung decken zwei kostenlose, leichtgewichtige Open-Source-Tools ab, die sich als De-facto-Standard etabliert haben — und die wir bei Labkompass selbst einsetzen.

Die Arbeitsteilung

  • Uptime Kuma prüft von außen: Ist der Dienst erreichbar? HTTP 200? Zertifikat gültig? Docker-Container am Leben? Und alarmiert über Dutzende Kanäle (Telegram, Discord, E-Mail, ntfy …).
  • Beszel schaut von innen: CPU, RAM, Disk-Belegung, Temperatur, Netzwerk und die Ressourcen einzelner Docker-Container — als Hub mit Mini-Agents (~10 MB) auf jedem überwachten System, mit Historie und eigenen Schwellwert-Alarmen.

Grafana + Prometheus können all das auch — aber mit deutlich mehr Lernkurve und Pflege. Für die allermeisten Homelabs ist das hier die ehrlichere Empfehlung; aufrüsten kannst du immer noch.

Setup per Docker Compose

Beide auf dem Docker-Host deiner Wahl (VM auf dem Proxmox-Server oder Altrechner):

services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    volumes:
      - ./kuma-data:/app/data
    ports:
      - "3001:3001"
    restart: unless-stopped

  beszel:
    image: henrygd/beszel
    volumes:
      - ./beszel-data:/beszel_data
    ports:
      - "8090:8090"
    restart: unless-stopped

Auf jedem zu überwachenden System kommt zusätzlich der Beszel-Agent dazu (Compose-Snippet und den zugehörigen Key generiert die Beszel-Oberfläche beim Hinzufügen eines Systems — inklusive Docker-Socket-Mount, wenn Container-Statistiken gewünscht sind).

Ein Detail mit Prinzip: Der Uptime-Kuma-Datenordner gehört in dein Backup — die mühsam gepflegten Monitore will niemand zweimal anlegen.

Uptime Kuma sinnvoll befüllen

Nicht wahllos alles anlegen — dieses Gerüst hat sich bewährt:

  1. HTTP(S)-Monitore für jeden Dienst mit Weboberfläche (Immich, Vaultwarden, Jellyfin …) — mit aktivierter Zertifikatsprüfung und Ablauf-Warnung (Standard: Alarm z. B. 14 Tage vorher)
  2. Ping-Monitore für Infrastruktur: Router/OPNsense, Switch, Access Points, NAS
  3. DNS-Monitor gegen deinen Pi-hole/AdGuard — wenn DNS steht, „ist das Internet kaputt“, das willst du zuerst wissen
  4. Push-Monitore („Heartbeat“) für Backup-Jobs: Der Backup-Job ruft am Ende eine Kuma-URL auf; bleibt der Aufruf aus, kommt Alarm. Damit überwachst du das, was still versagt — die wertvollste Monitor-Art überhaupt.

Beszel: Schwellwerte statt Datenfriedhof

Beim Hinzufügen der Systeme direkt Alarme setzen — sinnvolle Startwerte:

  • Disk > 85 % — die häufigste schleichende Störung (Docker-Logs, Datenbank-Wachstum, vergessene Downloads)
  • CPU dauerhaft > 90 % über längere Zeit — irgendwas dreht durch
  • RAM > 90 % — bevor der OOM-Killer wahllos Dienste abschießt
  • Temperatur je nach Gerät — besonders bei lüfterlosen Mini-PCs im Sommer interessant

Die Alarm-Strategie: Wer bewacht den Wächter?

Drei Regeln, die den Unterschied zwischen „Monitoring“ und „Beruhigungs-Dashboard“ machen:

  1. Ein Kanal, der dich wirklich erreicht — Telegram, Discord oder selfhosted ntfy. E-Mail als Zweitkanal.
  2. Das Henne-Ei-Problem lösen: Läuft das Monitoring auf dem Server, den es überwacht, schweigt es genau dann, wenn alles brennt. Der klassische Ausweg im Homelab: Kuma auf ein anderes Gerät als die Hauptdienste (z. B. den Pi, der eh läuft) — oder ein kostenloser externer Heartbeat-Dienst, der Alarm schlägt, wenn dein Kuma sich nicht mehr meldet.
  3. Alarm-Hygiene: Jeder Alarm, der keine Handlung auslöst, wird gelöscht oder entschärft. Drei Fehlalarme pro Woche, und du liest auch den echten nicht mehr.

Grenzen des Duos — und was dann?

Kein Log-Management, keine Metrik-Korrelation, keine komplexen Dashboards. Wenn du dahin willst: Grafana/Prometheus (oder VictoriaMetrics) sind der nächste Schritt — als bewusstes Projekt, nicht als Pflicht. Und für den Blick von außen auf deine öffentlichen Dienste lässt sich Kumas Statuspage-Funktion nutzen; extern erreichbar machen würden wir sie nur hinter sauberem VPN/Proxy.

Fazit

Zwei Container, ein Agent pro Maschine, ein Abend Arbeit: Danach weißt du vor der Familie, dass Immich down ist, bevor die Platte voll läuft — und ob das nächtliche Backup wirklich lief. Mehr Monitoring braucht ein Homelab lange nicht.