Lancement la semaine prochaine de la compatibilité Debian 11 + améliorations pour Unraid/Synology?

Salut à tous !

La prochaine version de Gladys est quasi finalisée, et apporte son lot de nouvelles compatibilités et de corrections de bugs :slight_smile:

Cette fois-ci, pas de nouvelles fonctionnalités mais des travaux long terme sur la compatibilité avec les nouvelle versions majeures des OS Linux : Debian 11 et Ubuntu > 20.04, ainsi que des changements pour permettre une installation facilité sur NAS Unraid et Synology.

Il y avait notamment des problèmes pour lancer les container MQTT et Zigbee2mqtt sur ces plateformes.

Les bugfixes

  • Correction d’un bug assez important où la fréquence de rafraichissement des appareils comme les caméras n’étaient pas forcément pris en compte après un changement, voir pire, la fréquence de rafraichissement était prise en compte plusieurs fois, ce qui fait qu’une caméra dont la fréquence a été changée pouvait rafraichir plusieurs fois par cycle

  • Correction d’un bug dans les scènes où le bouton “essayer” de l’action “requête HTTP” ne prenait pas en compte les headers renseignés

  • Correction d’un bug où le nom d’un tableau de bord n’était pas mis à jour dans la liste quand le nom du tableau de bord en cours était renommé

  • Ajout des traductions sur les capteurs de vibrations

J’ai besoin de vous

J’ai besoin de vous pour tester en amont cette version. Je m’adresse à un public CONFIRMÉ !! Si tu lis ce post, et que tu n’es pas sûr de toi, attend la semaine prochaine pour la sortie de l’image de prod :wink:

Je sais que vous êtes nombreux à avoir demandé la compatibilité Debian 11 / Ubuntu 21, j’ai besoin de vous pour vérifier que tout fonctionne, notamment au niveau de l’intégration Zigbee2mqtt et MQTT.

Si tu sais ce que tu fais, tu peux lancer l’image Docker “Gladys DEV” avec la commande suivante :

(A ne PAS lancer sur une vraie instance Gladys de production…)

docker run -d \
--log-driver json-file \
--log-opt max-size=10m \
--cgroupns=host \
--restart=always \
--privileged \
--network=host \
--name gladys \
-e NODE_ENV=production \
-e SERVER_PORT=80 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
gladysassistant/gladys:dev

Comme vous pouvez le voir, il s’agit ici d’une image Docker de dev ( gladysassistant/gladys:dev ), ce tag correspond à nos tests de déploiement de pre-release, il ne faut pas utiliser ce tag pour une vrai installation :slight_smile:

Quelque chose qui est intéressant de tester avec cette version, c’est de changer le chemin des volumes Docker, par exemple en changeant cette ligne : -v /var/lib/gladysassistant:/var/lib/gladysassistant \ en mettant un autre dossier côté host (à gauche), et en lançant ensuite un container MQTT et Zigbee2mqtt, et de vérifier que les containers ont bien été lancé avec le même volume sur l’host.

1 « J'aime »

J’en profite pour faire un deuxième appel aux testeurs pour @bertrandda qui a travaillé sur des correctifs sur l’intégration Caldav pour supporter vraiment tous les calendriers.

Il est preneur de testeurs sur ce sujet:

Tu abandonne le cidfile ?

Le cgroupns est vraiment permissif et on ne fait pas tous tourner gladys sur un rpi :neutral_face:

J’ai pas réussi à faire fonctionner Gladys sans cgroupns, ça marche chez toi ?

Si tu as un docker run qui fonctionne je suis preneur :slight_smile:

Edit: Je parle sur Debian 11

Je viens de tester chez moi, c’est niquel pour le moment

La même commande mais avec le cidfile et sans le cgroupns ( rpi debian 11).

T’es sûr @VonOx ? J’avais des erreurs de DNS moi dans mes tests

Oui, en partant de la dernière image de prod sur laquelle j’ai appliqué la PR.

Je retente demain sur l’image de dev pour essayer de comprendre.

1 « J'aime »

Si tu as une commande docker exacte qui marche chez toi je veux bien, je ferais des tests supplémentaires semaine prochaine

Je te tiens au jus

1 « J'aime »

Je teste ce nouveau container dès demain. J’ai ma clé zigbee qui n’attend que ça et des composants à tester (capteur de présence et capteur de température). Je tourne sur bullseye 64bits sur RPi4. Je vous tiens informés demain. Merci pour cette release, c’est top !

