NcStatusCheck
Surveillance centralisée de plusieurs instances Nextcloud
NcStatusCheck est un outil de surveillance qui vous permet de suivre l'état de santé de plusieurs serveurs Nextcloud depuis une interface web unique : versions de Nextcloud et de PHP par rapport à leur seuil de sécurité, fin de vie des branches, accessibilité, avertissements de configuration, applications installées, conteneurs Docker et vulnérabilités connues.



🎯 Fonctionnalités
Surveillance
- Trois modes de collecte de données par serveur : Basique (version NC uniquement), Étendu (données complètes via l'API serverinfo) et Push (données envoyées par l'instance distante)
- Analyse des versions de Nextcloud et de PHP par rapport à un seuil de sécurité que le cron maintient synchronisé avec les versions officielles, avec un délai de grâce (
nc_update_grace_days) afin qu'une instance ne soit signalée que quelques jours après la publication d'un correctif
- Cycle de vie des branches : fin de vie de chaque branche Nextcloud (calendrier officiel), dates des prochaines versions, et combien de vos serveurs exécutent chaque branche
- Suivi up/down : accessibilité actuelle plus un journal borné des transitions confirmées, qui alimente un pourcentage de disponibilité sur 30 jours et une liste d'incidents
- Expiration du certificat SSL, lue depuis la sonde HTTPS existante (aucune requête supplémentaire)
- Vulnérabilités connues (opt-in) : avis Nextcloud, Collabora et OnlyOffice mis en correspondance avec les versions réellement exécutées par votre flotte
- Audit des applications installées : recoupe
occ app:list avec l'app store Nextcloud (applications bloquant les mises à jour ou incompatibles, mises à jour disponibles, signaux de maturité et de turbulence)
- Conteneurs Docker : conteneurs arrêtés, en redémarrage ou unhealthy, et mises à jour d'images vérifiées par rapport au catalogue de tags du registre (correctif dans votre branche, branche plus récente). Lorsque plusieurs instances surveillées partagent une machine, les conteneurs sont attribués à leur propre instance
- Alertes proactives (webhook et/ou e-mail) : changements d'état up/down, plus signaux lents (expiration SSL, version vulnérable, sonde Push obsolète, rapport d'audit critique, constat d'application bloquante,
occ cassé). Une alerte par nouvelle condition, pas de spam de rappels
- Mettre en pause un serveur (migration, décommissionnement) : les sondes et alertes sont suspendues, la ligne reste visible
- Surveillance du client de bureau : version actuelle, release candidate en cours, rythme de publication mesuré
Tableau de bord
- Table de la flotte (Serveur | Nextcloud | PHP | Santé) et table du cycle de vie des branches côte à côte sur écrans larges
- Colonne Santé suivant le principe « silence = tout va bien » : badges uniquement lorsqu'il y a quelque chose à traiter
- Cartes de synthèse : mises à jour à appliquer, vulnérabilités, fin de vie de branche, prochaines versions, avertissements actifs, applications, Docker, client de bureau. Chacune ouvre ses détails dans une fenêtre
- Surveillance de la flotte pour les applications et les images Docker, triée selon ce que vous avez à faire : À examiner, À faire, À planifier, et un groupe Contexte replié
- Filtres par statut Nextcloud, statut PHP, statut global (hors ligne, maintenance, avertissements, erreur de sonde, mises à jour Docker…), image Docker et recherche textuelle
- Tags sous chaque nom de serveur, cliquables pour filtrer (plusieurs tags = tous à la fois) : vos propres tags (
client:durand, lab…), plus un tag 🖥 nommant la machine lorsque plusieurs instances surveillées tournent sur le même serveur (détecté depuis Push, script v12+), une couleur par machine. Un tag écrit type:value prend la couleur de son type, ainsi tous les tags client:… partagent une même couleur
- Interface FR / EN / DE
Page de détail
- Tuiles d'état au-dessus des onglets : accessibilité, disponibilité sur 30 jours (liste des incidents dans une fenêtre), certificat SSL, fraîcheur de chaque sonde
- Vue d'ensemble : verdict de version, alertes mises en sourdine (acquittements avec leur motif et leur expiration), résumé de l'instance (PHP, serveur web, base de données, cache, déploiement, et outils satellites tels que la suite bureautique, Talk HPB ou le tableau blanc, tels que vus depuis les applications et les conteneurs), puis problèmes groupés par domaine
- Onglets : informations techniques, applications, conteneurs Docker, sondes
- Tags sous l'URL, modifiables sur place, avec les autres instances tournant sur la même machine
- Chaque avertissement peut être acquitté (motif + expiration facultative)
- Rapport d'audit du serveur lorsque l'instance envoie son rapport mensuel
nc-audit.sh
Administration
- Serveurs : ajouter un serveur par son URL (
https:// facultatif), puis configurer ses sondes sur sa fiche (token serverinfo avec un bouton Test, token Push et générateur de script prêt à l'emploi), le taguer, le mettre en pause ou le supprimer
- Hôtes partagés : indiquer quelle stack Docker compose appartient à quelle instance lorsque plusieurs Nextcloud surveillés partagent une machine
- Versions NC / PHP : seuils de sécurité, règles de statut, resynchronisation depuis les versions officielles
- Avertissements d'applications : une liste manuelle de bugs connus
- Notifications : la configuration effective des alertes (définie dans
config.php, affichée en lecture seule) et un bouton de test
- Filtrage IP : génère des règles d'allowlist nginx / Apache / ufw
- Silences : audit de chaque acquittement à travers la flotte, et lesquels masquent encore quelque chose
- Modes de collecte : aide pour les trois sondes
- Bouton « Trigger Push » sur le tableau de bord : demande à chaque serveur Push d'envoyer ses données lors de sa prochaine exécution cron
🏗️ Architecture