Community-Lösung

PeaNUT verliert Einstellungen nach dem Neustart von ZimaOS: Persistenz beheben

A March 2026 ZimaOS user found that PeaNUT still read UPS data after reboot but lost its saved configuration; a forum volume remap fixed that specific installed build.

Wenn PeaNUT Ihre USV nach einem Neustart von ZimaOS weiterhin erkennt, die gespeicherten Einstellungen jedoch verschwinden, liegt das Problem normalerweise an der Persistenz und nicht an der Verbindung zur USV. Das Konfigurationsverzeichnis muss einem dauerhaften ZimaOS-Speicher zugeordnet sein, und der Container muss Schreibzugriff auf dieses Verzeichnis haben.

Der Forenthread vom März 2026 bestätigte eine Lösung für den damals installierten PeaNUT-Build: die Zuordnung eines dauerhaften Host-Ordners zu /app/config. Die aktuelle Upstream-Dokumentation von PeaNUT verwendet inzwischen standardmäßig /config für die dauerhafte Konfiguration. Neue Installationen sollten daher dem aktuellen Pfad folgen, statt den alten Containerpfad blind zu übernehmen.

Was die Lösung aus dem Forum tatsächlich bewiesen hat

Der ursprüngliche Verfasser berichtete, dass alle PeaNUT-Einstellungen nach jedem Neustart von ZimaOS verschwanden, obwohl Home Assistant weiterhin USV-Daten empfing. Ein Community-Mitglied prüfte das Paket und schlug vor, die Volume-Zuordnung zu ändern, sodass ein Host-Ordner unter den ZimaOS-App-Daten nach /app/config eingebunden wurde. Der ursprüngliche Verfasser antwortete, dass dies „den Zweck erfüllt“ habe, womit die Lösung für diese bestimmte Paketversion bestätigt war.

PeaNUT-Einstellungsseite aus dem ursprünglichen ZimaOS-Persistenz-Thread
Der ursprüngliche Thread zeigte eine PeaNUT-Konfiguration, die nach einem Neustart verloren ging. Quelle: IceWhale Community Forum.

Das bedeutet nicht, dass /app/config heute für jedes PeaNUT-Image das richtige Ziel ist. Containerpfade sind Bestandteil des Image-Vertrags und können sich zwischen Builds ändern.

Bei aktuellen PeaNUT-Builds /config dauerhaft speichern

Die aktuelle PeaNUT-Docker-Dokumentation verwendet /config für dauerhafte Einstellungen. Das aktuelle Image erwartet außerdem, dass dieses Verzeichnis für den Dienstbenutzer beschreibbar ist, normalerweise mit UID/GID 1000:1000.

Ordnen Sie in ZimaOS ein dauerhaftes Host-Verzeichnis, beispielsweise einen App-Datenordner, /config zu. Starten Sie anschließend den Container neu und nehmen Sie eine harmlose Einstellungsänderung vor. Starten Sie das System ein weiteres Mal neu und prüfen Sie, ob die Änderung erhalten bleibt. Dasselbe Prinzip der Persistenz wird im Leitfaden zur Migration von ZimaOS-App-Daten erläutert.

Prüfen Sie die Schreibberechtigungen, bevor Sie die Pfade erneut ändern

Wenn die Zuordnung korrekt ist, die Einstellungen aber weiterhin zurückgesetzt werden, prüfen Sie die PeaNUT-Protokolle auf Berechtigungsfehler. Der aktuelle Upstream-Code weist ausdrücklich darauf hin, wenn /config nicht beschreibbar ist. Gehen Sie nicht davon aus, dass das Hinzufügen nicht unterstützter Umgebungsvariablen wie PUID oder PGID das Image repariert. Die aktuelle Upstream-Anleitung konzentriert sich stattdessen darauf, den Host-Ordner für den tatsächlichen Dienstbenutzer des Containers beschreibbar zu machen.

Das Upstream-PeaNUT-Diskussionsforum ist hilfreich, wenn ein aktuelles Image spezifische Berechtigungsfehler ausgibt.

Warum docker exec fehlschlagen kann

Der ursprüngliche Thread zeigte außerdem, dass docker exec -it PeaNUT sh fehlschlug, weil das verwendete PeaNUT-Image keine Shell enthielt. Das ist kein Hinweis darauf, dass der Container defekt ist. Minimale Images verzichten möglicherweise absichtlich auf sh oder bash.

Terminal mit einem Fehler beim Öffnen einer Shell per docker exec für den PeaNUT-Container
Der Container konnte ausgeführt werden, obwohl keine interaktive Shell verfügbar war. Verwenden Sie stattdessen Protokolle und prüfen Sie die Volume-Zuordnung. Quelle: IceWhale Community Forum.

Beginnen Sie mit den Containerprotokollen und der konfigurierten Volume-Zuordnung. Grundlagen zur Persistenz von Containern erklärt der Einstiegsleitfaden für Docker-Apps unter ZimaOS. Dort wird erläutert, warum auf dem Host eingebundene Daten die Neuerstellung und Neustarts von Containern überstehen.

Fazit

Die alte Lösung aus der Community war für das im März 2026 verwendete PeaNUT-Paket tatsächlich korrekt. Aktuelle PeaNUT-Builds dokumentieren jedoch /config als dauerhaftes Verzeichnis. Verwenden Sie den vom installierten Image dokumentierten Containerpfad, machen Sie den Host-Ordner beschreibbar und überprüfen Sie die Persistenz mit einem Neustart, bevor Sie weitere Änderungen vornehmen.