Gladys sur Unraid

Hello,
Au vue des efforts pour étendre la communauté, je me penche sur la création d’un plugin pour unraid. Et j’ai aussi très envie de pouvoir faire tourner gladys directement depuis unraid.

Cependant je rencontre une erreur qui me parrait bizarre vu que la commande semble bonne. Est ce que vous avez des idées ?

Merci d’avance

root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d \ --name='Gladys' \
--net='host' \
--privileged=true \ 
-e TZ="Europe/Paris" \ 
-e HOST_OS="Unraid" \
-e 'TZ'='Europe/Paris' \
-e 'SERVER_PORT'='8006' \
-e 'SQLITE_FILE_PATH'='/var/lib/gladysassistant/gladys-production.db' \
-e 'NODE_ENV'='production' \ 
-v '/mnt/user/appdata/gladysassistant/lib':'/var/lib/gladysassistant':'rw' \ 
-v '/mnt/user/appdata/gladys/dev':'/dev':'rw' \ 
-v '/mnt/user/appdata/gladys/udev':'/run/udev':'ro' \
-v '/mnt/user/appdata/gladys/docker.sock':'/var/run/docker.sock':'rw' \
--restart=always \
--log-opt max-size=10m \
'gladysassistant/gladys:v4'

b19f082e4872277f14252a49bc5fbf1f318c7e125eca499d1335b60c3219a6ae
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: setup user: no such file or directory: unknown.

Hello! Génial ça :slight_smile: Super idée, c’est totalement dans la philosophie de ce qu’on essaie de faire.

Déjà je ne comprend pas ces 3 lignes:

-v '/mnt/user/appdata/gladys/dev':'/dev':'rw' \ 
-v '/mnt/user/appdata/gladys/udev':'/run/udev':'ro' \
-v '/mnt/user/appdata/gladys/docker.sock':'/var/run/docker.sock':'rw' \

L’objectif de ces lignes c’est de mapper le docker dameon, les ports USB vers Gladys, hors là tu mappe des dossiers, tu es sûr que c’est ce que tu veux faire ici ? (je ne connais pas unraid)

J’avais réussi il y a une petite année à faire tourner Gladys sans soucis dans mon NAS sous Unraid.
Donc c’est faisable !
Par contre j’ai arrêté car mes dongle USB prenaient de la place sur le NAS et ce n’était finalement pas super pratique car mon NAS est dans un recoin de la maison.

Alors en fait c’est moi qui ne comprend pas très bien chacun de ses chemins et leur utilité du coup j’ai un peu bricolé la chose.
Du coup après avoir mis les valeurs appropriés, l’instance tourne c’est super, je vais tester quelques jours surtout voir si c’est pas galère les dongles usb, on espère pas et je demanderai après la publication.

j’ai arrêté car mes dongle USB prenaient de la place sur le NAS

Du coup je t’avoue que j’ai un véritable ordi qui fait tourner unraid donc j’ai pas trop ce problème !

Il y a moyen de proposer un lien de donation est ce que tu en possèdes un ?
De même est ce que tu as une url pour le logo ?

1 « J'aime »

Ok nickel :ok_hand: C’est quoi la commande finale pour qu’on puisse review ça ?

Pour la publication, ça se passe comment avec unraid ? Est-ce que tu as besoin d’un repo pour que ce soit un plugin « officiel » Gladys ?

Il y a pas de système de donation, les utilisateurs qui veulent soutenir passent par Gladys Plus : Gladys Plus | Gladys Assistant

Pour le logo, il te faut quelle format ? Quelle taille ?

root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker create \
--name='Gladys' \
--net='host' \
--privileged=true \
-e TZ="Europe/Paris" \
-e HOST_OS="Unraid" \
-e 'TZ'='Europe/Paris' \
-e 'SERVER_PORT'='8006' \
-e 'SQLITE_FILE_PATH'='/var/lib/gladysassistant/gladys-production.db' \
-e 'NODE_ENV'='production' \
-v '/mnt/user/appdata/Gladys':'/var/lib/gladysassistant':'rw' \
-v '/dev':'/dev':'rw' \
-v '/run/udev':'/run/udev':'ro' \
-v '/var/run/docker.sock':'/var/run/docker.sock':'rw' \
--restart=always --log-opt max-size=10m 'gladysassistant/gladys:v4'

Alors, je dois juste créer un repos giithub, mettre un fichier xml dedans, et envoyer le lien à une personne qui l’ajoutera (le repos) comme étant fournisseur d’application pour la communauté. Si on souhaite faire un truc très propre, on peux créer un repose via le repos officiel gladys assistant et je ferai un MR dedans.

