Blog

NcStatusCheck passe un cap : une mise à jour majeure pour superviser vos Nextcloud
Tableau de bord de supervision pour parcs Nextcloud, il centralise sur une seule page l'état de plusieurs instances : versions Nextcloud et PHP, niveau de sécurité par branche, configuration serveur et disponibilité. Contrairement à un monitoring HTTP générique, il connaît le modèle de versions de Nextcloud, interroge l'API et applique des règles d'évaluation spécifiques. Cette version constitue une mise à jour majeure : au-delà du suivi des versions, l'outil agrège désormais disponibilité, audit des applications et état des conteneurs Docker dans une console de supervision unifiée.
Le principe qui ne change pas : silence = tout va bien
La logique de l'outil reste inchangée, et tout en découle : quand tout va bien, l'interface se tait. La colonne « Santé » ne s'allume que lorsqu'une action concrète est requise. Pas d'affichage de voyants verts, pas d'alertes redondantes. Le tableau de bord ne met en avant que les serveurs qui demandent une intervention.
C'est ce qui rend l'outil exploitable en routine plutôt qu'une source d'alertes qu'on finit par filtrer mentalement.
Ce qui arrive avec cette version majeure
Une vraie colonne « Santé » qui agrège tout
Le cœur de la mise à jour, c'est une colonne Santé qui réunit plusieurs signaux, chacun correspondant à une action précise :
- 🔴 Hors ligne : l'instance est injoignable, avec la durée d'indisponibilité.
- ⚠️ Avertissements : N problèmes de configuration détectés.
- 📦 Apps à revoir : N applications bloquantes ou de test laissées en production.
- 🔒 Certificat SSL : expire bientôt (orange à moins de 30 jours, rouge à moins de 7).
- 🔄 Docker : M mises à jour d'images disponibles.
Quand il n'y a rien à signaler, la ligne reste calme. Les cartes de synthèse en haut de page suivent la même logique : elles n'affichent un compteur que lorsqu'il est non nul.
Suivi de disponibilité (mini-uptime)
Une sonde légère vérifie la joignabilité de chaque instance toutes les 5 minutes. Elle est volontairement minimaliste : pas d'historique lourd, pas de page de séries temporelles à maintenir, juste l'état réel (en ligne / hors ligne) et la date du dernier changement. Le badge rouge « Hors ligne » n'apparaît qu'après plusieurs échecs consécutifs, pour éviter les fausses alertes au moindre hoquet réseau. Le retour en ligne, lui, est immédiat.
Expiration des certificats SSL
Le certificat HTTPS est lu pendant la sonde de disponibilité existante, sans requête supplémentaire. Dès qu'une échéance approche, un badge prévient. Concrètement : fini les certificats expirés découverts par un utilisateur qui appelle pour signaler une alerte navigateur.
Audit des applications installées
En mode Push, NcStatusCheck croise les applications installées (occ app:list) avec le catalogue officiel Nextcloud et signale celles qui méritent un coup d'œil : pas de version compatible avec la version NC en cours, pas de version pour la branche suivante (ce qui bloquerait une mise à jour), ou app de test/dev laissée active en production.
Point important : l'outil signale uniquement, il ne désactive jamais rien automatiquement. Il ne peut pas savoir si une app est réellement utilisée, donc il vous met les candidats sous les yeux et vous laissez décider. Les signalements peuvent être acquittés, comme les avertissements de configuration.
Suivi des conteneurs Docker
Toujours en mode Push, l'outil remonte l'état des conteneurs et les mises à jour d'images disponibles directement depuis l'instance distante. Un filtre dédié permet même de retrouver tous les serveurs qui font tourner une image donnée — pratique quand une faille touche une version d'image précise.
Un déploiement pensé pour les flottes
C'est sans doute le changement le plus structurant côté Push. Le script bash de collecte est désormais découpé en deux :
- un cœur générique, strictement identique sur tous les serveurs, qui contient toute la logique ;
- une petite config par instance, qui ne porte que les paramètres spécifiques (URL, slug, commande
occ, options Docker).
Conséquences concrètes : le script est multi-cibles (une même instance peut pousser ses données vers plusieurs moniteurs), il gère plusieurs Nextcloud sur un même hôte sans collision, et mettre à jour la logique sur toute la flotte revient à remplacer un seul fichier. Un playbook Ansible prêt à l'emploi est fourni pour ça.
Et un détail qui compte pour la sécurité : le moniteur reste passif. Il n'envoie jamais de code aux serveurs supervisés. L'ancre de confiance, c'est votre propre accès SSH, pas l'outil de monitoring.
Et toujours
Le reste de ce qui faisait déjà la force de l'outil est là : trois modes de collecte non exclusifs (Basic sans installation, Étendu via l'API serverinfo, Push), repli automatique sur status.php quand l'API est injoignable, seuils de sécurité configurables par branche Nextcloud, vue détaillée par serveur (PHP, OPcache, Redis, base de données, utilisateurs actifs…), récupération automatique des versions officielles et du calendrier des sorties, et une interface en français, anglais et allemand.
Un script d'audit serveur, libre lui aussi
En complément de l'outil, un script bash d'audit de configuration serveur est publié en libre. Il inspecte le serveur web et la base de données (dimensionnement des workers, mémoire PHP, OPcache, réglages MySQL/MariaDB, détection des valeurs laissées par défaut) et produit un rapport des points à revoir.
Ce script vit volontairement à part de NcStatusCheck : il demande un accès local au serveur, là où l'outil de supervision reste à distance et sans privilège. Il est documenté sur sa propre page et reste librement réutilisable.
Libre, et sous AGPL-3
NcStatusCheck est un logiciel libre, publié sous licence AGPL-3. Le code est disponible sur GitLab : vous pouvez l'installer, l'auditer, le modifier et le déployer vous-même. Le choix de l'AGPL n'est pas anodin pour une application web : il garantit que les améliorations restent partagées, y compris en cas d'usage hébergé.
Bientôt : une offre de service autour de l'outil
L'outil est libre, et il le reste. Mais installer proprement une supervision, choisir les bons modes de collecte pour chaque serveur, déployer le script Push sur une flotte ou simplement garder un œil expert sur son parc demande du temps et ce n'est pas le métier de tout le monde.
C'est pourquoi une offre de service autour de NcStatusCheck arrivera prochainement, portée par ézéo, la coopérative qui développe l'outil. L'idée : vous laisser la liberté totale du libre, tout en proposant un accompagnement à celles et ceux qui préfèrent gagner du temps et partir sur des bases saines, de l'installation à la prise en main, jusqu'à un suivi régulier de leur instance.
Les détails seront publiés bientôt. En attendant, le code est déjà là, et il n'attend que vos serveurs.
https://gitlab.com/jp.louvel/ncstatuscheck
NcStatusCheck est développé par ézéo, coopérative spécialisée dans le logiciel libre. Code source sous AGPL-3 sur GitLab.
