Uptime Kuma est une solution de monitoring open-source qui permet de surveiller facilement vos sites web, API, ports, serveurs ou services réseau. Similaire à UptimeRobot mais auto-hébergée, elle est idéale pour superviser l'état de vos infrastructures en temps réel avec alertes configurables.
Pourquoi choisir Uptime Kuma ?
- 🟢 Interface moderne, simple et responsive
- 🔧 Déploiement en 2 minutes avec Docker
- 📡 Surveillance HTTP(s), ping, TCP, DNS, etc.
- 📣 Alertes via email, Discord, Telegram, Webhook…
- 🌐 Page de statut publique pour vos clients
- 🧩 Open-source, sans limitations
Prérequis
- Un serveur Debian 11 ou 12
- Docker et Docker Compose installés
- Un nom de domaine (optionnel mais recommandé)
- Un accès root ou sudo
Installation via Docker
mkdir -p ~/uptime-kuma && cd ~/uptime-kuma
Créez un fichier docker-compose.yml
:
version: '3'
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
restart: always
ports:
- "3001:3001"
volumes:
- ./data:/app/data
Puis lancez :
docker compose up -d
Accédez à l'interface : 👉 http://<votre-ip>:3001
Configuration initiale
- Créez votre compte administrateur
- Ajoutez votre premier service à surveiller :
- URL ou IP
- Type : HTTP(s), ping, TCP, DNS, etc.
- Fréquence (par défaut 60 secondes)
- Configurez les alertes : Email, Discord, Telegram…
Exemple : Surveillance HTTP
Nom : Site Web Principal
Type : HTTP(s)
Adresse : https://monsite.com
Intervalle : 60 secondes
Alerte : Discord + Email
Ajouter une page de statut publique
Uptime Kuma permet de générer une page publique listant tous vos services surveillés :
- Allez dans l'onglet Status Pages
- Cliquez sur Créer une page publique
- Personnalisez le nom, thème, icônes, etc.
- Partagez l'URL à vos clients :
Exemple :
https://status.mondomaine.com
Sécurisation avec HTTPS
Installez Nginx + Certbot pour activer HTTPS :
sudo apt install nginx certbot python3-certbot-nginx
Configuration Nginx complète avec SSL :
# Redirection HTTP vers HTTPS
server {
listen 80;
server_name status.mondomaine.com;
return 301 https://$server_name$request_uri;
}
# Configuration HTTPS
server {
listen 443 ssl http2;
server_name status.mondomaine.com;
# Configuration SSL
ssl_certificate /etc/letsencrypt/live/status.mondomaine.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/status.mondomaine.com/privkey.pem;
# Paramètres SSL recommandés
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
# Headers de sécurité
add_header Strict-Transport-Security "max-age=63072000" always;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
# Proxy vers Uptime Kuma
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;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
Générez le certificat SSL avec Certbot :
sudo certbot --nginx -d status.mondomaine.com
Vérifiez la configuration Nginx :
sudo nginx -t
sudo systemctl reload nginx
Pour le renouvellement automatique des certificats, ajoutez une tâche cron :
sudo crontab -e
# Ajoutez cette ligne
0 0 * * * certbot renew --quiet
Sauvegarde et maintenance
# Sauvegarde de la base de données
tar -czf uptime_kuma_backup_$(date +%Y%m%d).tar.gz ./data
# Mise à jour
docker compose pull
docker compose up -d
Comparaison avec d'autres solutions
Outil | Type | Hébergement | Alertes | Page de statut | Coût |
Uptime Kuma | Open Source | Auto-hébergé | ✅ Oui | ✅ Oui | Gratuit |
UptimeRobot | SaaS | Cloud | ✅ Oui | ✅ Oui (payant) | Freemium |
Better Uptime | SaaS | Cloud | ✅ Oui | ✅ Oui | Payant |
Pingdom | SaaS | Cloud | ✅ Oui | ✅ Oui | Payant |
Cas d'usage recommandés
- Monitoring de sites e-commerce
- Supervision d'API métiers ou SaaS
- Vérification de services mail, DNS ou TCP
- Présentation d'un SLA client via page publique
- Alternative 100% open-source à UptimeRobot
Avantages clés d'Uptime Kuma
- Facile à déployer
- 100% open-source
- Alertes puissantes multi-canaux
- Statut public professionnel
- Léger, compatible avec petits serveurs
Conclusion
Uptime Kuma est une solution complète, gratuite et simple à mettre en œuvre pour surveiller vos services et informer vos utilisateurs. Si vous cherchez une alternative à UptimeRobot, totalement sous votre contrôle, c'est le bon choix.