Installation · 13 min read · Nov 17, 2025
So installieren Sie Kuma - Selbstgehostete Uptime Robot Alternative auf Ubuntu 20.04

Uptime-Kuma ist ein Open-Source-Überwachungstool wie “Uptime Robot”, das in Nodejs geschrieben ist. Es ist ein selbstgehostetes Überwachungstool mit einem schicken, schönen Dashboard und unterstützt mehrere Benachrichtigungsmethoden. Uptime-Kuma überwacht die Verfügbarkeit von Hosts oder Servern über die Protokolle HTTP(s), TCP und Ping. Wenn Hosts über diese Protokolle in Intervallen nicht erreichbar sind, sendet Uptime-Kuma Benachrichtigungen über Webhooks, Telegram, Discord, Gotify, Slack, Pushover, E-Mail (SMTP) usw.
In diesem Leitfaden lernen Sie, wie Sie Uptime-Kuma auf einem Ubuntu-Server installieren und den Apache-Webserver als Reverse-Proxy mit einem kostenlosen Let’s Encrypt SSL-Zertifikat davor verwenden. Während der Installation lernen Sie auch die Installation von Nodejs über nvm (Node Version Manager) kennen.
Voraussetzungen
- Ein Ubuntu-Server 20.04.
- Ein Benutzer mit Root-Rechten. Sie verwenden diesen Benutzer, um neue Pakete zu installieren und Systemeinstellungen zu ändern.
Neuen Benutzer hinzufügen
Zuerst fügen Sie einen neuen Benutzer zum Ubuntu-System hinzu. Aus Sicherheitsgründen wird die Anwendung Uptime-Kuma als Nicht-Root-Benutzer ausgeführt.
- Fügen Sie einen neuen Benutzer hinzu, indem Sie den folgenden Befehl ausführen. Für dieses Beispiel verwenden wir den Benutzernamen “ johndoe “. Stellen Sie sicher, dass Sie den Benutzernamen durch Ihren eigenen ersetzen.
useradd -m -s /bin/bash johndoeOptionen, die Sie kennen müssen:
- -m = erstellt automatisch das Home-Verzeichnis für den Benutzernamen, das unter dem Verzeichnis ‘/home’ verfügbar sein wird.
- -s = definiert den Pfad der Shell für den Benutzer, die meisten Linux-Systeme haben die
/bin/bash-Shell.
- Führen Sie danach den folgenden Befehl aus, um das Passwort für den Benutzer “johndoe” festzulegen.
passwd johndoeGeben Sie nun ein neues starkes Passwort ein und wiederholen Sie es, und drücken Sie dann “ Enter “, um zu bestätigen.
- Fügen Sie als Nächstes den Benutzer “johndoe” mit dem folgenden Befehl zur Gruppe “ sudo “ hinzu.
usermod -aG sudo johndoeDurch das Hinzufügen von Benutzern zur Gruppe “ sudo “ können diese den Befehl “sudo su” ausführen und Root-Rechte erhalten.
NVM (Node Version Manager) installieren
NVM oder Node Version Manager ist ein Befehlszeilentool zur Installation mehrerer Nodejs-Versionen auf einem System. Dieses Tool ermöglicht es Ihnen, eine bestimmte Nodejs-Version für Ihre Anwendungen zu installieren und macht Ihre Entwicklungs- und Bereitstellungsumgebung flexibel.
In dieser Phase installieren Sie nvm unter dem Nicht-Root-Benutzer “johndoe”.
- Melden Sie sich von Ihrer Root-Shell aus bei dem Benutzer “johndoe” mit dem folgenden Befehl an.
su - johndoe- Laden Sie das nvm-Installationsskript wie folgt herunter und führen Sie es aus.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
- Nach dem erfolgreichen Abschluss laden Sie die Bash-Umgebung mit dem folgenden Befehl neu.
source ~/.bashrc- Überprüfen Sie nun die Installation von “ nvm “ mit dem folgenden Befehl.
command -v nvmWenn Ihre Installation erfolgreich ist, sehen Sie das Ergebnis “ nvm “. Andernfalls sehen Sie nichts oder ein leeres Ergebnis.
Führen Sie nun den nvm-Befehl wie folgt aus.
nvm --helpUnd Sie sehen die manuelle Hilfeseite des nvm-Befehls.
Node Version Manager (v0.38.0)
Hinweis: bezieht sich auf jede versionähnliche Zeichenfolge, die nvm versteht. Dazu gehören:
- vollständige oder teilweise Versionsnummern, die mit einem optionalen "v" beginnen (0.10, v0.1.2, v1)
- Standard- (eingebaute) Aliase: node, stable, unstable, iojs, system
- benutzerdefinierte Aliase, die Sie mit `nvm alias foo` definieren
Alle Optionen, die farbige Ausgaben erzeugen, sollten die Option `--no-colors` respektieren.
Verwendung:
nvm --help Zeigt diese Nachricht an
--no-colors Unterdrückt farbige Ausgaben
.....
Hinweis:
Um nvm zu entfernen, zu löschen oder zu deinstallieren - entfernen Sie einfach den Ordner `$NVM_DIR` (normalerweise `~/.nvm`) Nodejs LTS-Version installieren
Um die Uptime-Kuma-Anwendung zu installieren, müssen Sie nodejs >= 14, git und pm2 installieren. An diesem Punkt installieren Sie die neueste LTS-Version von Nodejs mit dem nvm-Befehl.
- Führen Sie den nvm-Befehl unten aus, um die neueste LTS-Version von Nodejs zu installieren.
nvm install --ltsSobald die Installation erfolgreich ist, sehen Sie eine ähnliche Ausgabe wie unten.

