Installation · 14 min read · Nov 17, 2025

Comment installer Kuma - Alternative auto-hébergée à Uptime Robot sur Ubuntu 20.04

Uptime-Kuma est un outil de surveillance open-source similaire à “Uptime Robot” écrit en Nodejs. C’est un outil de surveillance auto-hébergé avec un tableau de bord élégant et beau, et il prend en charge plusieurs méthodes de notification. Uptime-Kuma surveillera le temps de disponibilité des hôtes ou des serveurs via les protocoles HTTP(s), TCP et Ping. Si les hôtes ne peuvent pas être atteints via ces protocoles à intervalles réguliers, les hôtes de disponibilité enverront des notifications via Webhooks, Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), etc.

Dans ce guide, vous apprendrez à installer Uptime-Kuma sur un serveur Ubuntu et à utiliser le serveur web Apache comme proxy inverse avec un certificat SSL Let’s Encrypt gratuit devant lui. Pendant l’installation, vous apprendrez également à installer Nodejs via nvm (node version manager).

Prérequis

  • Un serveur Ubuntu 20.04.
  • Un utilisateur avec des privilèges root. Vous utiliserez cet utilisateur pour installer de nouveaux paquets et modifier les paramètres système.

Ajout d’un nouvel utilisateur

La première chose à faire est d’ajouter un nouvel utilisateur au système Ubuntu. Pour des raisons de sécurité, l’application Uptime-Kuma fonctionnera en tant qu’utilisateur non-root.

  1. Ajoutez un nouvel utilisateur en exécutant la commande ci-dessous. Pour cet exemple, nous utiliserons le nom d’utilisateur “ johndoe “. Assurez-vous de changer le nom d’utilisateur par le vôtre.
useradd -m -s /bin/bash johndoe

Options que vous devez connaître :

  • -m = crée automatiquement le répertoire personnel pour le nom d’utilisateur, qui sera disponible sous le répertoire ‘/home’.
  • -s = définit le chemin du shell pour l’utilisateur, la plupart des Linux ont le shell /bin/bash.
  1. Ensuite, exécutez la commande suivante pour définir le mot de passe de l’utilisateur “johndoe”.
passwd johndoe

Maintenant, tapez un nouveau mot de passe fort et répétez-le, puis appuyez sur “ Entrée “ pour confirmer.

  1. Ensuite, ajoutez l’utilisateur “johndoe” au groupe “ sudo “ en utilisant la commande ci-dessous.
usermod -aG sudo johndoe

En ajoutant des utilisateurs au groupe “ sudo “, cela permettra aux utilisateurs d’exécuter la commande “sudo su” et d’obtenir les privilèges root.

Installer NVM (Node Version Manager)

NVM ou Node Version Manager est un outil en ligne de commande pour installer plusieurs versions de nodejs sur un même système. Cet outil vous permet d’installer une version spécifique de nodejs pour vos applications, rendant votre environnement de développement et de déploiement flexible.

Pour cette phase, vous allez installer nvm sous l’utilisateur non-root “johndoe”.

  1. Depuis votre shell root, connectez-vous à l’utilisateur “johndoe” en utilisant la commande suivante.
su - johndoe
  1. Téléchargez et exécutez le script d’installation de nvm comme suit.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

Installer le gestionnaire de version Nodejs ou NVM

  1. Après le succès, rechargez l’environnement bash en utilisant la commande ci-dessous.
source ~/.bashrc
  1. Maintenant, vérifiez l’installation de “ nvm “ en exécutant la commande ci-dessous.
command -v nvm

Si votre installation est réussie, vous verrez le résultat “ nvm “. Sinon, vous ne verrez rien ou un résultat vide.

Maintenant, exécutez la commande nvm comme ci-dessous.

nvm --help

Et vous verrez la page d’aide manuelle de la commande nvm.

Node Version Manager (v0.38.0)  
  
Note:  fait référence à toute chaîne de type version que nvm comprend. Cela inclut:  
  - numéros de version complets ou partiels, commençant par un "v" optionnel (0.10, v0.1.2, v1)  
  - alias par défaut (intégrés) : node, stable, unstable, iojs, system  
  - alias personnalisés que vous définissez avec `nvm alias foo`  
  
 Toute option qui produit une sortie colorée doit respecter l'option `--no-colors`.  
  
Utilisation:  
  nvm --help                                  Afficher ce message  
    --no-colors                               Supprimer la sortie colorée  
  
.....  
  
Note:  
  pour supprimer, effacer ou désinstaller nvm - il suffit de supprimer le dossier `$NVM_DIR` (généralement `~/.nvm`)

Installer la version LTS de Nodejs

