Saltar al contenido principal

Integración domótica Nextcloud, gratuita y de código abierto

Integración Nextcloud para Gladys Assistant

Supervise su Nextcloud: actualizaciones, usuarios activos, espacio libre, archivos, carga.

Nextcloud es la nube autoalojada de muchos hogares: archivos, fotos, calendarios y contactos en su propio servidor. Esta integración supervisa su Nextcloud desde Gladys, solo lectura, a través de su API de supervisión (la aplicación «Monitoring», serverinfo, incluida y activada con Nextcloud): si está en línea, si espera una actualización, cuánto espacio queda, quién la usa. Las escenas pueden reaccionar cuando sale una nueva versión de Nextcloud o de sus aplicaciones. Un widget del panel lo resume todo. Todo se queda en su red local.

Probada con un Nextcloud 32 real (32.0.9, SQLite) por las pruebas automáticas y durante el desarrollo; aún no en una instalación real de Gladys. Sus comentarios son bienvenidos en las issues.

Lo que necesita​

  • Gladys Assistant 5.1.0 o posterior.
  • Nextcloud con la aplicación Monitoring (serverinfo) activada: lo está por defecto. Sirve cualquier versión aún mantenida; la carga del sistema requiere Nextcloud 28 o posterior.
  • Nextcloud accesible desde la máquina de Gladys (la dirección que escribe en su navegador en casa).
  • Uno de los dos accesos siguientes. Nunca su contraseña principal.

Primeros pasos​

1. Dar acceso a Gladys​

Elija uno de los dos:

  • Un token de serverinfo (recomendado): un secreto de su elección que solo abre la API de supervisión, y ninguna cuenta. Genere un texto aleatorio largo (un gestor de contraseñas lo hace) y defínalo en el servidor con occ, la línea de comandos de Nextcloud (el comando también aparece al final de Configuración de administración → Sistema):

    occ config:app:set serverinfo token --value <su-token>

    Con Docker: docker exec -u www-data <contenedor> php occ config:app:set serverinfo token --value <su-token>. En Nextcloud AIO: docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set serverinfo token --value <su-token>.

  • Una cuenta de administrador y una contraseña de aplicación: la API de supervisión está reservada a los miembros del grupo admin. Inicie sesión como administrador, abra Configuración personal → Seguridad → Dispositivos y sesiones, escriba Gladys como nombre de aplicación y haga clic en Crear nueva contraseña de aplicación. Cópiela: Nextcloud solo la muestra una vez. Puede revocarla allí en cualquier momento, sin tocar su contraseña.

2. Configurar la integración​

En Gladys, Integraciones → Nextcloud → Configuración:

  • Dirección: la dirección de su Nextcloud, como en su navegador, con su ruta si la tiene: https://cloud.example.com, http://192.168.1.20:8080, https://example.org/nextcloud. Un enlace copiado como https://cloud.example.com/index.php/apps/files/ también se entiende. Una redirección de HTTP a HTTPS en la misma dirección se sigue; una redirección a otra dirección nunca (sus credenciales irían allí).
  • Token de serverinfo: el token definido arriba, o bien:
  • Cuenta de administrador y Contraseña de aplicación: el usuario de un administrador y la contraseña de aplicación creada arriba. Si el token y la cuenta están rellenados, se usa el token.
  • Nombre (opcional): el nombre del dispositivo en Gladys; vacío, Nextcloud.
  • Aceptar certificados autofirmados: márquelo para una dirección HTTPS cuyo certificado no está firmado por una autoridad (un NAS, un nombre local). Solo para su propio servidor.
  • Intervalo de actualización: de 1 minuto (por defecto) a 15 minutos.
  • Idioma de los nombres y textos: los nombres de las funciones al añadir el dispositivo, y los textos del dispositivo (francés por defecto).

Guarde y luego Probar la conexión: se lee Nextcloud y se muestra el resultado (versión, actualización, usuarios, archivos, espacio libre, y cómo se ha leído).

3. Añadir el dispositivo​

Abra la pestaña Descubrir de la integración y haga clic en Añadir a Gladys en el dispositivo Nextcloud.

El dispositivo​

