Uptime Kuma installieren: Monitoring mit Docker & Nginx Proxy Manager

Wer eigene Webseiten, Server oder Dienste betreibt, möchte sofort erfahren, wenn etwas ausfällt. Uptime Kuma ist ein quelloffenes, selbstgehostetes Monitoring-Tool im Stil von „Uptime Robot" – nur eben auf deiner eigenen Infrastruktur. Es überwacht Webseiten, APIs, Ports, Ping, DNS und SSL-Zertifikate, zeigt historische Verlaufsgraphen, erstellt öffentliche Status-Seiten und benachrichtigt dich über zahlreiche Kanäle wie E-Mail, Telegram, Discord oder Webhooks. Im Gegensatz zu kommerziellen Diensten erhältst du unbegrenzt viele Monitore mit Prüfintervallen bis hinunter zu 20 Sekunden – ohne Abo. In dieser Anleitung installierst du Uptime Kuma per Docker Compose und stellst es anschließend über den Nginx Proxy Manager per HTTPS bereit.
Voraussetzungen
Bevor du startest, solltest du Folgendes bereithalten:
- Einen Linux-Server (z. B. Ubuntu) mit installiertem Docker und Docker Compose
- Optional eine eigene Subdomain wie
status.deine-domain.defür den Zugriff per HTTPS - Geöffnete Ports
80und443in der Firewall, falls du den Nginx Proxy Manager einsetzt
Ein wichtiger Hinweis vorab zur Datenbank: Uptime Kuma nutzt SQLite und benötigt POSIX-Dateisperren. Lege das Datenverzeichnis daher immer auf ein lokales Volume oder Verzeichnis – nicht auf einen NFS-Share, da es sonst zu Datenbankbeschädigungen kommen kann.
Schritt 1: Verzeichnis anlegen
Lege zunächst ein dediziertes Verzeichnis an, damit Compose-Datei und persistente Daten leicht zu finden und zu sichern sind:
sudo mkdir -p /opt/uptime-kuma
cd /opt/uptime-kumaFalls du Uptime Kuma später über den Nginx Proxy Manager bereitstellen möchtest, sollte das im vorherigen Artikel angelegte Docker-Netzwerk bereits existieren. Andernfalls erstellst du es so:
docker network create proxy-netSchritt 2: Docker-Compose-Datei erstellen
Erstelle die Compose-Datei im Verzeichnis:
nano docker-compose.ymlFüge folgende, für Produktivbetrieb optimierte Konfiguration ein:
services:
uptime-kuma:
image: louislam/uptime-kuma:2
container_name: uptime-kuma
restart: always
ports:
- "3001:3001"
volumes:
- ./data:/app/data
environment:
- TZ=Europe/Berlin
networks:
- proxy-net
networks:
proxy-net:
external: trueÜber TZ=Europe/Berlin stellst du sicher, dass die Zeitstempel der Überwachung zu deiner lokalen Zeit passen. Das Datenverzeichnis liegt mit ./data als lokales Verzeichnis vor – genau so, wie es für SQLite empfohlen wird.
Schritt 3: Uptime Kuma starten
Starte den Container im Hintergrund:
docker compose up -dPrüfe anschließend, ob der Container läuft:
docker compose psSchritt 4: Ersteinrichtung im Browser
Rufe nun die Weboberfläche unter http://deine-server-ip:3001 auf. Beim ersten Aufruf legst du ein Administrator-Konto mit Benutzername und Passwort an. Wähle hier ein starkes Passwort – Uptime Kuma kennt standardmäßig keine weitere Zugriffsbeschränkung.
Nach dem Login landest du direkt im Dashboard und kannst sofort mit dem Anlegen von Monitoren beginnen.
Schritt 5: Per Nginx Proxy Manager absichern
Uptime Kuma basiert auf WebSockets. Anders als bei klassischen Web-Apps benötigt der Reverse Proxy daher zusätzlich die Header Upgrade und Connection, damit die Live-Aktualisierung funktioniert. Der Nginx Proxy Manager bringt dafür einen passenden Schalter mit.
Lege in der Admin-Oberfläche unter Hosts → Proxy Hosts → Add Proxy Host einen neuen Eintrag an.
Im Reiter Details:
- Domain Names:
status.deine-domain.de - Scheme:
http - Forward Hostname / IP:
uptime-kuma(der Containername) - Forward Port:
3001 - Websockets Support: unbedingt aktivieren
Im Reiter SSL:
- SSL Certificate: „Request a new SSL Certificate"
- Force SSL und HTTP/2 Support aktivieren
- Den Let's-Encrypt-Bedingungen zustimmen und eine gültige E-Mail-Adresse hinterlegen
Nach dem Speichern ist Uptime Kuma unter https://status.deine-domain.de verschlüsselt erreichbar.
Schritt 6: Ersten Monitor anlegen
Klicke im Dashboard auf „Add New Monitor". Für die Überwachung einer Webseite eignet sich der HTTP(s)-Monitor: Trage die zu prüfende URL ein, lege ein Prüfintervall fest (z. B. 60 Sekunden) und speichere. Uptime Kuma unterstützt darüber hinaus weitere Monitor-Typen:
- HTTP/HTTPS: prüft eine URL auf den erwarteten Status-Code, optional auch auf bestimmte Inhalte oder das Ablaufdatum des SSL-Zertifikats
- TCP-Port: prüft, ob ein Port Verbindungen annimmt – ideal für Datenbanken oder Mailserver
- Ping: einfache Erreichbarkeitsprüfung per ICMP
- Push: für interne Jobs oder Cronjobs, die sich aktiv bei Uptime Kuma melden
Schritt 7: Benachrichtigungen und Status-Seite
Damit du bei Ausfällen aktiv informiert wirst, richte unter Settings → Notifications einen Benachrichtigungskanal ein – etwa E-Mail (SMTP), Telegram, Discord oder einen Webhook. Anschließend ordnest du die Benachrichtigung deinen Monitoren zu.
Optional kannst du unter Status Pages eine öffentliche Status-Seite erstellen, auf der ausgewählte Monitore mit ihrem aktuellen Zustand und Verlauf dargestellt werden – praktisch, um Kunden transparent über die Verfügbarkeit deiner Dienste zu informieren.
Schritt 8: Updates und Backups
Uptime Kuma zu aktualisieren ist dank Docker unkompliziert. Wechsle in das Verzeichnis und führe aus:
cd /opt/uptime-kuma
docker compose pull
docker compose up -d --force-recreateFür das Backup ist ausschließlich der Ordner data entscheidend – er enthält die SQLite-Datenbank mit all deinen Monitoren, Einstellungen und Verlaufsdaten. Sichere ihn regelmäßig, z. B. so:
sudo tar czf uptime-kuma-backup-$(date +%F).tar.gz /opt/uptime-kuma/dataNächste Schritte nach der Installation
Uptime Kuma ist jetzt einsatzbereit und überwacht deine Dienste rund um die Uhr. Sinnvoll ist es nun, alle wichtigen Webseiten und Server als Monitore zu hinterlegen und mindestens einen zuverlässigen Benachrichtigungskanal zu testen. Für weiterführende Konfigurationen lohnt ein Blick in weitere Docker Anleitungen sowie in das offizielle Uptime-Kuma-Wiki auf GitHub.