Pour installer l’application uptime-Kuma, vous devez installer nodejs >= 14, git, et pm2. Pour ce point, vous allez installer la dernière version LTS de nodejs en utilisant la commande nvm.

  1. Exécutez la commande nvm ci-dessous pour installer la dernière version LTS de nodejs.
nvm install --lts

Une fois l’installation réussie, vous verrez une sortie similaire à celle ci-dessous.

Installation de Nodejs avec NVM

La première version de nodejs que vous installez devient la version par défaut dans votre environnement de développement.

  1. Maintenant, exécutez la commande suivante pour vérifier l’installation de nodejs.
node --version  
npm --version

Si votre installation réussit, vous verrez une sortie similaire à celle ci-dessous.

# version de nodejs  
v14.17.4  
  
# version de npm  
6.14.14

Télécharger et installer Uptime-Kuma

À ce stade, vous êtes prêt à installer l’application Uptime-Kuma.

  1. Clonez le code source d’uptime-Kuma en utilisant la commande git ci-dessous.
git clone https://github.com/louislam/uptime-kuma.git
  1. Après cela, changez le répertoire de travail en “ uptime-kuma/ “ et exécutez la commande npm pour installer tous les paquets nécessaires pour uptime-kuma.
cd uptime-kuma/  
npm run setup

Et vous verrez une sortie similaire à celle ci-dessous.

Installation des paquets pour Uptime-Kuma

Configuration d’Uptime-Kuma avec pm2

Qu’est-ce que pm2 ? C’est un gestionnaire de processus nodejs qui vous aidera à gérer et à maintenir votre application nodejs en vie pour toujours. pm2 a certaines fonctionnalités intégrées qui facilitent le déploiement des applications nodejs, il vous permet de surveiller l’état de votre application, les journaux, et même de configurer le fichier de service pour votre application.

  1. Installez le paquet pm2 en utilisant la commande npm ci-dessous.
npm install pm2
  1. Une fois l’installation terminée, exécutez la commande pm2 ci-dessous pour démarrer l’application uptime-kuma.
pm2 start npm --name uptime-kuma -- run start-server -- --port=3001 --hostname=127.0.0.1

Et vous verrez les messages de sortie comme ci-dessous.

Démarrer Uptime-Kuma avec le gestionnaire de processus pm2

Comme on le voit sur l’image, le nom de l’application “ uptime-kuma “ fonctionne avec le statut “ en ligne “.

  1. Pour vérifier l’état de votre application sur pm2, exécutez les commandes suivantes ci-dessous.

Vérifiez l’état de l’application nodejs.

pm2 status

Vérifiez les journaux de l’application nodejs.

pm2 logs

Vérifier les journaux de l'application pm2

Surveillance en temps réel de l’application nodejs.

pm2 monit

Surveillance en temps réel de l'application pm2

  1. Ensuite, exécutez la commande pm2 suivante pour générer le fichier de service pour l’application uptime-kuma.
pm2 startup

Après cela, vous devez exécuter la commande comme ordonné dans la sortie.

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/johndoe

Assurez-vous d’utiliser la commande “ sudo “ et d’entrer le bon mot de passe pour votre utilisateur afin d’obtenir les privilèges root.

Une fois la commande terminée, vous verrez la sortie suivante.

pm2 génère le fichier de service systemd pour Uptime-Kuma

Comme on le voit sur la capture d’écran, pm2 génère un service systemd basé sur l’utilisateur, pour cet exemple c’est “ pm2-johndoe.service “.

Maintenant, exécutez la commande suivante pour générer et enregistrer l’état de l’application uptime-kuma. Cette commande est importante pour faire en sorte que l’application uptime-kuma fonctionne toujours en arrière-plan, même après le démarrage du système.

pm2 save
  1. Pour vérifier le service ‘ pm2-johndoe’, exécutez la commande ci-dessous.
sudo systemctl is-enabled pm2-johndoe

Vous verrez la sortie enabled, ce qui signifie que l’application uptime-kuma sera automatiquement exécutée après le démarrage du système.

De plus, vous pouvez essayer de redémarrer votre système et de vous reconnecter au serveur, puis vérifier le service uptime-kuma.

sudo systemctl status pm2-johndoe

Vous devriez voir une sortie similaire à celle ci-dessous.