Un dispositivo por Nextcloud, todas sus funciones de solo lectura:

  • En línea: Nextcloud responde (0 tras dos lecturas fallidas seguidas, o en modo de mantenimiento).
  • Versión de Nextcloud: la versión instalada (32.0.9).
  • Actualización de Nextcloud disponible: 1 cuando Nextcloud ha encontrado una nueva versión de sí mismo (su propia comprobación diaria, la de las páginas de administración).
  • Actualizaciones de aplicaciones: el número de aplicaciones instaladas con una actualización en la tienda de aplicaciones.
  • Usuarios activos (5 min), Usuarios activos (1 hora), Usuarios activos (24 horas): los usuarios que han iniciado sesión o usado Nextcloud en ese tiempo.
  • Usuarios: las cuentas que han iniciado sesión al menos una vez.
  • Archivos: el número de archivos (un recuento que Nextcloud actualiza cada 3 horas).
  • Recursos compartidos: el número de recursos compartidos (enlaces públicos, usuarios, grupos, correo…).
  • Espacio libre: espacio libre de la carpeta de datos, en GB.
  • Tamaño de la base de datos: en MB.
  • Carga del sistema: la carga media del último minuto, por hilo del procesador: 100 % cuando todos los hilos están ocupados (se muestra 100 % por encima).
  • Memoria usada: la memoria del servidor en uso, en %.
  • Versión de PHP: la versión de PHP que ejecuta Nextcloud.
  • Caché de memoria: las cachés de memoria que usa Nextcloud (APCu, Redis…), o Ninguna: las comprobaciones de Nextcloud recomiendan una.

Una función aparece en cuanto Nextcloud le ha dado un valor: en un sistema que no lo da (sin número de hilos, espacio libre desconocido), simplemente no está.

Panel​

El widget Nextcloud muestra de un vistazo: el espacio libre, los usuarios activos de los últimos 5 minutos, el número de actualizaciones pendientes (Nextcloud y sus aplicaciones, en naranja si las hay). Luego una lista, lo que requiere atención primero: la nueva versión de Nextcloud, las aplicaciones por actualizar, una carga del sistema o una memoria por encima del 80 %, una caché de memoria ausente; después los usuarios activos en 1 hora y 24 horas, usuarios, archivos, compartidos, base de datos, versión de PHP.

Botones: Actualizar vuelve a leer Nextcloud; Abrir Nextcloud abre su vista general de administración, cuando la dirección es HTTPS (el panel solo abre enlaces seguros).

Escenas​

Desencadenadores​

  • Actualización de Nextcloud disponible: Nextcloud ha encontrado una nueva versión de sí mismo. Una vez por versión: una comprobación que oscila o un reinicio no la anuncian de nuevo. Información transmitida: server_name (el nombre del dispositivo), installed_version, new_version.
  • Actualizaciones de aplicaciones de Nextcloud disponibles: han aparecido nuevas actualizaciones para aplicaciones instaladas, un evento para todas las encontradas en la misma lectura, una vez por versión de aplicación. Información transmitida: server_name, apps (las nuevas con su versión: calendar 5.5.4, deck 1.15.0), count (cuántas nuevas), total (aplicaciones pendientes de actualizar).

Lo que ya está pendiente cuando la integración arranca por primera vez se registra, no se anuncia: las funciones y el widget lo muestran.

Para el espacio libre, los usuarios o la carga no hace falta desencadenador: use las funciones en una condición de escena («Espacio libre por debajo de 20 GB», «En línea pasa a 0»).

Ideas de escenas​

  • Actualización de Nextcloud disponible → envíese un mensaje con las variables new_version e installed_version: «Nextcloud 32.0.10 está disponible (instalada: 32.0.9)».
  • Actualizaciones de aplicaciones de Nextcloud disponibles → una notificación con apps en su teléfono, como mucho una vez por semana con una condición sobre la hora.
  • Espacio libre por debajo de 20 GB → un mensaje, antes de que fallen las copias de fotos de los teléfonos.
  • En línea pasa a 0 por la noche → encienda el enchufe del NAS, o envíe un mensaje.

