Uptime Kuma sauber lokal starten
Wer nur wissen will, ob die eigene App, API oder Familien-Nextcloud wirklich erreichbar ist, muss nicht sofort Prometheus, Alertmanager und Grafana aufbauen. Uptime Kuma ist für genau diesen Einstieg stark: schnell gestartet, im Browser sofort sichtbar und trotzdem nützlich genug für den Dauerbetrieb.
Der wichtige Punkt für 31. März 2026: Das offizielle Projekt-README verweist aktuell auf eine sehr schlanke Docker-Compose-Variante mit compose.yaml und dem Image-Tag louislam/uptime-kuma:2. Genau daran orientiert sich dieses Setup, statt irgendeine veraltete Beispiel-Datei aus einem Drittblog zu kopieren.
Was du am Ende hast
- Uptime Kuma lokal unter
http://localhost:3001 - Einen ersten HTTP-Monitor, der eine URL alle 20 Sekunden prüft
- Eine öffentliche Statusseite, die du im Heimnetz oder per Reverse Proxy weiterreichen kannst
- Klare Prüf-Kommandos mit
docker compose,docker logsundcurl
Voraussetzungen
- Docker Engine und
docker composesind installiert - Port
3001ist auf deinem Rechner frei - Du arbeitest in einem neuen, dedizierten Ordner
1. Arbeitsordner anlegen
Nicht zwischen alten Compose-Dateien arbeiten. Erstelle erst ein sauberes Projektverzeichnis:
mkdir uptime-kuma-lab && cd uptime-kuma-lab
2. Die aktuelle Compose-Datei vom Projekt holen
Laut aktuellem README reicht eine sehr kleine Compose-Datei. Du kannst sie direkt vom offiziellen Repository laden:
curl -o compose.yaml \
https://raw.githubusercontent.com/louislam/uptime-kuma/master/compose.yaml
Der Inhalt ist bewusst schlank. Falls du sie lieber selbst schreiben willst, sieht sie aktuell so aus:
uptime-kuma-lab/compose.yaml:
services:
uptime-kuma:
image: louislam/uptime-kuma:2
restart: unless-stopped
volumes:
- ./data:/app/data
ports:
- "3001:3001"
Wichtig: Das Projekt weist ausdrücklich darauf hin, dass Dateisysteme wie NFS für das Datenverzeichnis keine gute Idee sind. Nutze lokal ein normales Verzeichnis oder ein lokales Docker-Volume.
3. Stack starten
Jetzt ziehst du das Image und startest den Dienst im Hintergrund:
docker compose pull
docker compose up -d
Nach wenigen Sekunden sollte Uptime Kuma erreichbar sein unter:
http://localhost:3001
Beim ersten Aufruf legst du direkt deinen Admin-Benutzer an. Danach landest du auf dem Dashboard.
4. Lokal prüfen, ob der Container sauber läuft
Bevor du Monitore anlegst, prüfe das Setup einmal im Terminal:
docker compose ps
docker compose logs --tail=100 uptime-kuma
curl -I http://localhost:3001
Das sichtbare Ergebnis dieses Tutorials ist bereits hier erreicht: Die Weboberfläche lädt im Browser, und curl sollte einen erfolgreichen HTTP-Status zurückgeben.
5. Den ersten Monitor anlegen
Jetzt wird das Dashboard nützlich.
- Öffne
http://localhost:3001 - Klicke auf Add New Monitor
- Wähle als Typ HTTP(s)
- Vergib einen Namen wie
Homepage - Trage als URL zum Testen zum Beispiel
https://example.comein - Speichere den Monitor
Uptime Kuma prüft standardmäßig in kurzen Intervallen und zeigt dir sofort Latenz, Status und Verlauf. Für private Dienste im LAN kannst du natürlich auch Ziele wie http://192.168.178.20:8080 oder http://raspberrypi.local:3000 überwachen.
6. Eine öffentliche Statusseite freischalten
Der eigentliche Mehrwert kommt oft erst mit der Statusseite. Damit können andere sehen, ob dein Dienst gerade verfügbar ist, ohne Zugriff auf das Admin-Dashboard zu bekommen.
So richtest du sie ein:
- Öffne links den Bereich Status Pages
- Erstelle eine neue Seite, zum Beispiel
homelab-status - Wähle Titel, Beschreibung und Sichtbarkeit
- Füge deinen eben angelegten Monitor zur Seite hinzu
Danach erzeugt Uptime Kuma eine eigene URL für die Statusseite. Lokal sieht das typischerweise so aus:
http://localhost:3001/status/homelab-status
Wenn du später einen Reverse Proxy davorsetzt, kannst du genau diese Statusseite unter eine sprechende Subdomain hängen.
7. Optional: Docker-Container direkt überwachen
Uptime Kuma kann auch Docker-Container überwachen. Das ist praktisch, aber die Sicherheitsgrenze muss klar sein: Dafür müsstest du den Docker-Socket in den Container mounten.
Die offizielle Wiki-Doku weist zu Recht darauf hin, dass /var/run/docker.sock dem Container weitreichende Kontrolle über den Docker-Host geben kann. Für ein lokal erreichbares Admin-Dashboard ist das machbar, für ein offen ins Internet gestelltes Setup solltest du diesen Schritt nur sehr bewusst gehen.
Wenn du das wirklich brauchst, sähe der zusätzliche Mount so aus:
volumes:
- ./data:/app/data
- /var/run/docker.sock:/var/run/docker.sock
Für die meisten Leser ist es sinnvoller, zunächst nur HTTP-Endpunkte, TCP-Ports oder Ping-Ziele zu überwachen.
8. Update und Betrieb
Für ein normales Update reicht im Projektordner:
docker compose pull
docker compose up -d
Wenn du den Dienst komplett stoppen willst:
docker compose down
Deine Konfigurationen, Monitore und Statusseiten bleiben erhalten, weil sie im lokalen Ordner uptime-kuma-lab/data liegen.
Fazit
Uptime Kuma ist genau dann stark, wenn du keine Monitoring-Orgie brauchst, sondern schnell einen belastbaren Sichtkontakt zu deinen Diensten. Das Setup ist klein, das Ergebnis sofort sichtbar, und mit der Statusseite hast du in kurzer Zeit etwas, das für Teammitglieder, Kunden oder Mitbewohner tatsächlich hilfreich ist.
Wenn du heute nur ein einziges Self-Hosting-Projekt mit direktem Nutzwert aufsetzen willst, ist das hier deutlich überzeugender als der nächste abstrakte Infrastruktur-Stack ohne sichtbares Ergebnis.