Installer Gladys sur NAS Qnap

Bonjour,

Utilisateur de HA, je viens de découvrir Gladys et comme le suggère Pierre-Gilles dans sa vidéo comparative, je suis tenté par une utilisation en parallèle des deux solutions.

A ce jour, HA tourne sur mon NAS Qnap dans une machine virtuelle. En parallèle, le paquet Container Station est installé.

Peut on installer Gladys dans un conteneur sur un NAS QNAP et si oui comment faire?

Merci de voytre aide,

Yann.

Bonjour et bienvenue sur le forum.
Je ne sais pas à ce jour si quelqu’un a déjà installé Gladys sur un nas QNAP mais cela a déjà été fait sur un Synology.

Le prérequis c’est d’installer docker, car Gladys tourne dans un conteneur docker.

Voilà le lien de la doc si cela peut t’aider.

Salut @Yann_Gourrier , bienvenu à bord :slight_smile:
Comme l’a indiqué @Will_71 l’install sur QNAP se fera (normalement) aussi simplement que sur Synology, le but étant de passer par leur « Container Station » respectif.
Attention aux ports à allouer à Gladys, normalement le 8420 n’est pas utilisé par d’autres machines virtuelles (en tout cas chez moi sur mon Syno c’est le cas).

Concernant ton HA en VM, tu as du MQTT et/ou Z2M sur la même VM ou accessible en externe par ta VM ?
Si oui alors dans Gladys tu pourras choisir d’activer l’intégration zigbee2mqtt et de choisir un service externe et de renseigner ton serveur MQTT.
Et si tu n’as pas de zigbee alors je n’ai rien dit ^^

Si tu as besoin de plus d’aide/info, n’hésite pas à poster qq screenshots.

Bonjour et merci à vous deux.

Je cherchais en vain un lien pour télécharger l’image…

Graçe à votre aide c’est installé et je retrouve Gladys dans Container Station.

Maintenant je vais bidouiller pour voir ce que ça donne.

J’ai un doute sur le dossier de stockage. Je l’ai créé et modifié le script du mode d’emploi, mais il est vide… Comment vérifier que tout est correct?

Je n’utilise pas de modules Zigbee, j’ai pas mal d’ampoules, de prise connectées et de télécommandes Hue, des modules Wifi Meross reconnus dans Apple Home et Home Assistant.

Encore merci de votre aide.

Cordialement,

Yann.

Tu devrais avoir des choses comme ça :


Si tu n’as rien, il faut peut-être créer le rep de tête (gladysassistant) à la main et vérifier les autorisations sur le QNAP et les chemins d’accès dans le docker compose (si tu as utilisé).

Rien de tout cela.

Je pense que le Container station de Qnap doit être différent de celui de Synology et du coup le script ne doit pas être adapté bien que j’aie modifié le chemin ainsi:

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

Et comme je ne connais rien à la création de docker, je préfère ne pas m’aventurer davantage.

Bonne soirée.

Cordialement,

Yann.

Mon avis très perso, je ne conseille pas de passer par la ligne de commande (j’ai dû mal avec ça et je préfère pouvoir modifier ce que je souhaite dans docker compose sans avoir à tout récrire).
Maintenant il faut que QNAP gère du docker compose en graphique, est-ce le cas ?
… je viens de voir que ça s’appelle Applications dans Container Station :

D’ailleurs ce site est plutôt bien expliqué sur l’installation très complète de Container Stationet Portainer qui permet de gérer très bien les docker compose (appelés Stack).

Donc soit tu passes par une Application de QNAP que tu appelles GladysAssistant, soit par Portainer (que je conseille car indépendant du NAS que tu utilises et c’est ce que j’ai chez moi), et tu mets ce code (en accord avec ton répertoire de stockage pour les données persistantes) :

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 #port changé pour ne pas chevaucher ceux du NAS
      TZ: Europe/Paris
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /DataVol1/docker/gladysassistant/:/var/lib/gladysassistant #à verifier et valider
      - /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 vérifier :

  • chemin du répertoire car j’ai trouvé /share/Container/ sur plusieurs sites dont celui cité précédemment
  • bien donner les droits de RW sur le répertoire à ton user qui a créé le docker pour ne pas avoir de problème d’écriture.