Solución de problemas​

  • «Token, usuario o contraseña de aplicación rechazado»: el token no es el definido con occ, o la contraseña de aplicación ha sido revocada o mal copiada. La protección contra fuerza bruta de Nextcloud frena las peticiones de una dirección que falla: tras un rechazo, Gladys vuelve a intentarlo solo al cabo de 30 minutos, o enseguida cuando guarda la configuración o hace clic en Probar la conexión.
  • «Esta cuenta no es administradora»: la cuenta es válida pero no está en el grupo admin. Use un administrador, o el token de serverinfo.
  • «Demasiados intentos fallidos»: la protección contra fuerza bruta bloquea la dirección de Gladys. Corrija las credenciales, espere, o restablézcala en el servidor: occ security:bruteforce:reset <dirección de Gladys>. Si Gladys llega a Nextcloud a través de un proxy inverso, configure trusted_proxies en Nextcloud, o toda la casa compartirá una misma dirección bloqueada.
  • «La aplicación Monitoring (serverinfo) está desactivada»: actívela en Aplicaciones → Aplicaciones desactivadas, o con occ app:enable serverinfo.
  • «En modo de mantenimiento»: hay una actualización o un occ maintenance:mode --on en curso. En línea vale 0 hasta que termine.
  • «No hay Nextcloud en esta dirección»: la dirección o su ruta es incorrecta (un Nextcloud servido bajo /nextcloud la necesita en la dirección).
  • «Redirige a otra dirección»: introduzca la dirección final que muestra su navegador.
  • «Certificado rechazado»: marque Aceptar certificados autofirmados.
  • El dispositivo muestra «Actualizar» en Descubrir: ha aparecido una función (la primera actualización de aplicación, el espacio libre ya conocido). Actualícelo para obtenerla.
  • Más detalles en los registros de la integración, con LOG_LEVEL=debug.

Límites​

  • Un solo Nextcloud por instalación.
  • Solo lectura: ni modo de mantenimiento, ni actualización, ni operación sobre archivos desde Gladys.
  • Se lee cada 1 a 15 minutos: un cambio aparece en la lectura siguiente. Cada lectura es una petición ligera; no hay cuota. Las actualizaciones de aplicaciones vienen de la lista de la tienda que Nextcloud guarda una hora: no añaden ninguna petición a la tienda en cada lectura.
  • El número de archivos lo actualiza Nextcloud cada 3 horas.
  • Ni temperaturas de discos, ni tráfico de red, ni cuotas por usuario: la API de supervisión no los da.
  • La integración solo guarda en /data la dirección, las funciones vistas y las versiones ya anunciadas; el token y la contraseña de aplicación se quedan en la configuración de Gladys y nunca aparecen en los registros.

Nextcloud es una marca de Nextcloud GmbH. Esta integración no está afiliada a Nextcloud GmbH, ni respaldada o patrocinada por ella.

Parámetros de configuración​

Estos son los parámetros que Nextcloud te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
Su NextcloudsectionNoGladys lee la API de supervisión de Nextcloud (la aplicación «Monitoring», serverinfo, activada por defecto), solo lectura. Necesita el token de serverinfo, o una cuenta de administrador con una contraseña de aplicación: nunca su contraseña principal.
DirecciónstringSíDirección de su Nextcloud, como en su navegador, con su ruta si la tiene (https://example.org/nextcloud).
AccesosectionNoO bien un token de serverinfo que usted elige y define con occ (comando al final de Configuración de administración, Sistema), o bien una cuenta de administrador y una contraseña de aplicación (Configuración personal, Seguridad). Si ambos están rellenados, se usa el token.
Token de serverinfosecretNoRecomendado: solo abre la API de supervisión, y ninguna cuenta.
Cuenta de administradorstringNoUsuario de una cuenta del grupo admin, a falta de token.
Contraseña de aplicaciónsecretNoCreada para Gladys en Configuración personal, Seguridad. Nunca su contraseña principal.
NombrestringNoNombre del dispositivo en Gladys. Vacío: Nextcloud.
OpcionessectionNo
Aceptar certificados autofirmadosbooleanNoPara una dirección HTTPS cuyo certificado no está firmado por una autoridad (un NAS, un nombre local). Márquelo solo para su propio servidor.
Intervalo de actualizaciónselectNoCon qué frecuencia se lee Nextcloud: una petición ligera cada vez.
Idioma de los nombres y textosselectNoNombres de las funciones al añadir el dispositivo, y textos del dispositivo.

Cómo instalar Nextcloud en Gladys​

  1. En Gladys, abre Integraciones: Nextcloud aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. Haz clic en Instalar. Gladys descarga la imagen Docker (ghcr.io/guim31/gladys-nextcloud:1.0.1), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-nextcloud.

Nextcloud requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.

¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.

Sobre las integraciones externas​

Nextcloud es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