Gladys auf Unraid

Hallo,
Aufgrund der Bemühungen, die Community zu erweitern, beschäftige ich mich mit der Erstellung eines Plugins für Unraid. Und ich würde auch sehr gerne Gladys direkt von Unraid aus laufen lassen.

Allerdings treffe ich auf einen Fehler, der mir seltsam vorkommt, da der Befehl eigentlich gut aussieht. Habt ihr Ideen dazu?

Vielen Dank im Voraus

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.

Hallo! Toll das :slight_smile: Super Idee, das ist genau in der Philosophie von dem, was wir versuchen zu erreichen.

Ich verstehe diese drei Zeilen nicht:

-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' \

Das Ziel dieser Zeilen ist es, den Docker-Daemon und die USB-Ports zu Gladys zu mappen, aber hier mappst du Ordner. Bist du sicher, dass du das hier tun möchtest? (Ich kenne unraid nicht)

Vor etwa einem Jahr habe ich es geschafft, Gladys ohne Probleme in meinem NAS unter Unraid laufen zu lassen.
Also, es ist machbar!
Allerdings habe ich aufgehört, weil meine USB-Dongles im NAS Platz weggenommen haben und es am Ende nicht besonders praktisch war, da mein NAS in einer Ecke des Hauses steht.

Also, ich verstehe ehrlich gesagt nicht ganz jeden dieser Pfade und ihren Nutzen, also habe ich ein bisschen daran herumgebastelt.
Daher läuft die Instanz nach dem Einstellen der entsprechenden Werte – super! Ich werde ein paar Tage testen, vor allem, ob es mit den USB-Dongles nicht zu Problemen kommt, aber das hoffen wir nicht, und ich werde danach fragen, sobald es veröffentlicht ist.

Ich habe aufgehört, weil meine USB-Dongles auf dem NAS Platz wegnehmen

Daher gebe ich zu, dass ich einen echten PC habe, der Unraid laufen lässt, also habe ich dieses Problem nicht wirklich!

Gibt es eine Möglichkeit, einen Spendenlink anzubieten? Hast du einen?
Gleichzeitig, hast du eine URL für das Logo?

Alles klar, super :ok_hand: Was ist der finale Befehl, damit wir das überprüfen können?

Wie läuft die Veröffentlichung mit unRAID? Brauchst du ein Repository, damit es ein offizieller Gladys-Plugin wird?

Es gibt kein Spendensystem, Benutzer, die unterstützen möchten, gehen über Gladys Plus: Gladys Plus : accès distant sécurisé pour ta domotique | Gladys Assistant

Für das Logo, welches Format brauchst du? Welche Größe?

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'

Also, ich muss einfach ein GitHub-Repo erstellen, eine XML-Datei darin ablegen und den Link an eine Person senden, die das Repo als Anwendungsanbieter für die Community hinzufügt. Wenn wir etwas sehr sauber machen wollen, können wir ein Repo über das offizielle Gladys-Assistant-Repo erstellen und ich mache einen MR darin.

Der letzte Punkt ist, dass wir unbedingt eine Support-Seite für den Fall von Benutzerproblemen bei der Installation erstellen müssen. Die Frage ist, ob es besser ist, sie auf dem Unraid-Forum oder hier zu erstellen.

Es fehlt auch eine kurze Beschreibung der Anwendung und wahrscheinlich ein Link zu einem englischsprachigen Präsentationvideo. Wenn ihr ein bestimmtes Video empfehlt, sonst kann ich auch einfach einen Link zur Startseite der Website einfügen, das ist auch nicht schlecht.

Der letzte Punkt ist, dass das Docker-Netzwerk vom Typ Host ist, das ist nicht ideal auf einem NAS, die meisten Leute mögen es, es auf Bridge oder ein bestimmtes Netzwerk zu setzen, aber das wird derzeit nicht unterstützt. Ist das kompliziert umzusetzen oder nicht?

Genau, ich habe bereits dieses Abonnement und persönlich würde ich gerne deine Arbeit mehr unterstützen, gibt es eine Möglichkeit, etwas anderes einzurichten?

Ich habe dieses hier genommen und es funktioniert, also super.

Ich gebe zu, dass ich lieber einmalige Spenden (für nichts anderes als die Freude, Gladys kostenlos nutzen zu können) tätigen würde, als ein Abo zu haben… Ich habe immer ein Problem mit wiederkehrenden Zahlungen, die in meinem Unterbewusstsein einen negativen Beigeschmack haben :wink:

Du hast die Variable TZ doppelt und ich denke, dass das für unRAID (die Zeitzone) anders gemacht werden muss. Man sollte prüfen, ob man den Wert direkt aus dem Betriebssystem abrufen kann (mit dem Ziel, das Plugin zu internationalisieren).

