Zum Inhalt

Uptime Kuma

Uptime Kuma ueberwacht die Erreichbarkeit von HTTP-, TCP-, DNS- und Ping-Endpunkten und sendet Benachrichtigungen bei Ausfaellen. Dank VPN-Verbindung (Tailscale) koennen auch interne Homelab-Dienste ueberwacht werden, die nicht oeffentlich erreichbar sind.

Zugang

Parameter Wert
URL https://uptime.homelab-external.robinwerner.net
Port (intern) 3001
Netzwerk proxy

Container-Konfiguration

Parameter Wert
Image louislam/uptime-kuma:2.1.3
Container-Name uptime-kuma
Neustart unless-stopped
Netzwerk proxy

Volumes:

Quelle Ziel Beschreibung
/opt/homelab-data/uptime-kuma /app/data Alle Daten (SQLite-DB, Uploads)

DNS-Konfiguration:

dns:
  - 10.10.10.3   # Pi-hole (primaer, loest *.home.robinwerner.net auf)
  - 1.1.1.1      # Cloudflare (Fallback)

Pi-hole als primaerer DNS-Resolver ist notwendig, damit Uptime Kuma interne Hostnamen wie z2m.home.robinwerner.net aufloesen kann. DNS-Anfragen erreichen Pi-hole ueber den Tailscale-VPN-Tunnel (Port 53 in der Headscale-ACL freigegeben).

Capabilities:

cap_drop: ALL mit expliziten Ergaenzungen fuer interne Datei-Permissions:

Capability Benoetigt fuer
CHOWN Datenverzeichnis-Ownership
DAC_OVERRIDE Dateizugriffsrechte
FOWNER Prozess als Datei-Owner
SETGID / SETUID Benutzer-Wechsel beim Start

Netzwerk

Uptime Kuma ist nur im proxy-Netzwerk und hat keine direkte Verbindung zum internal-Netzwerk. Zugriff auf interne Homelab-Dienste erfolgt ausschliesslich ueber den Tailscale-VPN-Tunnel (Tailscale-Container laeuft mit network_mode: host).

Traefik-Routing:

uptime.homelab-external.robinwerner.net → uptime-kuma:3001

Middlewares: security-headers (HSTS, X-Frame-Options, Referrer-Policy, Permissions-Policy)

Wichtige Konfiguration

Uptime Kuma wird vollstaendig ueber die Web-UI konfiguriert. Alle Einstellungen — Monitore, Benachrichtigungskanale, Status-Pages — werden in der SQLite-Datenbank unter /opt/homelab-data/uptime-kuma gespeichert.

Empfohlene Benachrichtigungskanale:

  • ntfy (Push-Notifications): https://ntfy.homelab-external.robinwerner.net
  • E-Mail (optional, ueber Mailgun)

Monitoring-Typen die genutzt werden:

Typ Beispiel-Ziele
HTTP(S) Externe Dienste, Traefik-Endpunkte
TCP Port Interne Services (via VPN)
Ping Heimnetz-Geraete (NUC, NAS)
DNS Aufloesung kritischer Hostnamen

Wartung

Ersteinrichtung

Nach dem ersten Start die Web-UI unter https://uptime.homelab-external.robinwerner.net aufrufen und einen Admin-Account anlegen. Anschliessend Monitore und Benachrichtigungen konfigurieren.

Logs

docker compose logs -f uptime-kuma

Healthcheck

# Manuell pruefen
curl -sf https://uptime.homelab-external.robinwerner.net/api/entry-page

Der interne Healthcheck prueft /api/entry-page (nicht /api/status-page/heartbeat, der in v2.x nicht mehr verfuegbar ist).

Backup

Alle Daten liegen in /opt/homelab-data/uptime-kuma. Dieses Verzeichnis wird im Rahmen des allgemeinen Hetzner-Daten-Backups gesichert.

Update

Images sind auf konkrete Versionen gepinnt. Renovate erstellt woechtentlich PRs fuer Updates. Nach Merge auf main wird der Stack automatisch per Cron-Job (dienstags 12:00 UTC) aktualisiert.

# Manuelles Update
cd /opt/homelab-repo/hetzner
docker compose pull uptime-kuma
docker compose up -d uptime-kuma