Community-Lösung

ZimaOS-Docker-App-Pfade verstehen: Plex-Konfiguration, Medien, Host-Pfade und Container-Volumes

A July 2024 official Zima-Giorgio tutorial explaining Docker container paths and host-side ZimaOS volume mappings through Plex. The core model remains current, while ZimaOS now also supports choosing a global App data location and moving managed application data to another storage space.

Das wichtigste Docker-Speicherkonzept in ZimaOS besteht darin, dass ein Pfad innerhalb eines App-Containers nicht derselbe Pfad ist, den der Host zum Speichern der tatsächlichen Daten verwendet. Plex sieht möglicherweise /config und /media, während ZimaOS diese Speicherorte realen Ordnern auf einem Speicherlaufwerk zuordnet.

Das Tutorial von 2024 ist konzeptionell weiterhin korrekt. Die aktuelle Dokumentation von IceWhale hat das Modell erweitert: Benutzer können nun unter Einstellungen > Apps den globalen Speicherort für App-Daten festlegen, Anwendungsdaten in einen anderen Speicherbereich verschieben, Volume-Zuordnungen pro App überprüfen und große AppData-Ordner vom kleinen Systemlaufwerk fernhalten.

Diagramm, das einen AppData-Pfad des ZimaOS-Hosts einem kürzeren Pfad innerhalb eines Docker-Containers zuordnet
Der Host-Ordner und der Container-Ordner können unterschiedliche Namen haben und trotzdem auf dieselben eingebundenen Daten verweisen.

Ein Container hat sein eigenes Dateisystem

Docker isoliert jede App vom ZimaOS-Host. Innerhalb des Containers sieht eine App ihr eigenes Root-Dateisystem, das bei /Dateien, die nur in dieser temporären Schicht geschrieben werden, können verschwinden, wenn der Container neu erstellt wird.

Persistente Daten benötigen daher ein explizites Volume oder einen Bind-Mount zu einem realen Ordner auf dem Host.

Der Host-Pfad und der Container-Pfad haben unterschiedliche Aufgaben

Eine Zuordnung wie:

/DATA/AppData/plex/config  →  /config
/DATA/Media                →  /media

bedeutet:

  • Die linke Seite ist der tatsächliche Speicherort auf dem ZimaOS-Host;
  • Die rechte Seite zeigt, was Plex innerhalb des Containers sieht.

Plex sollte für die Verwendung des Pfads innerhalb des Containers konfiguriert werden, während Sicherungen und die Dateiverwaltung auf Host-Ebene auf den Host-Pfad abzielen.

Plex /config enthält den persistenten Anwendungsstatus

Das Quelltutorial hat Plexs /config in einen AppData-Ordner, damit die Bibliotheksdatenbank, Einstellungen, Metadaten und der zugehörige Status Container-Neustarts oder eine Neuerstellung überdauern.

Das aktuelle ZimaOS verwendet weiterhin dasselbe Prinzip für persistente Daten, aber der tatsächliche Host-Pfad kann sich ändern, wenn der Benutzer den Speicherort der App-Daten ändert.

Plex /media sollte auf die tatsächliche Medienbibliothek verweisen

Plex erkennt nicht automatisch jede Festplatte in ZimaOS. Ein Medienordner des Hosts muss in den Plex-Container eingebunden und anschließend über den entsprechenden Pfad innerhalb des Containers ausgewählt werden.

Plex-App-Beispiel aus dem Tutorial zum Docker-Pfad in ZimaOS
Plex ist ein nützliches Beispiel, da seine Konfiguration und Mediendaten eindeutig unterschiedliche Anforderungen an die dauerhafte Speicherung haben.

In den App-Einstellungen können Sie die Volume-Zuordnungen anzeigen und bearbeiten

Im Tutorial von Zima-Giorgio wurden Benutzer aufgefordert, die Plex-Einstellungen zu öffnen und die Volume-Pfade zu prüfen. Das aktuelle ZimaOS verwendet dieses Modell weiterhin und bietet über Einstellungen > Apps zusätzlich eine umfassendere Übersicht über den App-Speicher.

Verwenden Sie das aktuelle Modell der ZimaOS-App-Speicherpfade, um das heutige Verhalten der Pfade zu verstehen.

Mit dem aktuellen ZimaOS können Sie den globalen Speicherort der App-Daten verschieben

IceWhale empfiehlt nun, den Speicherort der App-Daten auf einen tatsächlichen Speicherplatz zu verweisen, anstatt das Systemlaufwerk zu füllen. ZimaOS kann verwaltete App-Daten verschieben, wenn dieser Speicherort geändert wird.

Das bedeutet, dass ein fest codierter Pfad aus dem Jahr 2024 wie /DATA/AppData/plex/config möglicherweise nicht auf jedem aktuellen System der wörtliche Pfad sein.

Die persistenten Ordner auf der Hostseite sichern

Sichern Sie bei Plex den Host-Ordner, in dem /config sowie alle anderen wichtigen persistenten Einbindungen. Das Sichern des flüchtigen Container-Images ist in der Regel weniger wertvoll, da das Image erneut abgerufen werden kann.

Bei Datenbanken sollten Sie prüfen, ob die Anwendung vor einer Sicherung auf Dateisystemebene beendet oder konsistent exportiert werden muss.

Medien und AppData sind unterschiedliche Speicherklassen

Die Plex-Konfiguration kann nur wenige Gigabyte umfassen, während eine Medienbibliothek Dutzende Terabyte groß sein kann. Sie können auf unterschiedlichen Speicherplätzen liegen und unterschiedlichen Sicherungsrichtlinien unterliegen.

Verschieben Sie nicht die gesamte Medienbibliothek, nur weil Sie den AppData-Speicherort von Plex ändern.

Auch eine korrekte Zuordnung kann aufgrund fehlender Berechtigungen fehlschlagen

Wenn Plex den eingebundenen Pfad sehen, aber keine Dateien öffnen kann, betrifft die nächste Prüfebene die Eigentümer- und Zugriffsrechte des Dateisystems. Wenn der Pfad im Container überhaupt nicht existiert, korrigieren Sie zuerst die Volume-Zuordnung.

FAQ zu Docker-Pfaden

Sollte Plex in den Bibliothekseinstellungen den ZimaOS-Hostpfad verwenden?

Nein. Plex sollte normalerweise den containerseitigen Pfad verwenden, etwa /media.

Wird durch das Löschen eines Docker-Containers automatisch die zugeordnete AppData gelöscht?

Nein. Persistente Host-Ordner bleiben erhalten, sofern sie nicht absichtlich entfernt werden.

Ist /DATA/AppData immer der aktuelle physische Speicherort der AppData?

Nicht unbedingt. Im aktuellen ZimaOS können Benutzer den Speicherort der verwalteten App-Daten auswählen und ändern.