? pm2-johndoe.service - Gestionnaire de processus PM2  
     Chargé: chargé (/etc/systemd/system/pm2-johndoe.service; enabled; vendor preset: enabled)  
     Actif: actif (en cours d'exécution) depuis mar. 10 août 2021 01:52:37 UTC; 3min 57s  
       Docs: https://pm2.keymetrics.io/  
   Main PID: 745 (PM2 v5.1.0: God)  
      Tâches: 34 (limite: 2343)  
     Mémoire: 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  
  
10 août 01:52:36 ubuntu64 pm2[633]: [PM2] Lancement du démon PM2 avec pm2_home=/home/johndoe/.pm2  
10 août 01:52:37 ubuntu64 pm2[633]: [PM2] PM2 a été correctement daemonisé  
10 août 01:52:37 ubuntu64 pm2[633]: [PM2] Résurrection  
10 août 01:52:37 ubuntu64 pm2[633]: [PM2] Restauration des processus situés dans /home/johndoe/.pm2/dump.pm2  
10 août 01:52:37 ubuntu64 pm2[633]: [PM2] Processus /home/johndoe/.nvm/versions/node/v14.17.4/bin/npm restauré

Le “ pm2-johndoe.service “ est en cours d’exécution au démarrage du système.

Configurer Apache comme proxy inverse

Pour ce guide, vous allez installer et configurer le serveur web Apache comme proxy inverse pour l’application uptime-Kuma.

  1. Exécutez la commande suivante pour installer les paquets du serveur web apache.
sudo apt install apache2

Tapez “y” et appuyez sur “ Entrée “ pour installer le serveur web apache.

  1. Après cela, activez certains modules apache en utilisant la commande ci-dessous.
sudo a2enmod ssl proxy proxy_ajp proxy_wstunnel proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html
  1. Ensuite, créez une nouvelle configuration de virtual-host ‘ uptime-kuma.conf ‘ en utilisant la commande de l’éditeur nano ci-dessous.
sudo nano /etc/apache2/sites-available/uptime-kuma.conf

Collez la configuration suivante dans votre terminal et changez le nom de domaine “ uptime.example.net “ par votre domaine tel que “ 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]  

Appuyez sur “ Ctrl+x “ et tapez “ Y “ pour enregistrer la configuration.

  1. Maintenant, activez la configuration de virtual-host apache “uptime-kuma” en utilisant la commande ci-dessous.
sudo a2ensite uptime-kuma

Après cela, exécutez la commande suivante pour vérifier la configuration apache et vous assurer que vous n’avez pas d’erreur.

sudo apachectl configtest
  1. Maintenant, appliquez la nouvelle configuration en redémarrant le service apache en utilisant la commande ci-dessous.
sudo systemctl restart apache2

Configurer Apache comme proxy inverse pour uptime-kuma

Sécuriser Uptime-kuma avec SSL Letsencrypt

Pour sécuriser l’accès à Uptime-Kuma, vous allez configurer le SSL de Letsencrypt pour le serveur web apache.

  1. Tout d’abord, installez l’outil certbot en exécutant la commande suivante.
sudo apt install python3-certbot-apache

Tapez “ y “ et appuyez sur “ Entrée “ pour commencer l’installation.

  1. Après l’installation, générez le SSL Let’s encrypt en utilisant la commande certbot comme ci-dessous.
sudo certbot --apache yourdomain.com

Tapez votre adresse e-mail pour vous inscrire à Letsencrypt et appuyez sur “ Entrée “ pour continuer. Letsencrypt enverra des e-mails à votre adresse e-mail chaque fois que vos certificats SSL expirent.

Enregistrement du journal de débogage dans /var/log/letsencrypt/letsencrypt.log
Plugins sélectionnés : Authenticator apache, Installer apache
Entrez l’adresse e-mail (utilisée pour les renouvellements urgents et les avis de sécurité) (Entrez ‘c’ pour
cancel): [email protected]