Die erste Nodejs-Version, die Sie installieren, wird zur Standardversion in Ihrer Entwicklungsumgebung.
- Führen Sie nun den folgenden Befehl aus, um die Nodejs-Installation zu überprüfen.
node --version
npm --versionWenn Ihre Installation erfolgreich ist, sehen Sie eine ähnliche Ausgabe wie die folgende.
# Nodejs-Version
v14.17.4
# npm-Version
6.14.14Uptime-Kuma herunterladen und installieren
An diesem Punkt sind Sie bereit, die Uptime-Kuma-Anwendung zu installieren.
- Klonen Sie den Quellcode von Uptime-Kuma mit dem folgenden git-Befehl.
git clone https://github.com/louislam/uptime-kuma.git- Wechseln Sie danach das Arbeitsverzeichnis zu “ uptime-kuma/ “ und führen Sie den npm-Befehl aus, um alle notwendigen Pakete für Uptime-Kuma zu installieren.
cd uptime-kuma/
npm run setupUnd Sie sehen eine ähnliche Ausgabe wie unten.

Uptime-Kuma mit pm2 einrichten
Was ist pm2? Es ist ein Nodejs-Prozessmanager, der Ihnen hilft, Ihre Nodejs-Anwendung für immer am Laufen zu halten. pm2 hat einige integrierte Funktionen, die die Bereitstellung von Nodejs-Anwendungen erleichtern, es ermöglicht Ihnen, den Anwendungsstatus, Protokolle zu überwachen und sogar die Dienstdatei für Ihre Anwendung einzurichten.
- Installieren Sie das pm2-Paket mit dem folgenden npm-Befehl.
npm install pm2- Sobald die Installation abgeschlossen ist, führen Sie den folgenden pm2-Befehl aus, um die Uptime-Kuma-Anwendung zu starten.
pm2 start npm --name uptime-kuma -- run start-server -- --port=3001 --hostname=127.0.0.1Und Sie sehen die Ausgabemeldungen wie unten.

Wie im Bild zu sehen, läuft der Anwendungsname “ uptime-kuma “ mit dem Status “ online “.
- Um den Status Ihrer Anwendung in pm2 zu überprüfen, führen Sie die folgenden Befehle aus.
Überprüfen Sie den Status der Nodejs-Anwendung.
pm2 statusÜberprüfen Sie die Protokolle der Nodejs-Anwendung.
pm2 logs
Echtzeitüberwachung der Nodejs-Anwendung.
pm2 monit
- Führen Sie als Nächstes den folgenden pm2-Befehl aus, um die Dienstdatei für die Uptime-Kuma-Anwendung zu generieren.
pm2 startupDanach sollten Sie den Befehl wie im Output angegeben ausführen.
sudo env PATH=$PATH:/home/johndoe/.nvm/versions/node/v14.17.4/bin /home/johndoe/.nvm/versions/node/v14.17.4/lib/node_modules/pm2/bin/pm2 startup systemd -u johndoe --hp /home/johndoeStellen Sie sicher, dass Sie den Befehl “ sudo “ verwenden und das richtige Passwort für Ihren Benutzer eingeben, um Root-Rechte zu erhalten.
Sobald der Befehl abgeschlossen ist, sehen Sie die folgende Ausgabe.