Si besoin, je pourrais te guider sur Portainer car j’utilise énormément ce service.
Voici l’exemple chez moi (sans modif de répertoire) :

Bonjour et merci pour le temps passé et ces conseils.

L’intégration de Portainer sur le QNAP comme expliquée sur le lien s’est passée sans problème.

A noter qu’elle s’est faite à l’intérieur de Container Station par création d’une application.

Ensuite, j’ai collé le script (merci) dans Portainer après avoir vérifié le chemin du stockage.

Puis déployé comme dans l’exemple du lien.

Ensuite j’ai retrouvé Gladys et Watchtower dans Contatiner Station avec un message m’indiquant que les dockers auront des limitations car ils proviennent de l’extérieur.

J’ai remarqué qu’ils n’y a ni adresse IP ni adresse MAC liée aux conteneurs, contrairement à la machine virtuelle qui abrite HA.

En fouillant dans Gladys, je me suis aperçu qu’il est nécessaire d’avoir des IP v6, qui ne sont pas activés dans mon installation.

Et enfin, pas moyen de relier Gladys à Apple Home, la procédure suite à la lecture du QR code sur mon iPhone s’est plantée plusieurs fois de suite. Dommage, pour Hue tout a été très fluide.

Je baisse donc les bras avec regret, étant séduit par la philosophie de Gladys et son origine française.

Si un possesseur de Qnap plus calé que moi veut bien rédiger un tuto, je suis preneur.

Encore merci pour votre aide et bon vent pour Gladys.

Cordialement,

Yann.

PS: Dernier point au sujet des chemeins pour le stockage.

J’ai l’impression que CACHEDEV1/_DATA /Container est le chemin à indiquer et que DataVol1 est un mon d’affichage dans File Station. En effet, voici ce que je vois dans le terminal:

Bonne nouvelle et content que tu aies pu faire fonctionner tout ça.

Oui car c’est Portainer qui gère le docker compose et donc les containeurs.

c’est normal, les VM ont des IP données par ton routeur (en DHCP en général), et les containeurs sont liés à l’IP de la machine donc de ton QNAP en l’occurrence.

Cette partie est uniquement pour Matter mais il faut que l’on regarde de nouveau si IPv6 est indispensable ou non car j’arrive à associer des appareils Matter avec Apple Maison sans IPv6…

Alors c’est bizarre car je l’avais déjà fait il y a un an environ et ça fonctionnait.
Je viens de retenter (iOS 18.7.2) et il y a effectivement un soucis car par d’appairage possible mais sans plantage :thinking: @pierre-gilles si tu passes par là.
Par contre l’intégration Homekit permet de « voir » Gladys dans Apple Maison, pas l’inverse. C’est bien ce que tu veux faire ?

Top ! Bon je n 'ai pas d’appareils Hue donc je ne pourrais pas aider sur ce sujet.

Je me pose une question : est-ce que tu utilises uniquement Apple Home pour gérer tes appareils, ou bien uniquement HA ou un mix des 2 ?
Le but avec Gladys (enfin selon moi) serait de pouvoir tout piloter directement depuis Gladys.
Et si il manque une intégration (comme Meross bien gérée par HA apparemement) alors j’expose ces appareils via MQTT depuis HA pour les récupérer ensuite dans Gladys.

Alors j’ai retesté et ça fonctionne.
Le scénario :

  • créer un nouveau domicile dans Apple Maison
  • dans ce nouveau domicile cliquer sur Ajouter ou +
  • aller dans l’intégration Apple Homekit sur Gladys et cliquer sur Relancer
  • scanner le nouveau QR code avec le téléphone
    Ensuite ça travaille et je récupère tous mes devices.

@bertrandda visiblement l’appairage HomeKit semble planter depuis la mise à jour de la dépendance : Upgrade hap dependency to latest stable version by bertrandda · Pull Request #2379 · GladysAssistant/Gladys · GitHub

Je vais regarder ça

