Pour installer l'outil de surveillance Uptime Kuma, vous devez au préalable vous créer un compte Hetzner et posséder un nom de domaine. Ces deux critères réunis, let's go.
Connectez-vous au service Hetzner Cloud.
Créer votre projet si ce n'est déjà fait. Un projet regroupe un ensemble de serveurs.
Si vous éprouvez des difficultés avec les clés SSH sur Hetzner, peut-être bien que cet article pourrait vous aider : Se connecter en SSH sur un server cloud Hetzner.
Sélectionner le type de serveur que vous désirez en fonction de votre budget et de la puissance que vous désirez.
La clé SSH que vous avez renseigné précédemment devrait être sélectionné par défaut.
Nommer et créer votre nouveau serveur.
Récupérer l'adresse IP de votre serveur sur votre interface Hetzner.
Ouvrir un terminal (invite de commandes) et connecter en SSH à votre serveur :
ssh root@ipduserveur
apt update
apt upgrade
curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
apt update
apt install nodejs
node -v; npm -v
adduser master
usermod -aG sudo master
su - master
mkdir uptime-kuma
cd uptime-kuma
sudo apt install git
git clone https://github.com/louislam/uptime-kuma.git .
Noter le point à la fin de la commande pour éviter de recréer un dossier uptime-kume ;)
npm run setup
sudo npm install pm2 -g
pm2 -v
Vous devriez avoir un beau logo et un numéro de version.
pm2 start server/server.js --name kuma
pm2 restart kuma
pm2 logs kuma
sudo apt install nginx
sudo systemctl status nginx
sudo nano /etc/nginx/sites-enabled/status.yourdomain.com.conf
server {
listen 80;
server_name status.yourdomain.com;
location / {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
location ~ /.well-known {
alias /var/www/html;
}
}
sudo nginx -t
sudo systemctl restart nginx
sudo apt install python3-certbot-nginx -y
sudo certbot certonly -d status.yourdomain.com
Première question, sélectionner 1 pour NGINX
Deuxième question, saisir votre e-mail sur lequel vous allez recevoir vos notifications Let’s Encrypt
Troisième question, saisir y pour accepter les conditions générales
Quatrième question, saisir n pour ne pas recevoir la newsletter de Let’s Encrypt. Sauf si vous le souhaitez
Votre certificat a été généré avec succès.
Copier / coller les lignes suivantes :
Certificate is saved at: /etc/letsencrypt/live/status.yourdomain.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/status.yourdomain.com/privkey.pem
sudo nano /etc/nginx/sites-enabled/status.yourdomain.com.conf
server {
listen 443 ssl http2;
server_name status.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/status.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/status.yourdomain.com/privkey.pem;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://localhost:3001/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
server {
listen 80;
server_name status.yourdomain.com;
return 301 https://status.yourdomain.com$request_uri;
}
sudo nginx -t
sudo systemctl restart nginx
Vous devriez pourvoir accéder à votre uptime kuma : https://status.yourdomain.com, redirection vers https comprise ;)
su - master
cd uptime-kuma
Dépôt Git : https://github.com/louislam/uptime-kuma
Vous pouvez voir la dernière version également après le fetch.
git fetch --all
git checkout 1.23.6 --force
npm install --production
npm run download-dist
pm2 restart kuma
enjoy ^^