Introduction
Uptime Kuma est l'alternative open-source à UptimeRobot, Pingdom et StatusCake. Il monitore en continu :
- HTTP/HTTPS (avec validation du certificat SSL)
- Ports TCP/UDP ouverts
- Ping ICMP
- Bases de données (MySQL, PostgreSQL, MongoDB, Redis)
- DNS résolus
- Steam game servers
- Docker containers
Le tout avec 90+ canaux de notification et des pages de statut publiques personnalisables.
Prérequis
- VPS Linux avec Docker installé
- Domaine pointant vers le VPS (optionnel mais recommandé)
- Port 3001 accessible
Étape 1 : Lancer Uptime Kuma avec Docker
Créez le volume et le conteneur :
sudo docker volume create uptime-kuma
sudo docker run -d \
--name uptime-kuma \
--restart=always \
-p 3001:3001 \
-v uptime-kuma:/app/data \
louislam/uptime-kuma:latest
Vérifiez que le conteneur tourne :
sudo docker ps | grep uptime-kuma
Étape 2 : Première connexion
Ouvrez votre navigateur :
http://IP_DE_VOTRE_VPS:3001
À la première connexion, créez votre compte administrateur (utilisateur + mot de passe).
Étape 3 : Ajouter un moniteur HTTP
Cliquez sur Add New Monitor.
Champs principaux :
- Monitor Type : HTTP(s)
- Friendly Name :
Mon Site - URL :
https://votre-site.com - Heartbeat Interval : 60 secondes (par défaut)
- Retries : 3 (nombre de tentatives avant déclencher l'alerte)
- Accepted Status Codes : 200-299
Cliquez sur Save. Uptime Kuma commence immédiatement à monitorer.
Étape 4 : Configurer une notification Discord
Settings → Notifications → Setup Notification.
- Notification Type : Discord
- Friendly Name :
Alertes VeryCloud - Discord Webhook URL :
https://discord.com/api/webhooks/XXX/YYY - Cliquez sur Test pour vérifier
- Save
Retournez sur votre moniteur, onglet Notifications, et cochez Alertes VeryCloud.
Étape 5 : Moniteurs avancés
TCP Port
Vérifier qu'un serveur Minecraft répond :
- Monitor Type : TCP Port
- Hostname :
mc.votre-domaine.com - Port :
25565
Ping ICMP
- Monitor Type : Ping
- Hostname :
IP_DU_SERVEUR
Certificat SSL expirant
Sur un moniteur HTTPS, activez Notify when certificate expires et définissez le seuil (ex: 14 jours).
Base de données
- Monitor Type : MySQL/MariaDB
- Connection String :
mysql://user:password@host:3306/database
Étape 6 : Créer une page de statut publique
Status Pages → Add New Status Page.
- Slug :
verycloud→ URL accessible sur/status/verycloud - Title :
Statut VeryCloud - Description :
État en temps réel de nos services - Sélectionnez les moniteurs à afficher
- Customisez les couleurs, le logo
La page est accessible publiquement sans authentification.
Étape 7 : Reverse proxy avec SSL (recommandé)
Configurez Nginx Proxy Manager ou Nginx classique pour exposer Uptime Kuma sur https://status.votre-domaine.com.
Configuration Nginx manuelle :
sudo nano /etc/nginx/sites-available/uptime-kuma
server {
listen 80;
server_name status.votre-domaine.com;
location / {
proxy_pass http://127.0.0.1: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-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Activez et obtenez le SSL :
sudo ln -s /etc/nginx/sites-available/uptime-kuma /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d status.votre-domaine.com
Étape 8 : Sauvegarde
Uptime Kuma stocke tout dans le volume Docker. Pour sauvegarder :
sudo docker stop uptime-kuma
sudo tar -czf uptime-kuma-backup-$(date +%F).tar.gz \
/var/lib/docker/volumes/uptime-kuma/_data
sudo docker start uptime-kuma
Pour automatiser, créez un cron :
sudo crontab -e
0 3 * * * docker stop uptime-kuma && tar -czf /backup/uptime-kuma-$(date +\%F).tar.gz /var/lib/docker/volumes/uptime-kuma/_data && docker start uptime-kuma
Dépannage
Conteneur ne démarre pas
sudo docker logs uptime-kuma --tail 50
Notifications Discord ne fonctionnent pas
Vérifiez que le webhook est valide (pas de typo) et testez avec un curl :
curl -H "Content-Type: application/json" \
-d '{"content":"test"}' \
https://discord.com/api/webhooks/XXX/YYY
Mise à jour
sudo docker pull louislam/uptime-kuma:latest
sudo docker stop uptime-kuma
sudo docker rm uptime-kuma
# Relancez la commande docker run de l'étape 1
Commandes utiles
# Logs en temps réel
sudo docker logs -f uptime-kuma
# Redémarrer
sudo docker restart uptime-kuma
# Mettre à jour
sudo docker pull louislam/uptime-kuma:latest
sudo docker stop uptime-kuma && sudo docker rm uptime-kuma
# (puis docker run de l'étape 1)
# Statistiques
sudo docker stats uptime-kuma
Conclusion
Uptime Kuma vous donne une supervision externe et indépendante de votre infrastructure. Combiné avec Netdata (monitoring interne), vous couvrez tous les angles : si votre VPS tombe complètement, c'est Uptime Kuma (hébergé ailleurs ou sur un autre node) qui vous alerte, alors que Netdata ne pourrait plus communiquer.
Ressources
- Site officiel : https://uptime.kuma.pet
- GitHub : https://github.com/louislam/uptime-kuma
- Liste des notifications : https://github.com/louislam/uptime-kuma/tree/master/server/notification-providers


