Je viens de faire un essai de réappairage de HomeKit, ça s’est bien passé. Je suspecte la partie mDNS. Est il possible de vérifier :

  • que la configuration Network du container est bien sur Host
  • qu’il n’y a pas plusieurs interfaces réseaux sur le NAS
  • as tu essayé de réinitialiser l’intégration avant l’appairage en cliquant sur image dans la configuration de l’intégration HomeKit ?

Je vois qu’Homebridge fonctionne sur NAS Qnap donc on devrait trouver une solution

Une image avec un fix pour l’ajout de Gladys dans Apple Maison est disponible, bertrandda/gladys:homekit-mdns. Est il possible de voir si ça règle votre problème ?

Bonjour,
Je déterre ce sujet, car je cherche aussi à installer Gladys sur mon serveur QNAP afin de tester cette solution qui m’a l’air bien sympa. Plus simple qu’HA au quotidien j’ai pas envie de faire de la maintenance une fois le taf terminé.

Bon je me casse les dents aussi, mais j’ai finalement réussi a installer Portainer, avec un docker Gladys et un docker Watchtower.
J’arrive à me connecter à l’interface de gladys via l’IP de mon NAS (network-mode:host), cependant j’ai l’impression que Gladys n’a pas accès à internet.
Par exemple lorsque je veux afficher la liste des integrations de la communauté cela m’affiche le message « Gladys n’a pas pu joindre le store ».
Message du meme type, m’indiquant un probleme internet si je fais rechercher les mises à jour.

Là je sèche, une idée d’où viendrait le probleme à quelqu’un utilisant un nas QNAP ?

Merci par avance pour votre aide

@wombo27 … moi, j’ai deux NAS QNAP, tous les deux avec Gladys Assistant, qui fonctionnent parfaitement. J’en utilise un pour les tests, l’autre en production.

Où est le problème ?

Mes obstacles : J’installe exclusivement via la Container Station et là, uniquement via des applications et une YAML.

J’évite Portainer sur le QNAP, c’est juste une couche supplémentaire.

Mes obstacles : D’abord et avant tout : activer IPv6, peu importe … un jour viendra Matter over Wifi ou Matter over Thread.

Si tu as déjà un Matter Hub, moi par exemple IKEA DIRIGERA, alors ce Hub apparaît sur ton routeur en tant qu’IP4, s’il est activé. Ainsi, il y a une sorte de transition de Matter over Thread IP6 vers DIRIGERA vers le routeur dans le LAN local ou vers l’Internet lointain.
Problème : Cet IP6 doit être ajouté manuellement comme route.

Ensuite, il y a encore quelques petits obstacles. Voici ma YAML pour la version actuelle du système d’exploitation de QNAP. Tu devrais seulement adapter tes chemins à tes conditions :

La voici :

services:
gladys:
image: gladysassistant/gladys:v4
#image: ``ghcr.io/gladysassistant/gladys-preview:cursor-matter-ac-mode-management-fb55
container_name: gladys
restart: always
privileged: true
network_mode: host
cgroup: host
logging:
driver: "json-file"
options:
max-size: 10m
environment:
NODE_ENV: production
# La base de données est maintenant stockée dans le volume sécurisé de l'hôte
SQLITE_FILE_PATH: /var/lib/gladysassistant/gladys-production.db
SERVER_PORT: 8060
TZ: Europe/Berlin
# MODIFIÉ : Définir sur 0.0.0.0 pour que toutes les interfaces (y compris vSwitch) soient utilisées !!!! Important Important Important
MATTER_BIND_INTERFACE: 0.0.0.0
MDNS_INTERFACE: 0.0.0.0
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# Votre chemin QNAP absolument sécurisé :
- /share/CACHEDEV2_DATA/dockerdaten/gladysassistant:/var/lib/gladysassistant
- /dev:/dev
- /run/udev:/run/udev:ro

Ensuite, mes expériences avec d’autres Docker qui appartiennent à Gladys :

L’installation externe de Node Red n’a pas fonctionné, même avec l’assistance KI de mistral et perplexity. Cela ne fonctionne qu’avec l’installation depuis Gladys.