Wie können Unraid-Benutzer auf Gladys zugreifen, wenn dieser Port verwendet wird?

Vielleicht ist das einfacher und langfristig nachhaltiger :slight_smile:

Ich kann ein Repository erstellen und dir die Rechte geben.

Wie heißt ihr Apps-System bei Unraid? Damit ich den Namen des Repositories kenne.

Vielleicht ist es einfacher, einen Link zu diesem Forum zu setzen? Auf der Unraid-Forum-Seite wäre es aber interessant, etwas Werbung für Gladys zu machen, sobald die App veröffentlicht ist. :slight_smile:

Wie lang sollte die Beschreibung sein?

Für das Präsentationvideo habe ich keins auf Englisch. Vielleicht ist die Startseite der Website vorerst besser geeignet.

Du kannst Gladys ohne network=host laufen lassen, aber einige Integrationen, die Netzwerkscans durchführen oder Netzwerk-Broadcasts abhören (Philips Hue, Xiaomi usw.), werden nicht funktionieren. Es muss getestet werden, ob es im Bridge-Modus funktioniert.

Das ist nett :slight_smile: Ich hatte früher einen PayPal-Spendenlink und eine Krypto-Spende, aber die wurden nicht oft genutzt.

Wenn es Nachfrage gibt, kann ich diese Links wieder einrichten.

Perfekt!

Und wenn du die Möglichkeit hättest, Gladys Plus für ein Jahr mit einer Einmalzahlung zu kaufen, würde dir das weniger « Angst » machen? ^^

Andernfalls kann ich ein Spendensystem wiederherstellen. Welche Zahlungsmethode wäre am besten?

Genau, danke, ich korrigiere das.
Ich bin der Meinung von @VonOx, wäre es möglich, die Zeitzone des Hosts automatisch abzurufen? Oder könnte man das Parameter in Gladys ändern? (Ich habe das hier gefunden)

Ja, sehr einfach, sie müssen einfach hier klicken:
image
Und danach kann man das mit einem Proxy-Manager kombinieren, um in der Adressleiste etwas sehr sauberes wie http://gladysassistant/login zu haben.

Okay, das geht für mich, ich schlage vor: unRAID-Gladys-templates
Mein GitHub-Identifikator ist der gleiche: jgcb00

Beschreibung von Domoticz im unRAID-Store:

Domoticz(https://www.domoticz.com) ist ein Home-Automation-System, das es Ihnen ermöglicht, verschiedene Geräte wie: Lichter, Schalter, verschiedene Sensoren/Messer wie Temperatur, Regen, Wind, UV, Elektra, Gas, Wasser und vieles mehr zu überwachen und zu konfigurieren. Benachrichtigungen/Alarme können an jedes mobile Gerät gesendet werden.

Falls dir das Inspiration gibt

Okay, besser ist es, für die Benutzer host als Standard zu belassen, persönlich werde ich nicht in der Lage sein, Philips Hue, Xiamoi usw. zu testen), ich habe es schnell versucht, aber im Bridge-Modus konnte ich Gladys nicht zum Laufen bringen, ich werde es noch einmal versuchen.

Gute Idee, ich denke, wenn es dich nichts kostet…

Keine Ahnung, PayPal ist nicht schlecht, oder? Sonst utip, tipee, patreon, buy me a cofee, ich weiß nicht…

Wenn /etc/timezone unter unraid existiert (Entschuldigung, ich kenne mich damit nicht aus) dann ja, das funktioniert.

Ich habe das Repo erstellt, ich habe es in Kleinbuchstaben geschrieben, ich finde das sauberer:

Ich habe ein Team « unraid » in der Organisation Gladys erstellt, ich habe dich @jgcb00 sowie @VonOx hinzugefügt, falls nötig (@VonOx ist unser System/Docker-Spezialist :D), ihr habt alle Rechte auf das Repo zum Lesen/Schreiben.

@jgcb00 Jetzt, da du Teil der Organisation Gladys Assistant bist, rate ich dir, dein GitHub-Konto gut zu sichern: starkes Passwort (ideal in einem Passwort-Manager) + 2FA.

Beschreibung für Gladys:

