Ce qu'Uptime Kuma surveille
Uptime Kuma interroge vos services à intervalle régulier : une page web (avec, si vous voulez, la présence d'un mot sur la page), un port TCP, un nom DNS, un ping, un conteneur Docker, la date d'expiration d'un certificat. Dès qu'un test échoue, il envoie une alerte par le canal de votre choix, et une autre quand tout revient.
Il consomme peu : le VPS Mini (1 vCore, 1 Go) suffit pour surveiller des dizaines de services. Choisissez un VPS KVM pour l'installer avec Docker.
Le point IPv6
Nos VPS n'ont qu'une adresse IPv6. Uptime Kuma joint donc directement les services qui ont l'IPv6. Pour les autres, et pour certaines notifications (les webhooks Discord, par exemple, ne sont joignables qu'en IPv4), configurez d'abord un service NAT64/DNS64 comme dans le guide GitHub en IPv6. Les tests HTTP et TCP passent alors sans problème. Les pings vers une adresse IPv4 peuvent ne pas fonctionner selon le service NAT64 : préférez un test HTTP ou TCP pour ces cibles.
1. Installer Docker
Suivez notre guide Docker sur un VPS IPv6 : installation, NAT64 et réglage IPv6 de Docker. Vérifiez qu'un conteneur sort bien sur Internet avant de continuer.
2. Lancer Uptime Kuma
Créez un dossier et un fichier docker-compose.yml :
mkdir -p /srv/uptime-kuma && cd /srv/uptime-kuma
services:
kuma:
image: louislam/uptime-kuma:2
restart: unless-stopped
volumes:
- data:/app/data
networks: [mon]
caddy:
image: caddy:2
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy:/data
networks: [mon]
networks:
mon:
enable_ipv6: true
volumes:
data:
caddy:
Uptime Kuma n'est pas publié directement sur Internet : c'est Caddy qui s'en charge, en HTTPS.
3. Le HTTPS avec Caddy
Créez un enregistrement AAAA, par exemple status.mondomaine.fr, vers l'adresse IPv6 du VPS, puis le fichier Caddyfile :
status.mondomaine.fr {
reverse_proxy kuma:3001
}
Caddy obtient et renouvelle seul un certificat Let's Encrypt. Pour que la page de statut soit aussi visible des internautes en IPv4, passez le domaine par Cloudflare comme expliqué dans le guide du VPS IPv6.
docker compose up -d
Ouvrez https://status.mondomaine.fr tout de suite et créez le compte administrateur : tant qu'il n'existe pas, n'importe qui pourrait le créer à votre place.
4. Ajouter une sonde et une alerte
- Cliquez sur Ajouter une sonde, choisissez le type HTTP(s), donnez l'adresse du site et un intervalle (60 secondes est un bon départ).
- Dans Paramètres, puis Notifications, ajoutez un canal : un webhook Discord, un bot Telegram, un serveur ntfy ou un compte e-mail SMTP.
- Envoyez une notification de test, puis activez ce canal sur vos sondes.
- Si vous le souhaitez, créez une page de statut publique qui regroupe vos services, à partager avec vos utilisateurs.
Mettre à jour et sauvegarder
cd /srv/uptime-kuma
docker compose pull
docker compose up -d
Toute la configuration et l'historique sont dans le volume data. Pour une sauvegarde, utilisez la fonction d'export des paramètres, ou copiez le volume sur une autre machine, conteneur arrêté.