Certains Docker supplémentaires de Gladys n’atteignent pas Gladys, cela est dû au commutateur virtuel, c’est-à-dire que si un Docker de/vers Gladys ne fonctionne pas comme il le devrait, demande simplement à une KI, donne-lui la YAML du Docker et demande-lui de configurer la configuration réseau dans la YAML de manière à ce qu’elle fonctionne dans le même réseau de commutateur virtuel.

N’hésitez pas à me contacter pour toute question

Cordialement

Tom

Bonjour @Yann_Gourrier,

voici l’approche pour l’analyse des erreurs. Sur le QNAP, lancez l’application « Réseau et Switch », puis, dans le coin inférieur gauche, passez en mode « Avancé ».

Ensuite, cliquez sur « Vue d’ensemble » à gauche. Résultat : QNAP vous indique exactement quel Docker utilise quel commutateur virtuel et comment le chemin vers Internet est établi. Si ce n’est pas le cas, alors Gladys… n’atteint rien…

Ensuite, désactivez d’abord le pare-feu souvent présent et actif dans QNAP à des fins de test.

Il semble y avoir un problème de routage sur votre Gladys. Il fonctionne, mais il ne trouve pas la sortie. Vous pouvez le vérifier avec la même application. Il suffit de cliquer sur Route à gauche en mode avancé et vous obtenez :

Vous pouvez alors avoir une vue d’ensemble de la manière dont chaque interface (voir ci-dessus) fonctionne…

En fin de compte, il y a deux points d’approche : Si Gladys fonctionne localement mais ne peut pas accéder à Internet, alors c’est un problème de routage réseau. C’est-à-dire que le commutateur virtuel pour le réseau Docker interne ne sort pas … Problème de routage

Gladys fonctionne dans la Station de Conteneurs, mais n’est par exemple pas accessible localement, alors c’est souvent dû à la configuration du réseau dans le YAML.

Cordialement

Tom

Merci Tom de prendre un peu de ton temps pour nous aider.
Je te confirme… Je ne doute pas que le problème vienne de l’homme, pas de la machine !:face_with_hand_over_mouth:

Je vais repartir de la base, faut d’abord que je remette en route l’IPv6, si je comprend c’est étonnamment indispensable au fonctionnement de Matter. Ensuite on simplifie, on oublie portainer et on repart sur plus simple.
Je vous tiens au courant de mon avancée, encore merci !

@wombo27 Si tu débutes avec ton QNAP, voici mon expérience :

Prends le YAML standard pour l’installation Docker de Gladys comme point de départ. Crée une application dans la Station de Conteneurs, puis « valider », si tout est OK, installe.

Si tu as des problèmes avec Gladys pour atteindre le monde extérieur, fais comme moi : copie le YAML, puis copie également le log dans la gestion des conteneurs (Gestion des conteneurs - Applications/Volumes - clique directement sur le Docker Gladys - les logs apparaissent - et envoie tout à une IA, que ce soit Mistral, Perplexity ou Claude, et dis :

Regarde, mon Docker fonctionne, mais il y a un problème avec la configuration réseau de mon QNAP. Important : n’oublie pas de mentionner QNAP.

Pour IP6… pas d’IP6 activé… pas de Matter. Pas de route IP6 fixe dans QNAP, pas d’accessibilité de tes appareils. J’ai failli abandonner avec le code d’appairage, il n’a jamais rien trouvé, jusqu’à ce que Claude dise : Tu as besoin d’une route IP6 fixe sur ton QNAP vers ton routeur de bordure, c’est-à-dire IKEA Dirigera… dit et fait, et depuis ça marche.

J’espère avoir pu t’aider et ne pas abandonner,
Cordialement

Tom

@ruegerth une chose à dire : Wouaw !!

J’ai passé un moment a bidouillé les commutateurs virtuels sans succès.
Puis j’ai testé ta solution en donnant à une IA mon YAML et mes logs. Et à du premier coup Banco ca fonctionne !
Franchement je suis impressionné ! Jusque la mes expériences avec les IA etaient souvent a coté de la plaque, alors pour un truc si complexe sans qu’elle ai le contexte complet je n’y croyais pas.

Merci pour l’aide :slight_smile:
Je peux maintenant passer à expérimenter l’intégration de mes devices sur Gladys.

A très vite !