Pour les CGU de Letsencrypt (Conditions d'utilisation), tapez " A " pour accepter et appuyez sur " Entrée " pour continuer.
                                                                                • (A)ccepter/(C)annuler: A
                                                                                  
                                                                                  Pour le partage d'e-mail avec l'EFF (Electronic Frontier Foundation), vous pouvez taper " Y " pour oui et " N " pour non. Pour cet exemple, nous ne partagerons pas d'adresse e-mail avec l'EFF.
                                                                                  
                                                                                  Seriez-vous disposé à partager votre adresse e-mail avec l’Electronic Frontier
                                                                                  Foundation, un partenaire fondateur du projet Let’s Encrypt et l’organisation à but non lucratif
                                                                                  qui développe Certbot ? Nous aimerions vous envoyer des e-mails sur notre travail
                                                                                  encryptant le web, les nouvelles de l’EFF, les campagnes et les moyens de soutenir la liberté numérique.
                                                                                • (Y)es/(N)o: N
                                                                                  
                                                                                  Maintenant, l'outil certbot générera SSL Letsencrypt pour le nom de domaine Uptime-Kuma. De plus, il ajoutera quelques configurations supplémentaires pour la configuration de l'hôte virtuel apache.
                                                                                  
                                                                                  Vous serez invité à configurer la redirection automatique de HTTP vers HTTPS. Tapez le numéro "2" pour configurer la redirection automatique de apache de HTTP vers HTTPS et appuyez sur " Entrée ".
                                                                                  
                                                                                  Veuillez choisir si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS, en supprimant l'accès HTTP.  
                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
                                                                                  1: Pas de redirection - Ne faites aucun changement supplémentaire à la configuration du serveur web.  
                                                                                  2: Rediriger - Faites en sorte que toutes les demandes redirigent vers un accès HTTPS sécurisé. Choisissez cela pour  
                                                                                  les nouveaux sites, ou si vous êtes sûr que votre site fonctionne sur HTTPS. Vous pouvez annuler ce  
                                                                                  changement en modifiant la configuration de votre serveur web.  
                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
                                                                                  Sélectionnez le numéro approprié [1-2] puis [entrer] (appuyez sur 'c' pour annuler): 2

Une fois le processus de déploiement réussi, vous verrez une sortie similaire à celle ci-dessous.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
Félicitations ! Vous avez activé avec succès https://uptime.example.net  
  
Vous devriez tester votre configuration à :  
https://www.ssllabs.com/ssltest/analyze.html?d=uptime.example.net  
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
NOTES IMPORTANTES :  
 - Félicitations ! Votre certificat et votre chaîne ont été enregistrés à :  
   /etc/letsencrypt/live/uptime.example.net/fullchain.pem  
   Votre fichier clé a été enregistré à :  
   /etc/letsencrypt/live/uptime.example.net/privkey.pem  
   Votre certificat expirera le 2021-10-10. Pour obtenir une nouvelle version ou une version modifiée  
   de ce certificat à l'avenir, exécutez simplement certbot à nouveau  
   avec l'option "certonly". Pour renouveler *tous* vos certificats de manière non interactive, exécutez "certbot renew"  
 - Vos informations d'identification de compte ont été enregistrées dans votre répertoire de configuration Certbot à /etc/letsencrypt. Vous devriez faire une  
 sauvegarde sécurisée de ce dossier maintenant. Ce répertoire de configuration contiendra également des certificats et des clés privées obtenus par Certbot, donc  
 faire des sauvegardes régulières de ce dossier est idéal.  
 - Si vous aimez Certbot, veuillez envisager de soutenir notre travail en :  
  
   Faisant un don à ISRG / Let's Encrypt :   https://letsencrypt.org/donate  
   Faisant un don à l'EFF :                    https://eff.org/donate-le  
  
 - Nous n'avons pas pu vous abonner à la liste de diffusion de l'EFF car votre  
   adresse e-mail semble invalide. Vous pouvez réessayer plus tard en  
   visitant https://act.eff.org.

Vérifier l’installation d’Uptime-Kuma

  1. Ouvrez votre navigateur web et tapez l’URL d’installation d’Uptime-Kuma dans la barre d’adresse.

https://uptime.example.net/

Vous serez redirigé vers la connexion sécurisée HTTPS.

  1. Créez un nouvel utilisateur administrateur pour Uptime-kuma sur la première page. Tapez votre utilisateur administrateur et votre mot de passe, puis cliquez sur le bouton “ Créer “.

Créer un utilisateur administrateur uptime-kuma

  1. Après cela, connectez-vous avec votre nouveau nom d’utilisateur et mot de passe, puis cliquez sur le bouton “ Connexion “.

page de connexion uptime-kuma

Maintenant, vous verrez le tableau de bord d’uptime-kuma.

  1. Pour ajouter un nouvel hôte à la surveillance, cliquez sur le bouton “ Ajouter un nouveau moniteur “.

tableau de bord Uptime-kuma ajouter moniteur

  1. Pour cet exemple, vous allez surveiller le site web, donc choisissez le “ Type de moniteur “ comme “ HTTP(s) “, tapez l’adresse URL du site web, cliquez sur le “ Configurer la notification “ pour le support de notification, puis cliquez sur le bouton “ Enregistrer “ en bas de la page.

Ajouter un hôte à surveiller uptime-kuma

  1. Vous serez redirigé vers le tableau de bord uptime-Kuma et verrez votre hôte sur la page du tableau de bord.

tableau de bord Uptime-kuma

Voici un autre exemple après avoir ajouté le nouveau type “ TCP/IP “ avec des ports fermés, et le résultat est “ ENCONNREFUSED “ ou erreur de connexion car le port est refusé/fermé.

tableau de bord Uptime-kuma surveillance

Conclusion

Félicitations ! Vous avez installé avec succès Uptime-Kuma avec le serveur web Apache comme proxy inverse et sécurisé le déploiement d’Uptime-Kuma avec SSL Letsencrypt. Pour la prochaine phase, vous pouvez ajouter vos hôtes et activer la notification pour tout incident de panne.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.