Deuxième round de la série. Cette fois on reste dans un registre un peu plus "infra" que la semaine dernière : trois petits outils qui, ensemble, forment une base de supervision pour un homelab, sans dépendre d'un service tiers. Un pour savoir si tes services sont en vie, un pour savoir si tes images Docker ont besoin d'une mise à jour, et un pour te prévenir des deux sans passer par email ou par une appli commerciale bardée de trackers.

Uptime Kuma — la page de statut que tout homelab mérite

Uptime Kuma, c'est probablement l'outil le plus rapide à mettre en place de toute cette série. Tu lui donnes une URL, un port, ou une commande, et il te dit si c'est up ou down, avec un historique de disponibilité, des temps de réponse, et une jolie page de statut publique si t'as envie de la partager. Ça remplace direct UptimeRobot ou Pingdom, sans la limite de checks et sans que ton uptime parte alimenter les stats commerciales de quelqu'un d'autre.

Ce qui est bien pensé, c'est le nombre de types de checks supportés : HTTP classique, mais aussi TCP, DNS, ping, certificats SSL qui vont expirer, requêtes Docker directement sur le socket, et même des checks custom en JavaScript si t'as un besoin bizarre. Les notifications partent vers une centaine d'intégrations différentes — dont Gotify, tiens donc.

Le seul truc auquel faire gaffe, c'est la résolution DNS interne si tu montes tes services derrière un reverse proxy avec des domaines internes : si ton conteneur Uptime Kuma résout ton domaine vers une IP publique au lieu de l'IP interne, tu vas avoir des faux positifs en pagaille. Un bon réflexe c'est de fixer le DNS du conteneur vers ton resolver interne plutôt que de laisser le comportement par défaut.

What's Up Docker — savoir ce qui doit être mis à jour, sans se faire de surprise

What's Up Docker, ou WUD pour les intimes, répond à un problème tout bête : sur une stack avec cinquante conteneurs, comment tu sais lesquels ont une nouvelle version dispo sans checker Docker Hub à la main un par un ? WUD scanne périodiquement tes conteneurs, compare les digests des images avec les registres (Docker Hub, GHCR, Quay, etc.), et te dit lesquels sont à jour et lesquels ne le sont pas.

Ce qui le distingue de Watchtower, son concurrent le plus connu, c'est qu'il est pensé pour t'informer plutôt que pour agir tout seul dans ton dos. Par défaut il ne met rien à jour automatiquement, il liste juste ce qui a bougé, avec une interface web propre pour visualiser l'ensemble de ta flotte de conteneurs d'un coup d'œil. Tu peux ensuite brancher des triggers pour automatiser (webhook, notification, ou carrément un update automatique si tu es du genre confiant), mais la philosophie de base c'est "je te préviens, tu décides".

C'est le genre d'outil qui devient vite indispensable une fois que ta stack dépasse la dizaine de services, parce qu'à ce stade-là, plus personne ne fait ça manuellement de façon fiable.

Gotify — des notifications push, sans passer par les GAFAM

Gotify, c'est la brique la plus simple des trois, et probablement celle que t'utilises sans même y penser une fois qu'elle est en place. C'est un petit serveur de notifications push : n'importe quel service peut lui envoyer un message via une requête HTTP toute bête, et l'appli mobile (ou le client desktop) te l'affiche en push, exactement comme une notif Telegram ou Pushover, sauf que ça tourne entièrement sur ton serveur.

L'intérêt, c'est que ça devient le point de sortie unique de toute ta stack de supervision. Uptime Kuma qui détecte un service down, Falco qui repère un comportement suspect, un script de backup qui a foiré, ton pipeline CI qui casse — tout ça peut taper sur l'API Gotify et finir dans une seule appli sur ton téléphone. Pas besoin de créer un bot Telegram, pas besoin de dépendre d'un service tiers qui pourrait fermer boutique. L'API est volontairement minimaliste (un token, un endpoint POST, un titre, un message, une priorité), ce qui la rend facile à brancher partout, même dans un script bash de trois lignes.

Seule vraie limite : contrairement à Pushover ou ntfy, il faut installer l'appli Gotify spécifiquement (pas de topics publics façon ntfy où tu peux t'abonner sans rien configurer côté serveur). Mais pour un usage perso où c'est toi qui contrôles les deux bouts, c'est largement suffisant.

Petit message en plus

Pris séparément, ces trois outils sont sympas. Mis ensemble, ça donne une vraie boucle de supervision : Uptime Kuma surveille, WUD te dit ce qui doit être mis à jour, et Gotify relaie tout ça sur ton téléphone en push. Zéro dépendance à un service cloud tiers, zéro abonnement, et t'as la main complète sur ce qui déclenche une alerte ou pas.

Liens utiles :

Uptime Kuma : https://uptimekuma.co/
What's Up Docker : https://getwud.github.io/wud/
Gotify : https://gotify.net/

La Boîte à Outils FOSS #2 : Uptime Kuma, What's Up Docker, Gotify