Instalar Gladys en NAS Qnap

Hola,

Soy usuario de HA y acabo de descubrir Gladys. Como sugiere Pierre-Gilles en su video comparativo, me tienta usar las dos soluciones en paralelo.

Actualmente, HA funciona en mi NAS Qnap en una máquina virtual. Además, está instalado el paquete Container Station.

¿Se puede instalar Gladys en un contenedor en un NAS QNAP y, de ser así, cómo hacerlo?

Gracias por su ayuda,

Yann.

Hola y bienvenido al foro.
No sé si alguien ha instalado Gladys en un NAS QNAP, pero ya se ha hecho en un Synology.

El requisito previo es instalar Docker, ya que Gladys se ejecuta en un contenedor Docker.

Aquí tienes el enlace a la documentación por si te puede ayudar.

Hola @Yann_Gourrier, bienvenido a bordo :slight_smile:
Como indicó @Will_71, la instalación en QNAP (normalmente) será tan sencilla como en Synology, el objetivo es utilizar su respectiva « Container Station ».
Atención a los puertos que asignes a Gladys, normalmente el 8420 no está utilizado por otras máquinas virtuales (al menos en mi caso en mi Syno es así).

En cuanto a tu HA en VM, ¿tienes MQTT y/o Z2M en la misma VM o accesible externamente desde tu VM?
Si es así, entonces en Gladys podrás elegir activar la integración zigbee2mqtt y elegir un servicio externo e indicar tu servidor MQTT.
Y si no tienes zigbee, entonces no he dicho nada ^^

Si necesitas más ayuda/información, no dudes en publicar algunas capturas de pantalla.

Hola y gracias a los dos.

Estaba buscando en vano un enlace para descargar la imagen…

Gracias a su ayuda, está instalado y encuentro Gladys en Container Station.

Ahora voy a probar para ver qué tal va.

Tengo una duda sobre la carpeta de almacenamiento. La he creado y modificado el script de las instrucciones, pero está vacía… ¿Cómo puedo verificar que todo está correcto?

No utilizo módulos Zigbee, tengo muchas bombillas, enchufes inteligentes y mandos a distancia Hue, módulos WiFi Meross reconocidos en Apple Home y Home Assistant.

Gracias de nuevo por su ayuda.

Atentamente,

Yann.

Deberías tener algo como esto:


Si no tienes nada, tal vez tengas que crear el directorio principal (gladysassistant) manualmente y verificar los permisos en el QNAP y las rutas de acceso en el docker compose (si lo has usado).

Nada de eso.

Creo que el contenedor de la estación de Qnap debe ser diferente al de Synology y, por lo tanto, el script no debe adaptarse, aunque haya modificado la ruta así:

-v /DataVol1/docker/gladysassistant/:/var/lib/gladysassistant \

Y como no sé nada sobre la creación de Docker, prefiero no aventurarme más.

Buenas noches.

Cordialmente,

Yann.

Mi opinión muy personal, no recomiendo usar la línea de comandos (no me siento cómodo con eso y prefiero poder modificar lo que quiero en docker compose sin tener que reescribir todo).
Ahora, QNAP debe gestionar docker compose gráficamente, ¿es así?
… Acabo de ver que se llama Aplicaciones en Container Station:

De hecho, este sitio está bastante bien explicado sobre la instalación muy completa de Container Station y Portainer, que permite gestionar muy bien los docker compose (llamados Stack).

Por lo tanto, o pasas por una Aplicación de QNAP que llamas GladysAssistant, o por Portainer (que recomiendo porque es independiente del NAS que uses y es lo que tengo en casa), y pones este código (en consonancia con tu directorio de almacenamiento para los datos persistentes):

version: "3"

services:
  gladys:
    image: gladysassistant/gladys:v4
    container_name: gladys
    restart: always
    privileged: true
    network_mode: host
    cgroup: host
    logging:
      driver: "json-file"
      options:
        max-size: 10m
    environment:
      NODE_ENV: production
      SQLITE_FILE_PATH: /var/lib/gladysassistant/gladys-production.db
      SERVER_PORT: 8420 #puerto cambiado para no solaparse con los del NAS
      TZ: Europe/Paris
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /DataVol1/docker/gladysassistant/:/var/lib/gladysassistant #verificar y validar
      - /dev:/dev
      - /run/udev:/run/udev:ro
  watchtower:
    image: nickfedor/watchtower
    restart: always
    container_name: watchtower
    command: --cleanup --include-restarting
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