@pierre-gilles mes premiers essais ne sont pas concluants.

Première remarque, au départ j’ai modifié le répertoire local des volumes (/var/lib/gladysassitanttest au lieu de /var/lib/gladysassistant par défaut). L’installation des containers a alors posé problème et j’ai remarqué que zigbee2mqtt s’était de toute façon installé dans le répertoire par défaut et non pas celui que j’avais donné. Heureusement j’avais sauvegardé mon répertoire /var/lib/gladysassistant pour ne pas péter ma configuration de prod :slight_smile:

Bref je clean les containers et je recommence from scratch, ce coup ci sans rien changer à la commande docker que tu donnes. Pour le coup ça se passe un petit peu mieux, mais je bloque un peu plus loin:

J’ai alors remarqué que le container gladys-z2m-zigbee2mqtt ne semblait pas stable. Il semble redémarrer en permanence.

Par ailleurs, je n’ai jamais accès à l’interface zibee2mqtt sur le port 8080 (ce qui semble logique).

Evidemment comme je suis un pignouf je suis sur une version 64 bits de raspiOS. J’ai un autre raspi en 32 bits sur bullseye avec Docker et Gladys, je vais essayer dessus pour voir si cela fonctionne mieux.

@p6ril Par hasard est ce que tu n’aurais pas déjà installé l’image docker dev sur cette instance ? Ça m’étonne que le cas d’usage n°1 ne fonctionne juste pas chez toi

Quand tu as fais le docker run, est ce qu’il y a eu un téléchargement de l’image ou l’image était déjà présente en local ?

Tu peux faire un docker pull gladysassistant/gladys:dev pour vérifier.

@pierre-gilles je confirme qu’au départ je n’avais pas l’image docker de dev. Pour le deuxième essai je suis aussi reparti from scratch (j’ai “prune” les container et effacé toutes les les images associées donc gladys dev, et les conteneurs mqtt et zigbee2mqtt). Les deux fois les conteneurs ont été téléchargés.

Début de débug pour le cidFile

Probleme de permission dans /var/lib/gladysassistant ( étrange car meme en sudo ça passe pas ) et je n’ai pas ce problème sur Ubuntu

Du coup j’ai tenté en changeant le host mount ( il faut créé le folder avant d’executer la commande )

docker run -d \
    --cidfile /home/pi/gladysassistant/containerId \
    --restart=always \
    --privileged \
    --network=host \
    --log-opt max-size=10m \
    --name gladys \
    --cap-add SYS_RAWIO \
    -e NODE_ENV=production \
    -e SERVER_PORT=80 \
    -e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /home/pi/gladysassistant:/var/lib/gladysassistant \
    -v /dev:/dev \
    -v /run/udev:/run/udev:ro \
    -v /sys/class/gpio:/sys/class/gpio \
    -v /etc/localtime:/etc/localtime:ro \
    -v /etc/timezone:/etc/timezone:ro \
    gladysassistant/gladys:dev

Résultat :+1:

Je continu de chercher côté permissions

@pierre-gilles en 32 bits tout est passé nickel, j’ai suivi ta vidéo youtube c’était super smooth :

voici quelques infos sur la machine où tout fonctionne :

et la 64 bits ou zigbee2mqtt ne démarre pas correctement :

Je peux aider s’il faut des logs ou des infos complémentaire sur bullseye en 64 bits.

udev est installé sur ton debian 64 ?

hal9000 :smirk:

oui udev est installé :

Screenshot from 2022-03-19 12-47-40

La clé Sonoff est bien reconnue, le souci semble venir du container Zibgee2MQTT qui ne démarre pas. Un souci d’image sur l’architecture cible peut-être ?

Faudrai regarder les logs du conteneur zigbee2mqtt

Et bien j’étais à 2 doigts de faire ça, mais là c’est tombé en marche …

J’ai vu que le container Zigbee2MQTT n’était plus du tout dans la liste retournée par docker container ls.
La config Zigbee était disbaled (puisque j’avais retiré la clé Zigbee Sonoff). J’ai remis la clé, rafraîchi la config du dongle USB, repassé zigbee2mqtt à enable et là tout semble en ordre.

Tous les containers sont up la connexion est établie entre Gladys, MQTT et Zigbee2MQTT. Bizarre.

Si vous voulez je peux tout purger pour réessayer l’install de 0 ?