← Zurück zur Übersicht Uptime Kuma mit Docker Compose: In 15 Minuten zur eigenen Statusseite

Uptime Kuma mit Docker Compose: In 15 Minuten zur eigenen Statusseite

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 logs und curl

Voraussetzungen

  • Docker Engine und docker compose sind installiert
  • Port 3001 ist 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.

  1. Öffne http://localhost:3001
  2. Klicke auf Add New Monitor
  3. Wähle als Typ HTTP(s)
  4. Vergib einen Namen wie Homepage
  5. Trage als URL zum Testen zum Beispiel https://example.com ein
  6. 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:

  1. Öffne links den Bereich Status Pages
  2. Erstelle eine neue Seite, zum Beispiel homelab-status
  3. Wähle Titel, Beschreibung und Sichtbarkeit
  4. 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.

Quellen