Wie im Screenshot zu sehen, generiert pm2 einen systemd-Dienst basierend auf dem Benutzer, in diesem Beispiel “ pm2-johndoe.service “.
Führen Sie nun den folgenden Befehl aus, um den Zustand der Uptime-Kuma-Anwendung zu generieren und zu speichern. Dieser Befehl ist wichtig, um sicherzustellen, dass die Uptime-Kuma-Anwendung immer im Hintergrund läuft, selbst nach dem Systemstart.
pm2 save- Um den Dienst ‘ pm2-johndoe’ zu überprüfen, führen Sie den folgenden Befehl aus.
sudo systemctl is-enabled pm2-johndoeSie sehen die Ausgabe enabled, was bedeutet, dass die Uptime-Kuma-Anwendung nach dem Systemstart automatisch ausgeführt wird.
Zusätzlich können Sie versuchen, Ihr System neu zu starten und sich erneut beim Server anzumelden, und dann den Status des Uptime-Kuma-Dienstes überprüfen.
sudo systemctl status pm2-johndoeSie sollten eine ähnliche Ausgabe wie unten sehen.
? pm2-johndoe.service - PM2-Prozessmanager
Loaded: loaded (/etc/systemd/system/pm2-johndoe.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-08-10 01:52:37 UTC; 3min 57s ago
Docs: https://pm2.keymetrics.io/
Main PID: 745 (PM2 v5.1.0: God)
Tasks: 34 (limit: 2343)
Memory: 120.4M
CGroup: /system.slice/pm2-johndoe.service
??745 PM2 v5.1.0: God Daemon (/home/johndoe/.pm2)
??772 npm
??873 sh -c node server/server.js "--port=3001" "--hostname=127.0.0.1"
??874 node server/server.js --port=3001 --hostname=127.0.0.1
Aug 10 01:52:36 ubuntu64 pm2[633]: [PM2] Spawning PM2 daemon with pm2_home=/home/johndoe/.pm2
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] PM2 erfolgreich daemonisiert
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] Wiederherstellung
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] Wiederherstellung von Prozessen, die sich in /home/johndoe/.pm2/dump.pm2 befinden
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] Prozess /home/johndoe/.nvm/versions/node/v14.17.4/bin/npm wiederhergestelltDer “ pm2-johndoe.service “ ist beim Systemstart aktiv.
Apache als Reverse-Proxy einrichten
Für diesen Leitfaden installieren und konfigurieren Sie den Apache-Webserver als Reverse-Proxy für die Uptime-Kuma-Anwendung.
- Führen Sie den folgenden Befehl aus, um die Apache-Webserver-Pakete zu installieren.
sudo apt install apache2Geben Sie “y” ein und drücken Sie “ Enter “, um den Apache-Webserver zu installieren.
- Aktivieren Sie danach einige Apache-Module mit dem folgenden Befehl.
sudo a2enmod ssl proxy proxy_ajp proxy_wstunnel proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html- Erstellen Sie als Nächstes eine neue virtuelle Host-Konfiguration ‘ uptime-kuma.conf ‘ mit dem Nano-Editor-Befehl unten.
sudo nano /etc/apache2/sites-available/uptime-kuma.confFügen Sie die folgende Konfiguration in Ihre Terminal-Shell ein und ändern Sie den Domainnamen “ uptime.example.net “ in Ihre Domain wie “ domain.com “.
ServerName uptime.example.net
ProxyPass / http://localhost:3001/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://localhost:3001/$1" [P,L]
Drücken Sie “ Ctrl+x “ und geben Sie “ Y “ ein, um die Konfiguration zu speichern.
- Aktivieren Sie nun die Apache-Virtual-Host-Konfiguration “uptime-kuma” mit dem folgenden Befehl.
sudo a2ensite uptime-kumaFühren Sie danach den folgenden Befehl aus, um die Apache-Konfiguration zu überprüfen und sicherzustellen, dass Sie keine Fehler haben.
sudo apachectl configtest- Wenden Sie nun die neue Konfiguration an, indem Sie den Apache-Dienst mit dem folgenden Befehl neu starten.
sudo systemctl restart apache2
Uptime-Kuma mit SSL Letsencrypt sichern
Um den Zugriff auf Uptime-Kuma zu sichern, richten Sie das SSL von Letsencrypt für den Apache-Webserver ein.
- Installieren Sie zunächst das Certbot-Tool, indem Sie den folgenden Befehl ausführen.
sudo apt install python3-certbot-apacheGeben Sie “ y “ ein und drücken Sie “ Enter “, um mit der Installation zu beginnen.
- Generieren Sie nach der Installation das SSL Let’s Encrypt mit dem Certbot-Befehl wie folgt.
sudo certbot --apache yourdomain.comGeben Sie Ihre E-Mail-Adresse ein, um sich bei Letsencrypt zu registrieren, und drücken Sie “ Enter “, um fortzufahren. Letsencrypt sendet Ihnen E-Mails, wenn Ihre SSL-Zertifikate ablaufen.
Speichern Sie das Debug-Protokoll unter /var/log/letsencrypt/letsencrypt.log
Ausgewählte Plugins: Authenticator apache, Installer apache
Geben Sie die E-Mail-Adresse ein (verwendet für dringende Erneuerungen und Sicherheitsbenachrichtigungen) (Geben Sie ‘c’ ein, um
abzubrechen): [email protected]
Für die TOS (Nutzungsbedingungen) von Letsencrypt geben Sie " A " ein, um zuzustimmen, und drücken Sie " Enter ", um fortzufahren.
- Bitte lesen Sie die Nutzungsbedingungen unter
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Sie müssen
zustimmen, um sich beim ACME-Server unter
https://acme-v02.api.letsencrypt.org/directory zu registrieren
- Bitte lesen Sie die Nutzungsbedingungen unter
- (A)kzeptieren/(C)ancel: AWären Sie bereit, Ihre E-Mail-Adresse mit der Electronic Frontier
Für das Teilen der E-Mail mit der EFF (Electronic Frontier Foundation) können Sie " Y " für Ja und " N " für Nein eingeben. In diesem Beispiel werden wir keine E-Mail-Adresse mit der EFF teilen.
Foundation, einem Gründungspartner des Let’s Encrypt-Projekts und der gemeinnützigen
Organisation, die Certbot entwickelt, zu teilen? Wir würden Ihnen gerne E-Mails über unsere Arbeit
zum Verschlüsseln des Webs, EFF-Nachrichten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit senden.
- (A)kzeptieren/(C)ancel: A
- (Y)es/(N)o: N
Jetzt wird das Certbot-Tool SSL Letsencrypt für den Uptime-Kuma-Domainnamen generieren. Außerdem werden einige zusätzliche Konfigurationen für die Apache-Virtual-Host-Konfiguration hinzugefügt. Sie werden aufgefordert, die automatische Weiterleitung von HTTP zu HTTPS einzurichten. Geben Sie die Nummer "2" ein, um die Apache-Auto-Weiterleitung von HTTP zu HTTPS einzurichten, und drücken Sie " Enter ".Bitte wählen Sie, ob Sie den HTTP-Verkehr zu HTTPS umleiten möchten, um den HTTP-Zugriff zu entfernen. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Keine Umleitung - Keine weiteren Änderungen an der Webserver-Konfiguration vornehmen. 2: Umleitung - Alle Anfragen umleiten auf sicheren HTTPS-Zugriff. Wählen Sie dies für neue Sites oder wenn Sie sicher sind, dass Ihre Site auf HTTPS funktioniert. Sie können diese Änderung rückgängig machen, indem Sie die Konfiguration Ihres Webservers bearbeiten. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wählen Sie die entsprechende Nummer [1-2] und drücken Sie [enter] (drücken Sie 'c', um abzubrechen): 2
- (Y)es/(N)o: N
Sobald der Bereitstellungsprozess erfolgreich ist, sehen Sie eine ähnliche Ausgabe wie unten.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Herzlichen Glückwunsch! Sie haben erfolgreich https://uptime.example.net aktiviert
Sie sollten Ihre Konfiguration unter testen:
https://www.ssllabs.com/ssltest/analyze.html?d=uptime.example.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
WICHTIGE HINWEISE:
- Herzlichen Glückwunsch! Ihr Zertifikat und die Kette wurden gespeichert unter:
/etc/letsencrypt/live/uptime.example.net/fullchain.pem
Ihre Schlüsseldatei wurde gespeichert unter:
/etc/letsencrypt/live/uptime.example.net/privkey.pem
Ihr Zertifikat läuft am 2021-10-10 ab. Um eine neue oder angepasste
Version dieses Zertifikats in Zukunft zu erhalten, führen Sie einfach erneut certbot aus
mit der Option "certonly". Um *alle* Ihre Zertifikate nicht-interaktiv zu erneuern, führen Sie "certbot renew" aus
- Ihre Kontodaten wurden in Ihrem Certbot
Konfigurationsverzeichnis unter /etc/letsencrypt gespeichert. Sie sollten jetzt ein
sicheres Backup dieses Ordners erstellen. Dieses Konfigurationsverzeichnis enthält auch
Zertifikate und private Schlüssel, die von Certbot erhalten wurden, sodass regelmäßige Backups
dieses Ordners ideal sind.
- Wenn Sie Certbot mögen, ziehen Sie bitte in Betracht, unsere Arbeit zu unterstützen, indem Sie:
Spenden an ISRG / Let's Encrypt: https://letsencrypt.org/donate
Spenden an EFF: https://eff.org/donate-le
- Wir konnten Sie nicht für die EFF-Mailingliste anmelden, da Ihre
E-Mail-Adresse ungültig zu sein scheint. Sie können es später erneut versuchen, indem Sie
https://act.eff.org besuchen.Uptime-Kuma-Installation überprüfen
- Öffnen Sie Ihren Webbrowser und geben Sie die Uptime-Kuma-URL-Installation in die Adresszeile ein.
Sie werden auf die HTTPS-sichere Verbindung umgeleitet.
- Erstellen Sie einen neuen Admin-Benutzer für Uptime-Kuma auf der ersten Seite. Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche “ Erstellen “.

