Uptime Kuma ist ein schlankes Open-Source-Werkzeug zur Überwachung von Websites, Servern und Diensten. Es prüft in festen Abständen, ob ein Dienst erreichbar ist, misst Antwortzeiten, überwacht Ablaufdaten von SSL-Zertifikaten und benachrichtigt Sie per E-Mail, Telegram, Slack oder Microsoft Teams, wenn etwas ausfällt. In dieser Anleitung installieren Sie Uptime Kuma mit Docker Compose auf einem Linux-Server.

Voraussetzungen

  • Ein Linux-Server mit Docker und Docker Compose (siehe Docker und Docker Compose unter Debian und Ubuntu installieren)
  • Mindestens 1 GB RAM
  • Optional: eine Domain oder Subdomain, zum Beispiel status.ihre-domain.at, für den Zugriff per HTTPS

Tipp: Betreiben Sie das Monitoring nicht auf demselben Server, den Sie überwachen. Fällt dieser Server aus, fällt sonst auch die Überwachung aus und Sie erhalten keine Benachrichtigung.

Schritt 1: Projektverzeichnis anlegen

sudo mkdir -p /opt/uptime-kuma
cd /opt/uptime-kuma

Schritt 2: Compose-Datei erstellen

Erstellen Sie die Datei compose.yaml:

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

Zwei Punkte sind wichtig:

  • Der Port ist an 127.0.0.1 gebunden. Uptime Kuma ist damit nur lokal erreichbar und wird über einen Reverse Proxy mit HTTPS veröffentlicht. Für einen ersten Test ohne Proxy entfernen Sie 127.0.0.1:.
  • Alle Daten liegen im Ordner ./data. Diesen Ordner sichern Sie in Ihrem Backup.

Schritt 3: Container starten

sudo docker compose up -d
sudo docker compose logs -f

Sobald im Log die Meldung erscheint, dass der Server auf Port 3001 lauscht, beenden Sie die Log-Anzeige mit Strg+C.

Schritt 4: Zugriff per HTTPS einrichten

Am einfachsten gelingt das mit Caddy, der Zertifikate von Let's Encrypt automatisch bezieht. Richten Sie zuerst einen DNS-Eintrag (A bzw. AAAA) für Ihre Subdomain auf die IP-Adresse des Servers ein. Ergänzen Sie dann in der Caddyfile:

status.ihre-domain.at {
    reverse_proxy 127.0.0.1:3001
}

Laden Sie Caddy neu mit sudo systemctl reload caddy. Eine ausführliche Anleitung finden Sie in unserem Artikel Caddy als Reverse Proxy mit automatischem HTTPS einrichten.

Schritt 5: Ersteinrichtung

  1. Rufen Sie https://status.ihre-domain.at auf.
  2. Wählen Sie beim ersten Start die Datenbank. Für kleine und mittlere Installationen ist SQLite völlig ausreichend.
  3. Legen Sie ein Administratorkonto mit einem starken Passwort an.
  4. Aktivieren Sie unter Einstellungen → Sicherheit die Zwei-Faktor-Authentifizierung.

Schritt 6: Den ersten Monitor anlegen

  1. Klicken Sie auf Neuen Monitor hinzufügen.
  2. Wählen Sie den Typ, zum Beispiel HTTP(s) für eine Website.
  3. Vergeben Sie einen Namen und tragen Sie die URL ein.
  4. Legen Sie das Prüfintervall fest. 60 Sekunden sind ein guter Standardwert.
  5. Setzen Sie bei Wiederholungen einen Wert von 2 oder 3. So vermeiden Sie Fehlalarme bei kurzen Netzwerkstörungen.
  6. Aktivieren Sie bei HTTPS-Seiten Benachrichtigung über ablaufende Zertifikate.

Weitere nützliche Monitortypen

  • TCP-Port: prüft, ob zum Beispiel ein Mailserver auf Port 25 oder ein Datenbankserver antwortet
  • Ping: prüft die grundsätzliche Erreichbarkeit eines Servers
  • DNS: prüft, ob ein DNS-Eintrag den erwarteten Wert liefert
  • HTTP(s) – Schlüsselwort: prüft, ob ein bestimmter Text auf der Seite erscheint. Damit erkennen Sie auch Fehlerseiten, die mit Status 200 ausgeliefert werden.
  • Push: Ihr Server meldet sich selbst regelmäßig. Ideal für Cronjobs und Backups.

Schritt 7: Benachrichtigungen einrichten

Unter Einstellungen → Benachrichtigungen legen Sie fest, wie Sie informiert werden. Für E-Mail wählen Sie SMTP und tragen die Daten Ihres Mailservers ein. Nutzen Sie danach die Schaltfläche Testen. Aktivieren Sie die Option Standardmäßig aktiviert, damit neue Monitore die Benachrichtigung automatisch erhalten.

Statusseite veröffentlichen

Uptime Kuma kann eine öffentliche Statusseite erzeugen, auf der Ihre Kunden den Zustand Ihrer Dienste sehen. Legen Sie sie unter Statusseiten an und wählen Sie die Monitore aus, die angezeigt werden sollen. Interne Systeme sollten Sie dort nicht aufführen.

Updates und Backup

Aktualisieren Sie Uptime Kuma regelmäßig:

cd /opt/uptime-kuma
sudo docker compose pull
sudo docker compose up -d

Für ein Backup stoppen Sie den Container kurz und sichern den Ordner data:

sudo docker compose stop
sudo tar czf /root/uptime-kuma-$(date +%F).tar.gz data
sudo docker compose start

Fehlerbehebung

Die Weboberfläche lädt nicht

Prüfen Sie mit sudo docker compose ps, ob der Container läuft, und mit curl -I http://127.0.0.1:3001, ob er lokal antwortet. Antwortet er lokal, liegt das Problem beim Reverse Proxy oder beim DNS-Eintrag.

Viele Fehlalarme

Erhöhen Sie die Zahl der Wiederholungen und das Timeout. Manche Websites blockieren außerdem automatisierte Anfragen. Tragen Sie die IP-Adresse des Monitoring-Servers dort gegebenenfalls in eine Whitelist ein.

Sie möchten sich das Betreiben sparen? Mit Alpenhost Monitoring überwachen wir Ihre Dienste für Sie. Für den Eigenbetrieb eignet sich ein kleiner vServer.

War diese Antwort hilfreich? 0 Benutzer fanden dies hilfreich (0 Stimmen)