A verificar:

  • la ruta del directorio, ya que encontré /share/Container/ en varios sitios, incluido el mencionado anteriormente
  • asegurarse de dar los permisos de lectura y escritura en el directorio al usuario que creó el docker para no tener problemas de escritura.

Si es necesario, podría guiarte en Portainer, ya que uso mucho este servicio.
Aquí tienes un ejemplo en mi caso (sin modificar el directorio):

Hola y gracias por el tiempo dedicado y estos consejos.

La integración de Portainer en el QNAP, como se explica en el enlace, se realizó sin problemas.

Cabe señalar que se hizo dentro de Container Station mediante la creación de una aplicación.

Luego, pegué el script (gracias) en Portainer después de verificar la ruta de almacenamiento.

Luego lo desplegué como en el ejemplo del enlace.

Luego encontré Gladys y Watchtower en Container Station con un mensaje indicándome que los dockers tendrán limitaciones porque provienen del exterior.

Me di cuenta de que no hay ni dirección IP ni dirección MAC vinculadas a los contenedores, a diferencia de la máquina virtual que alberga HA.

Al hurgar en Gladys, me di cuenta de que es necesario tener direcciones IP v6, que no están activadas en mi instalación.

Y finalmente, no hay manera de conectar Gladys a Apple Home, el procedimiento después de leer el código QR en mi iPhone falló varias veces seguidas. Lástima, para Hue todo fue muy fluido.

Por lo tanto, bajo los brazos con pesar, siendo seducido por la filosofía de Gladys y su origen francés.

Si un poseedor de Qnap más calificado que yo quiere escribir un tutorial, estoy interesado.

Gracias de nuevo por su ayuda y buen viento para Gladys.

Cordialmente,

Yann.

PS: Último punto sobre las rutas de almacenamiento.

Tengo la impresión de que CACHEDEV1/_DATA /Container es la ruta a indicar y que DataVol1 es solo una forma de visualización en File Station. De hecho, esto es lo que veo en la terminal:

¡Buena noticia y contento de que hayas podido hacer funcionar todo eso.

Sí, porque es Portainer el que gestiona el docker compose y, por lo tanto, los contenedores.

Es normal, las VM tienen IPs asignadas por tu router (generalmente en DHCP), y los contenedores están vinculados a la IP de la máquina, es decir, de tu QNAP en este caso.

Esta parte es solo para Matter, pero hay que volver a mirar si IPv6 es indispensable o no, porque logro asociar dispositivos Matter con Apple Maison sin IPv6…

Bueno, es raro porque ya lo había hecho hace aproximadamente un año y funcionaba.
Acabo de intentarlo de nuevo (iOS 18.7.2) y hay efectivamente un problema porque no hay emparejamiento posible, pero sin fallos :thinking: @pierre-gilles si pasas por aquí.
Por otro lado, la integración Homekit permite « ver » Gladys en Apple Maison, no al revés. ¿Es eso lo que quieres hacer?

¡Genial! Bueno, no tengo dispositivos Hue, así que no podré ayudar en ese tema.

Me pregunto: ¿usas solo Apple Home para gestionar tus dispositivos, o solo HA, o una mezcla de los dos?
El objetivo con Gladys (al menos según yo) sería poder controlar todo directamente desde Gladys.
Y si falta una integración (como Meross, aparentemente bien gestionada por HA) entonces expongo estos dispositivos a través de MQTT desde HA para recuperarlos luego en Gladys.

Pues lo he vuelto a probar y funciona.
El escenario:

  • crear un nuevo hogar en Apple Casa
  • en este nuevo hogar hacer clic en Añadir o +
  • ir a la integración Apple Homekit en Gladys y hacer clic en Reiniciar
  • escanear el nuevo código QR con el teléfono
    Después funciona y recupero todos mis dispositivos.

@bertrandda al parecer el emparejamiento de HomeKit parece estar fallando desde la actualización de la dependencia: Upgrade hap dependency to latest stable version by bertrandda · Pull Request #2379 · GladysAssistant/Gladys · GitHub

Voy a echar un vistazo

Acabo de hacer una prueba de reapareamiento de HomeKit, y todo salió bien. Sospecho que el problema está en la parte de mDNS. ¿Es posible verificar:

  • que la configuración Network del contenedor está en Host
  • que no hay varias interfaces de red en el NAS
  • ¿has probado reiniciar la integración antes del apareamiento haciendo clic en image en la configuración de la integración de HomeKit?

Veo que Homebridge funciona en NAS Qnap, por lo que deberíamos encontrar una solución.

Una imagen con un parche para añadir Gladys en Apple Maison está disponible, bertrandda/gladys:homekit-mdns. ¿Es posible ver si esto soluciona su problema?