Gladys sur Unraid

C’est normal, cette partie se déroule dans le container.

L’endroit où on définit le volume, c’est ici:

Par contre, il y a quelque chose qui ne veut pas, cette ligne mutate l’objet json global, donc ça fait push à chaque fois que cette fonction est appelée, et ça touche à la variable globale, ça va pas ça

Idem ici ( https://github.com/GladysAssistant/Gladys/blob/master/server/services/zigbee2mqtt/lib/installMqttContainer.js#L34 ), le push mutate l’objet global.

C’est ça qui pose problème tu penses ?

Je pense pas que ce soit le bug ici, mais en tout cas c’est sûr que ce problème cause des bugs

Je me suis lancé une petite VM pour tester tout ça.

J’ai lancé un container avec les paramètres suivants :

docker run -d \
// retiré pour lisibilité
-v /var/lib/gladysassistant_other_folder:/var/lib/gladysassistant \
gladysassistant/gladys:v4

J’ai rajouté des logs, et j’ai lancé un container Zigbee2mqtt, et ça donne ça :

2022-03-07T18:55:44+0100 <info> installMqttContainer.js:25 (Zigbee2mqttManager.installMqttContainer) MQTT broker is being installed as Docker container...
2022-03-07T18:55:44+0100 <info> installMqttContainer.js:26 (Zigbee2mqttManager.installMqttContainer) Pulling eclipse-mosquitto:2 image...
2022-03-07T18:55:47+0100 <info> installMqttContainer.js:30 (Zigbee2mqttManager.installMqttContainer) Preparing broker environment...
{
  basePathOnContainer: '/var/lib/gladysassistant',
  basePathOnHost: '/var/lib/gladysassistant'
}
[ '/var/lib/gladysassistant/zigbee2mqtt/mqtt:/mosquitto/config' ]
2022-03-07T18:55:47+0100 <info> installMqttContainer.js:37 (Zigbee2mqttManager.installMqttContainer) Creating container...
2022-03-07T18:55:47+0100 <info> installMqttContainer.js:51 (Zigbee2mqttManager.installMqttContainer) MQTT broker is restarting...

Le basePathOnHost n’est pas bon, il y a un bug dans la fonction basePath

J’enquête…

J’avance plus loin, après avoir ajouté des logs, l’appel:

const gladysMounts = await this.gladys.system.getContainerMounts(os.hostname());

Renvoie un tableau vide… Ainsi, gladysMounts est vide et le default est appliqué…

Je continue mon enquête

Je pense que je comprend, la fonction attend un containerId :

Et derrière la fonction envoie le hostname :

Il faudrait envoyer l’id du container actuelle

J’ai créé une issue Github avec les détails :

Et :

3 « J'aime »

Merci beaucoup pour ces avancées,

Avec la publication de la 4.8 ça va être l’occasion de tester la mise à jour sur unraid parce que je ne fais pas tourner de watchtower…
Par conséquent, j’attend de voir si il me propose de mettre à jour l’image docker avec une nouvelle

Tiens nous au courant! Par contre, ce dont j’ai parlé par rapport à Unraid (les fixs lié au Zigbee2mqtt) ne sont pas dans cette 4.8, ce sera dispo dans la prochaine maj :slight_smile: J’ai travaillé dessus ce matin c’était trop tard pour partir dans la 4.8.

Oui, je m’en doutais il y a pas de problème, l’instance fonctionne de mon côté, on est pas pressé plus le temps passe et plus gladys est compétitif donc autant laissé un peu de temps.

Merci beaucoup en tout cas, très sympa la mise à jour !

1 « J'aime »

Du coup ça fait 24h et étant impatient de nature, je me fend d’un commentaire forcément.
Pour l’instant il me dit que l’image est à jour.

image

Je pull cette image là du docker hub : gladysassistant/gladys:v4
Est ce qu’il faut changer quelque chose ? est ce que le v4 est en trop pour le jour ou on voudra la passer en v5 ?

Dans Gladys tu es en quelle version ? (Paramètres => Systèmes => Version)

Le v4 n’est pas en trop, si un jour on passe en v5 ce sera une mise à jour « breaking », et donc il ne faut surtout pas mettre à jour automatiquement les clients car ça cassera tout chez eux ^^

Mais on ne risque pas de passer en v5 :wink:

Je suis en v4.7.3

Yes, je me disais peut être dans 10 ans sur les mêmes instance on sait jamais !

Du coup je ne sais pas si je ne met pas à jour par ce qu’il ne check pas le docker hub et donc que je dois fairequelque chose coté unraid ou si c’est côté gladys…

Soit on fait aucun changement breaking dans les 10 prochaines années, et on restera en v4 (Tant mieux j’ai envie de dire)

Si jamais on veut changer de version majeure, c’est forcément qu’on casse un truc et dans ce cas ça fait sens de changer de tag.

Tu utilise watchtower ? ça marche comment l’UI de Unraid ?

Justement je n’utilise pas watchtower, il n’est pas porté sur unraid.
Est ce que Watchtower met à jour tout les containeurs de l’host ou seulement ceux qu’on lui désigne ?

Je peux porter watchtower sur unraid c’est particulièrement facile, est ce que ça vaut le coup ?

Après sur l’ui je ne sais pas si le up to date doit être signalé par une config ou quelque chose d’autre, je vais regarder

Les deux sont possibles, tu peux passer en arguments à watchtower la liste des containers à mettre à jour. Par défaut il met tout à jour.

A voir effectivement, je pourrais pas t’aider là dessus, mais c’est bon à savoir!

Sinon sur UNRAID tu as un plugin qui peut mettre à jour les containers que tu choisis, à la fréquence de ton choix. (me rappelle plus le nom, mais un truc évident du genre “Unraid docker auto-updater”

Du coup effectivement c’était assez simple de mettre à jour :
Advanced View → force update et c’était bon, je vais quand même porter watchtower sur unraid parce que c’est pas hyper difficile, après je pense que je vais pas mettre toutes les options disponible.

1 « J'aime »