Uptime Kuma : Supervisez vos sites et services en toute simplicité

Publié le 18/05/2025

Monitoring
Docker

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

  1. Créez votre compte administrateur
  2. Ajoutez votre premier service à surveiller :
    • URL ou IP
    • Type : HTTP(s), ping, TCP, DNS, etc.
    • Fréquence (par défaut 60 secondes)
  3. 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 :

  1. Allez dans l'onglet Status Pages
  2. Cliquez sur Créer une page publique
  3. Personnalisez le nom, thème, icônes, etc.
  4. 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

OutilTypeHébergementAlertesPage de statutCoût
Uptime KumaOpen SourceAuto-hébergé✅ Oui✅ OuiGratuit
UptimeRobotSaaSCloud✅ Oui✅ Oui (payant)Freemium
Better UptimeSaaSCloud✅ Oui✅ OuiPayant
PingdomSaaSCloud✅ Oui✅ OuiPayant

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

  1. Facile à déployer
  2. 100% open-source
  3. Alertes puissantes multi-canaux
  4. Statut public professionnel
  5. 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.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets.

Contactez-nous

Articles similaires qui pourraient vous intéresser