Hallo
Kontext: Installation auf einem RPI4 mit SSD, betrieben unter Umbrel OS 1.1 (vor einem Monat veröffentlicht).
Die Integration befindet sich in der Überprüfung hier, aber ich wollte es auf einem echten RPI testen (und nicht in einer VM).
Ich habe kürzlich ein Gladys Plus-Backup auf einer frischen Umbrel-Installation wiederhergestellt (um das Verhalten auf diesem OS zu testen).
Am Ende der Wiederherstellung erhielt ich den folgenden Fehler und musste den Gladys-Container manuell starten (seitdem funktioniert alles einwandfrei).
2024-04-23T15:14:36+0200 <info> gateway.restoreBackup.js:39 (Gateway.restoreBackup) Backup wiederhergestellt. Jetzt muss neu gestartet werden.
2024-04-23T15:14:36+0200 <info> system.shutdown.js:13 (System.shutdown) Die Datenbank ist wahrscheinlich bereits geschlossen
2024-04-23T15:14:36+0200 <warn> system.shutdown.js:14 (System.shutdown) Fehler: SQLITE_MISUSE: Datenbank ist geschlossen
at /src/server/node_modules/sequelize/src/dialects/sqlite/connection-manager.js:31:79
at node:internal/util:441:7
at new Promise (<anonymous>)
at node:internal/util:427:12
at /src/server/node_modules/sequelize/src/dialects/sqlite/connection-manager.js:31:85
at Array.map (<anonymous>)
at ConnectionManager._onProcessExit (/src/server/node_modules/sequelize/src/dialects/sqlite/connection-manager.js:31:10)
at ConnectionManager.close (/src/server/node_modules/sequelize/src/dialects/abstract/connection-manager.js:116:23)
at Sequelize.close (/src/server/node_modules/sequelize/src/sequelize.js:1292:35)
at System.shutdown (/src/server/lib/system/system.shutdown.js:11:26)
at Gateway.restoreBackupEvent (/src/server/lib/gateway/gateway.restoreBackupEvent.js:18:23)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at EventEmitter.<anonymous> (/src/server/utils/functionsWrapper.js:13:7) {
errno: 21,
code: 'SQLITE_MISUSE'
}
Ah, das könnte an der Option im docker-compose liegen
restart: on-failure
Ich habe ein seltsames Verhalten. Der Gladys-Container kann localhost nicht kontaktieren (was Probleme beim Kontaktieren von MQTT verursacht).
Der ping localhost gibt mir ping: bad address 'localhost' zurück
Der ping 127.0.0.1 funktioniert.
Ich habe alles überprüft (/etc/hosts, DNS, Loopback-Schnittstelle, Container im Netzwerkmodus: host). Ich bin am Ende meines Lateins.
Hallo @cicoub13 
Genau, der Wiederherstellungsmechanismus basiert darauf, dass Gladys automatisch neu gestartet wird, wenn sie sich selbst beendet. Wenn du auf restart: on-failure hast, funktioniert das nicht mehr. Es muss restart: always sein!
Das weiß ich ehrlich gesagt nicht, wie Umbrel funktioniert. Gibt es in ihrer Docker-Konfiguration ein spezielles Umbrel-Netzwerk oder so etwas?
Ich hatte es geschafft, alles zum Laufen zu bringen und die PR hier gemacht: https://github.com/getumbrel/umbrel-apps/pull/1044
Aber sie stellen viele Fragen zu unseren recht weitreichenden Zugriffsrechten. Ich werde antworten und versuchen zu erklären, warum wir sie benötigen (wie z. B. Home Assistant…).
Cool super @cicoub13 
Ich habe die Fragen gesehen, tatsächlich ist es schon ziemlich erstaunlich, dass sie diese Fragen stellen, obwohl sie Home Assistant dieselben Berechtigungen geben: umbrel-apps/home-assistant/docker-compose.yml at master · getumbrel/umbrel-apps · GitHub
Lass mich wissen, wenn du Hilfe bei der Beantwortung brauchst
nmfretz (Nathan Fretz) · GitHub scheint mehr Expertise zu haben und versteht einen großen Teil der Parameter.
Ich habe kommentiert und weitere Details zu unseren Anforderungen hinzugefügt.
Ich stehe etwas auf dem Schlauch bei cgroup: host und privileged: true. Könntest du mir den Grund für diese Parameter erklären?
Danke @cicoub13 für die Antworten, ich habe meine Antworten für cgroup und privileged hinzugefügt
Negative Antwort bezüglich der Docker-Daemon-Exposition (zu riskant). Sie schlagen mehrere Lösungen hier vor: Add gladys assistant by cicoub13 · Pull Request #1044 · getumbrel/umbrel-apps · GitHub
Docker-in-Docker erscheint mir interessant (auch für uns), aber das scheint mir komplex und ich frage mich, ob es für Gladys außerhalb von Umbrel sinnvoll ist.
Hallo @cicoub13!
Ich habe die Antwort gesehen, aber für mich funktioniert Docker in Docker nicht und ist sogar sehr wackelig.
Kann ein Container Zigbee2mqtt innerhalb eines anderen Containers auf das System zugreifen (Privileged? USB-Port?)
Soweit ich das verstehe, möchte das Umbrel-Projekt Herr des Hosts bleiben und den Containern nicht das Recht geben, andere Container zu starten, genau das versuchen wir aber zu tun ^^
Wenn ihr Projekt dieses Verhalten nicht akzeptiert, ist es vielleicht besser, dieses Verhalten in diesen Installationen nicht zu ermöglichen, und der Benutzer kann einfach Z2M im Remote-Modus verwenden, genauso wie MQTT…
Aber es muss getestet werden!
Ich frage mich, ob diese Anwendungen (Portainer, Home Assistant) wirklich innerhalb von Umbrel verwendet werden?
Hallo @cicoub13
Ich schaue mal, was es Neues zu diesem Thema gibt!
Aufgrund ihrer letzten Antwort habe ich es aufgegeben. Ich denke, die Investition von Entwicklerzeit lohnt sich heute nicht.
Was ich nicht verstehe, ist, warum es für HA okay ist und nicht für uns. Nun ja, sie versuchen, es besser zu machen, und deshalb kommen wir etwas zu spät 
Und wenn wir einfach den „Container-Start“-Teil aufgeben? Da wir uns jetzt mit einem bestehenden Zigbee2mqtt-Container verbinden können, ist das gut 
Da Gladys weiß, wann der Docker-Dämon nicht verfügbar ist, gibt es normalerweise keine Änderungen im Produkt?
Es ist nur eine einzige Zeile in der Umbrel-PR zu ändern