Le dernier point c’est qu’il faut absolument créer une page de support en cas de soucis d’utilisateur lors de l’installation, la question est vaut-il mieux la créer sur le forum unraid ou sur ce forum ci ?

Et il manquera une courte description de l’application, et probablement vers une vidéo de présentation en anglais. Si vous recommandez une vidéo en particulier, sinon je met un lien directement vers la page d’accueil du site c’est pas mal non plus.

Le dernier point, c’est le fait que le réseaux du docker soit en type host, c’est pas incroyable sur un nas, la plupart des gens aime bien pouvoir le mettre en bridge ou en reseaux particulier, mais pour l’instant ce n’est pas supporté, est ce compliqué à faire ou pas ?

Justement, j’ai déjà cet abonnement et personnellement j’aimerai pouvoir soutenir plus ton travail donc est ce qu’il y a moyen de mettre en place autre chose ?

J’ai pris celle-ci et ça fonctionne donc c’est super.

J’avoue que je préférerais faire des dons ponctuels (contre rien d’autre que le plaisir de pouvoir utiliser Gladys gratuitement) qu’avoir un abonnement… J’ai toujours fait un blocage avec les payements récurrents qui ont une connotation négative dans mon subconscient :wink:

T’as la variable TZ en doublon et je penses que ça doit être fait autrement pour unraid ( la timezone) a voir si on est capable de chopper directement la valeur de l’os ( dans l’idée d’internationaliser le plug-in.

Pour ce numéro de port, les utilisateurs Unraid sauront comment accéder à Gladys ?

C’est peut-être plus simple et plus pérenne sur le long terme :slight_smile:

Je peux créer un repo et te donner les droits.

ça s’appelle comment leur système d’apps unraid? Pour savoir pour le nom du repo

C’est peut-être plus simple de mettre un lien vers ce forum ? Côté forum unraid par contre, ça sera intéressant de poster une fois l’app sortie pour faire un peu de pub pour Gladys :slight_smile:

Quelle taille la description ?

Pour la vidéo de présentation, je n’ai pas de vidéo en anglais. La page d’accueil du site est peut-être plus adaptée pour l’instant.

Tu peux faire tourner Gladys sans le network=host, mais certaines intégrations faisant des scans réseaux ou écoutant des broadcast réseaux (Philips Hue, Xiaomi etc…) ne fonctionneront pas. A tester si en bridge ça marche

C’est gentil :slight_smile: J’avais un lien de don PayPal à l’époque + don en crypto mais il était pas super utilisé.

Si il y a de la demande je peux remettre ces liens.

C’est parfait !

Et si tu avais le moyen d’acheter une année de Gladys Plus en paiement one-time, est-ce que ça te ferait moins « peur » ? ^^

Sinon, je peux rétablir un système de don. Quelle moyen de paiement serait le mieux ?

Exact merci je corrige.
Je suis de l’avis de @VonOx, est ce que ce serait possible de récupérer automatiquement la timezone de l’host ? ou de pouvoir changer le paramètre dans gladys ? (J’ai trouvé ça)

Oui très facile il leur suffira de cliquer ici :
image
Et après on peut cumuler ça à un proxy manager pour avoir dans la barre durl un truc très propre du genre http://gladysassistant/login

Ok ça me va, je te propose : unRAID-Gladys-templates
Mon identifiant github est le même jgcb00

Description de Domoticz sur le store de unRaid :

Domoticz(https://www.domoticz.com) is a Home Automation System that lets you monitor and configure various devices like: Lights, Switches, various sensors/meters like Temperature, Rain, Wind, UV, Electra, Gas, Water and much more. Notifications/Alerts can be sent to any mobile device.

si ça te donne de l’inspiration

Ok, bon mieux vaut laisser host par défaut pour les utilisateurs, personnellement je vais pas pouvoir tester Philips Hue, Xiamoi etc…), j’ai essayer rapidement mais en bridge, j’avais pas réussi à faire fonctionner gladys, je vais retenter ma chance.

bonne idée, je pense si ça te coute rien…

Aucune idée Paypal c’est pas mal non ? Sinon utip, tipee, patreon, buy me a cofee, j’en sais rien…

Si /etc/timezone existe sous unraid ( désolé je connais pas du tout) oui ça le fait

J’ai créé le repo, j’ai mis en minuscule je trouve ça plus propre :

J’ai créé une team « unraid » dans l’organisation Gladys, je t’ai ajouté @jgcb00 ainsi que @VonOx au cas où (@VonOx c’est notre spécialiste système/Docker :smiley: ), vous avez tous les droits sur le repo en écriture/lecture.

@jgcb00 Maintenant que tu fais parti de l’organisation Gladys Assistant, je te conseille de bien sécuriser ton compte Github: mot de passe fort (idéalement dans un password manager) + 2FA.

Description pour Gladys :

Gladys Assistant (https://gladysassistant.com) is a privacy-first, open-source home assistant. Gladys helps you centralize your connected devices, visualize data on your dashboards and build automations to make your daily life easier.

J’ai créé un « Buy Me a Coffee », ça a l’air beaucoup mieux que PayPal et ça permet de faire une belle page. Il y a plein de moyen de paiement différent (y compris Apple Pay, Google Pay, etc…) , c’est assez puissant :

Je l’ai mis dans le footer du site, on verra ce que ça donne :slight_smile: ça me coûte rien de tenter !

N’hésite pas si tu as besoin d’autres informations pour unRaid !

Pour leur store, il faut créer un compte ? ça se passe comment ?

Hello,

Je suis de retour, j’ai reçu mes premiers périphériques zigbee et je voulais les tester sur unraid pour voir si cela marchait correctement avant de publier ça à tout le monde et bingo, j’ai des magnifiques beugs qui sont facilement et pas facilement resolvable.

voici mes conteneurs et les map associés et effectivement ça match pas.

gladys-z2m-mqtt ne trouve pas son fichier de configuration de même pour zigbee2mqtt, bref le module zigbee2mqtt ne fonctionne pas directement.

Pour que cela fonctionne, je vois 2 possibilités:

  1. Dechanger le path de base /mnt/user/appdata/Gladys vers la valeur par défaut qui est recommandé par le guide d’installation qui est /var/lib/gladysassistant. Problème : c’est pas une pratique courante chez unraid, les plugins doivent plutot être sur appdata donc on risque d’avoir des difficultés à valider le plugins, et le deuxième obstacle pour moi c’est que je suis pas certains de si lib est sur la clé USB contenant l’OS du NAS ou bien sur les disques du serveur et si c’est la clé USB c’est vraiment pas fou. (Je vais faire un test pour vérifier)
  2. On ajoute une variable au démarrage du docker qui renseigne le path host qui contient le path host de /var/lib/gladysassistant et on configure correctement les dockers mqtt quand on les lances.
    Ou bien docker nous permet de récupérer cette information, je m’y connais pas assez et on utilise alors ce path là (ce qui serait encore mieux)

Voilà je veux bien vos retours !

En tout cas super pour le reste, j’ai bien vu pour le repos, pour la publication j’aurais juste à pm quelqu’un sur le forum d’unraid

Yes c’est une bonne idée, j’ai eu le même retour d’un ami qui vient d’installer Gladys sur un Synology, il a le même souci.

Edit: J’édite mon message, ce que je propose ne marche pas, le SQLITE_FILE_PATH provient de l’intérieur du container. Je pense qu’on a pas le choix, soit on extrait le path du volume mais il faut passer par l’API de docker sur le container actuel (pas forcément simple), ou alors on ajoute une variable d’environnement.

@cicoub13 @AlexTrovato @VonOx Ce débat me dit déjà quelque chose, on s’était dit quoi ?

Ouai on en avait parler, de souvenir la solution pérenne c’est d’utiliser une variable d’environnement en argument du docker run.

1 « J'aime »

Et c’est très facilement configurable sous Unraid :ok_hand:

1 « J'aime »

sinon est ce que ça : How can I find where is the docker container directory in host machine? - Stack Overflow

ça pourrait pas faire l’affaire ?
Je m’y connais pas assez en docker

Le soucis c’est que tu peux avoir plusieurs volumes donc comment reconnaître le bon ?

Le début de discussion liée Zigbee2mqtt : Image docker de test basée Gladys v4 - #267 by cicoub13

@VonOx je comprend pas tu as parfaitement trouvé la solution non ?
Dans ce que je lis je vois que tu arrives à récupérer les paths et le bon path c’est celui qui a côté container /var/lib/gladysassistant non ?
J’ai pas compris pourquoi il fallait une variable après du coup

Non c’est celui de l’hôte justement

Gladys crée des conteneurs et la configuration de ces conteneur ( fichiers persistants)

Sauf que depuis le conteneur on ne sait quelle est le point de montage sur l’hôte.

Jusqu’à présent on avait que du Linux/Mac donc en dur dans le code c’est /var/lib/gladysassistant

A priori unraid est un Linux mais un peu particulier…

La solution ça serai des la création du conteneur gladys de lui indiquer dans une variable quel est le point de montage sur l’hôte et s’en servir pour créer les conteneurs.