NcStatusCheck
Monitoreo centralizado para múltiples instancias de Nextcloud
NcStatusCheck es una herramienta de monitoreo que te permite seguir el estado de múltiples servidores Nextcloud desde una única interfaz web: versiones de Nextcloud y PHP frente a su umbral de seguridad, fin de vida de la rama, accesibilidad, advertencias de configuración, aplicaciones instaladas, contenedores Docker y vulnerabilidades conocidas.



🎯 Características
Monitoreo
- Tres modos de recolección de datos por servidor: Básico (solo versión de NC), Extendido (datos completos vía la API serverinfo) y Push (datos enviados por la instancia remota)
- Análisis de versiones para Nextcloud y PHP frente a un umbral de seguridad que el cron mantiene sincronizado con los lanzamientos oficiales, con un retardo de gracia (
nc_update_grace_days) para que una instancia solo se marque unos días después de publicarse un parche
- Ciclo de vida de ramas: fin de vida de cada rama de Nextcloud (calendario oficial), próximas fechas de lanzamiento y cuántos de tus servidores ejecutan cada rama
- Seguimiento up/down: accesibilidad actual más un registro acotado de transiciones confirmadas, que alimenta un % de disponibilidad a 30 días y una lista de incidentes
- Expiración del certificado SSL, leída de la sonda HTTPS existente (sin petición adicional)
- Vulnerabilidades conocidas (opcional): avisos de Nextcloud, Collabora y OnlyOffice contrastados con las versiones que tu flota realmente ejecuta
- Auditoría de aplicaciones instaladas: contrasta
occ app:list con la tienda de aplicaciones de Nextcloud (aplicaciones que bloquean actualizaciones o son incompatibles, actualizaciones disponibles, señales de madurez y turbulencia)
- Contenedores Docker: contenedores detenidos, reiniciándose o unhealthy, y actualizaciones de imagen comprobadas contra el catálogo de etiquetas del registro (parche en tu rama, rama más nueva). Cuando varias instancias vigiladas comparten una máquina, los contenedores se atribuyen a su propia instancia
- Alertas proactivas (webhook y/o email): cambios de estado up/down, más señales lentas (expiración SSL, versión vulnerable, sonda Push obsoleta, informe de auditoría crítico, hallazgo de aplicación bloqueante,
occ roto). Una alerta por nueva condición, sin spam de recordatorios
- Pausar un servidor (migración, desmantelamiento): las sondas y alertas se suspenden, la fila permanece visible
- Vigilancia del cliente de escritorio: versión actual, release candidate en curso, ritmo de lanzamiento medido
Panel
- Tabla de flota (Server | Nextcloud | PHP | Health) y tabla de ciclo de vida de ramas una al lado de la otra en pantallas anchas
- Columna Health siguiendo "silencio = todo bien": insignias solo cuando hay algo sobre lo que actuar
- Tarjetas de síntesis: actualizaciones por aplicar, vulnerabilidades, fin de vida de rama, próximos lanzamientos, advertencias activas, aplicaciones, Docker, cliente de escritorio. Cada una abre sus detalles en una ventana
- Vigilancia de flota para aplicaciones e imágenes Docker, ordenada por lo que tienes que hacer: To review, To do, To plan, y un grupo Context plegado
- Filtros por estado de Nextcloud, estado de PHP, estado general (offline, mantenimiento, advertencias, error de sonda, actualizaciones Docker…), imagen Docker y búsqueda de texto
- Etiquetas bajo el nombre de cada servidor, clicables para filtrar (varias etiquetas = todas a la vez): tus propias etiquetas (
client:durand, lab…), más una etiqueta 🖥 que nombra la máquina cuando varias instancias monitoreadas se ejecutan en el mismo servidor (detectado desde Push, script v12+), un color por máquina. Una etiqueta escrita type:value toma el color de su tipo, así que todas las etiquetas client:… comparten un color
- Interfaz FR / EN / DE
Página de detalle
- Mosaicos de estado sobre las pestañas: accesibilidad, disponibilidad a 30 días (lista de incidentes en una ventana), certificado SSL, frescura de cada sonda
- Resumen: veredicto de versión, alertas silenciadas (reconocimientos con su motivo y expiración), resumen de la instancia (PHP, servidor web, base de datos, caché, despliegue y herramientas satélite como la suite ofimática, Talk HPB o pizarra, tal como se ven desde aplicaciones y contenedores), luego problemas agrupados por área
- Pestañas: información técnica, aplicaciones, contenedores Docker, sondas
- Etiquetas bajo la URL, editables en el sitio, con las otras instancias que se ejecutan en la misma máquina
- Cada advertencia puede reconocerse (motivo + expiración opcional)
- Informe de auditoría del servidor cuando la instancia envía su informe mensual
nc-audit.sh
Administración
- Servidores: añade un servidor por su URL (
https:// opcional), luego configura sus sondas en su tarjeta (token de serverinfo con un botón Test, token de Push y generador de script listo para usar), etiquétalo, pausalo o elimínalo
- Hosts compartidos: indica qué stack de Docker compose pertenece a qué instancia cuando varios Nextcloud vigilados comparten una máquina
- Versiones NC / PHP: umbrales de seguridad, reglas de estado, resincronización desde lanzamientos oficiales
- Advertencias de aplicaciones: una lista manual de bugs conocidos
- Notificaciones: la configuración efectiva de alertas (definida en
config.php, mostrada en solo lectura) y un botón de prueba
- Filtrado de IP: genera reglas de allowlist para nginx / Apache / ufw
- Silencios: auditoría de cada reconocimiento en toda la flota, y cuáles todavía ocultan algo
- Modos de recolección: ayuda para las tres sondas
- Botón "Trigger Push" en el panel: pide a cada servidor Push que envíe sus datos en su próxima ejecución del cron
🏗️ Arquitectura