- Melden Sie sich danach mit Ihrem neuen Benutzernamen und Passwort an und klicken Sie auf die Schaltfläche “ Anmelden “.

Jetzt sehen Sie das Uptime-Kuma-Dashboard.
- Um einen neuen Host zur Überwachung hinzuzufügen, klicken Sie auf die Schaltfläche “ Neuen Monitor hinzufügen “.

- In diesem Beispiel überwachen Sie die Website, wählen Sie also den “ Überwachungstyp “ als “ HTTP(s) “, geben Sie die URL-Adresse der Website ein, klicken Sie auf die Schaltfläche “ Benachrichtigung einrichten “ für die Unterstützung von Benachrichtigungen, und klicken Sie dann auf die Schaltfläche “ Speichern “ am Ende der Seite.

- Sie werden auf das Uptime-Kuma-Dashboard umgeleitet und sehen Ihren Host auf der Dashboard-Seite.

Unten ist ein weiteres Beispiel, nachdem der neue Typ “ TCP/IP “ mit geschlossenen Ports hinzugefügt wurde, und das Ergebnis ist “ ENCONNREFUSED “ oder Verbindungsfehler, da der Port verweigert/geschlossen wurde.

Fazit
Herzlichen Glückwunsch! Sie haben Uptime-Kuma erfolgreich mit dem Apache-Webserver als Reverse-Proxy installiert und die Bereitstellung von Uptime-Kuma mit SSL Letsencrypt gesichert. In der nächsten Phase können Sie Ihre Hosts hinzufügen und die Benachrichtigung für Vorfälle, bei denen etwas ausfällt, aktivieren.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.