Gladys Assistant (https://gladysassistant.com) ist ein datenschutzorientierter, Open-Source-Home-Assistent. Gladys hilft dir, deine vernetzten Geräte zu zentralisieren, Daten auf deinen Dashboards zu visualisieren und Automatisierungen zu erstellen, um deinen Alltag zu erleichtern.

Ich habe einen « Buy Me a Coffee » erstellt, das scheint viel besser als PayPal und ermöglicht es, eine schöne Seite zu erstellen. Es gibt viele verschiedene Zahlungsmethoden (einschließlich Apple Pay, Google Pay, etc.), es ist ziemlich leistungsfähig:

Ich habe es im Footer der Website platziert, wir werden sehen, wie es läuft :slight_smile: Es kostet mich nichts, es zu versuchen!

Zögere nicht, wenn du weitere Informationen für unRaid benötigst!

Für ihren Store, muss man ein Konto erstellen? Wie läuft das ab?

Hallo,

Ich bin zurück, ich habe meine ersten Zigbee-Geräte erhalten und wollte sie auf Unraid testen, um zu sehen, ob alles richtig funktioniert, bevor ich das allen veröffentliche. Und siehe da, ich habe wunderschöne Fehler, die leicht und nicht so leicht zu beheben sind.

Hier sind meine Container und die zugehörigen Maps, und tatsächlich stimmt das nicht.

gladys-z2m-mqtt findet seine Konfigurationsdatei nicht, ebenso wenig wie zigbee2mqtt. Kurz gesagt, das zigbee2mqtt-Modul funktioniert nicht direkt.

Damit es funktioniert, sehe ich zwei Möglichkeiten:

  1. Den Basis-Pfad von /mnt/user/appdata/Gladys in den Standardwert ändern, der von der Installationsanleitung empfohlen wird, nämlich /var/lib/gladysassistant. Problem: Das ist keine übliche Praxis bei Unraid, Plugins sollten eher in appdata sein, daher könnte es schwierig sein, die Plugins zu validieren. Und das zweite Hindernis für mich ist, dass ich nicht sicher bin, ob lib auf dem USB-Stick mit dem NAS-Betriebssystem oder auf den Servern Festplatten ist und wenn es der USB-Stick ist, ist das wirklich nicht ideal. (Ich werde einen Test durchführen, um das zu überprüfen)
  2. Wir fügen eine Variable beim Starten des Docker hinzu, die den Host-Pfad angibt, der den Host-Pfad von /var/lib/gladysassistant enthält, und wir konfigurieren die mqtt-Container korrekt, wenn wir sie starten.
    Oder Docker ermöglicht es uns, diese Information abzurufen, ich kenne mich nicht gut genug aus, und wir verwenden dann diesen Pfad (was noch besser wäre)

Also, ich freue mich über euer Feedback!

Auf jeden Fall super für den Rest, ich habe gesehen, dass es um die Repos geht, für die Veröffentlichung müsste ich nur jemanden auf dem Unraid-Forum per PM kontaktieren.

Ja, das ist eine gute Idee, ich hatte das gleiche Feedback von einem Freund, der gerade Gladys auf einem Synology installiert hat, er hat das gleiche Problem.

Bearbeitung: Ich bearbeite meine Nachricht, was ich vorschlage funktioniert nicht, der SQLITE_FILE_PATH stammt aus dem Inneren des Containers. Ich glaube, wir haben keine Wahl, entweder extrahieren wir den Pfad aus dem Volume, aber dafür muss man die Docker-API des aktuellen Containers verwenden (nicht unbedingt einfach), oder wir fügen eine Umgebungsvariable hinzu.

@cicoub13 @AlexTrovato @VonOx Dieser Streit kommt mir bekannt vor, was haben wir uns da gesagt?

Ja, darüber haben wir gesprochen, soweit ich mich erinnere, ist die dauerhafte Lösung, eine Umgebungsvariable als Argument von docker run zu verwenden.

Und das ist unter Unraid super einfach konfigurierbar :ok_hand:

oder so: https://stackoverflow.com/questions/54877755/how-can-i-find-where-is-the-docker-container-directory-in-host-machine

könnte das nicht funktionieren?
Ich kenne mich nicht gut genug mit Docker aus

Das Problem ist, dass du mehrere Volumes haben kannst, also wie erkennt man das richtige?

Der Anfang des zugehörigen Diskussionsthreads: Zigbee2mqtt : Image docker de test basée Gladys v4 - #267 par cicoub13

@VonOx ich verstehe nicht, du hast doch perfekt die Lösung gefunden, oder?
In dem, was ich lese, sehe ich, dass du die Pfade abrufen kannst und der richtige Pfad ist der mit dem Container /var/lib/gladysassistant, oder?
Ich habe nicht verstanden, warum man danach eine Variable braucht.

Nein, es ist genau das des Hosts

Gladys erstellt Container und die Konfiguration dieser Container (persistente Dateien)

Aber aus dem Container weiß man nicht, welcher der Mount-Punkt auf dem Host ist.

Bisher hatten wir nur Linux/Mac, also ist es im Code hartcodiert /var/lib/gladysassistant

A priori ist Unraid ein Linux, aber ein bisschen besonders…

Die Lösung wäre, dem Gladys-Container bei der Erstellung in einer Variablen den Mount-Punkt auf dem Host mitzuteilen und diesen für die Erstellung der Container zu verwenden.