Immich kann deutlich mehr Speicherplatz benötigen, als für das ZimaOS-Systemlaufwerk vorgesehen ist, insbesondere wenn Uploads vom Smartphone, Vorschaubilder, codierte Videos, Modelle für maschinelles Lernen und die PostgreSQL-Datenbank größer werden. Die ursprüngliche IceWhale-Community-Anleitung löste dieses Problem im April 2025, indem sie während einer benutzerdefinierten Installation in ZimaOS ausgewählte Volume-Zuordnungen änderte, sodass die Immich-Daten auf einem RAID-Volume statt auf dem ZimaOS-Laufwerk gespeichert wurden.
Dieser Workaround ist nützlich, um zu verstehen, wie der Container verbunden ist, sollte aber nicht als allgemein gültige aktuelle Anleitung betrachtet werden. Spätere Antworten berichteten von fehlgeschlagenen Installationen, wiederholten Neustarts, einem nicht funktionierenden PostgreSQL-Container und sogar beschädigten Foto-Uploads nach Experimenten mit Zuordnungen. ZimaOS hat außerdem integrierte Migrationstools hinzugefügt und verbessert, während aktuelle Immich-Docker-Compose-Versionen Variablen auf der Host-Seite verwenden, wie zum Beispiel UPLOAD_LOCATION und DB_DATA_LOCATION. Verwende bei einem aktuellen System zuerst den integrierten Migrationspfad von ZimaOS, wenn er zu deinem Ziel passt, und bearbeite Volumes manuell nur dann, wenn du ausdrücklich ein individuelles Immich-Speicherlayout benötigst.
Was die ursprüngliche ZimaOS-Immich-Anleitung von 2025 geändert hat
Das Community-Tutorial verwendete die benutzerdefinierte Installation von ZimaOS oder nach der Installation den Einstellungsbildschirm der App und arbeitete die Registerkarten des Dienstes nacheinander durch. Ziel war es, die persistenten Immich-Daten auf einen größeren RAID-Speicherort umzuleiten und dabei die von Immich erwarteten Pfade auf der Container-Seite beizubehalten.
Datenbank: Host-Pfad verschieben, Container-Pfad beibehalten
Im Datenbank-Tab änderte der Autor den Speicherort auf der ZimaOS-Seite in einen RAID-Pfad und behielt das Verzeichnis-Suffix der Datenbank bei. Das wichtige Prinzip war, den Pfad auf der rechten Seite innerhalb des Containers nicht umzuschreiben. Eine Änderung des Container-Ziels kann den Dienst beschädigen, da PostgreSQL seine Daten an dem Pfad erwartet, der in der Immich-Paket- oder Compose-Konfiguration festgelegt ist.
In der aktuellen Immich-Docker-Compose-Dokumentation wird dieser Speicherort auf dem Host über DB_DATA_LOCATION. Immich warnt außerdem, dass Netzwerkfreigaben für die PostgreSQL-Datenbank nicht unterstützt werden. Die Datenbank sollte daher auf zuverlässigem, lokal angeschlossenem Speicher verbleiben und nicht auf einer SMB- oder NFS-Freigabe.
Maschinelles Lernen: Modell-Cache nur bei Bedarf umleiten
Die ursprüngliche Anleitung leitete außerdem den hostseitigen Cache für maschinelle Lernmodelle um, während der containerseitige Cache-Pfad unverändert blieb. Das Verschieben dieses Caches kann auf einem kleinen Systemdatenträger Speicherplatz sparen, ist jedoch weniger wichtig als der Schutz der Fotobibliothek und der Datenbank, da heruntergeladene Modelle normalerweise neu erstellt werden können.
Immich-Server: Der empfindlichste Volume-Bereich
Der Immich-Server-Tab war der Teil, den der Autor am leichtesten zu beschädigen fand. Es wurden zusätzliche Host-Zuordnungen hinzugefügt, damit Uploads und andere dauerhafte Medienverzeichnisse auf den RAID-Speicher verweisen. Im Thread wird wiederholt betont, dass nur die vorgesehenen hostseitigen Speicherorte geändert werden sollten und containerseitige Pfade nicht unbedacht verändert werden dürfen.
Im ursprünglichen Ablauf erforderte der Redis-Tab keine Änderungen am Speicher. Dies ist ein weiterer Grund, nicht pauschal jeden Volume-Eintrag per Suchen und Ersetzen zu ändern: Die verschiedenen Immich-Dienste haben unterschiedliche Anforderungen an die dauerhafte Datenspeicherung.
Verwenden Sie bei aktuellen Systemen zuerst die ZimaOS-Datenmigration
Die wichtigste Neuerung aus der späteren Diskussion ist, dass ZimaOS jetzt einen eigenen Migrationsablauf bietet. Eine Antwort eines IceWhale-Teammitglieds im Thread warnte ausdrücklich davor, App-Daten manuell zu kopieren, da dies Fehler verursachen kann, und empfahl in den meisten Fällen die Verwendung der Migrationsfunktion.
Der aktuelle Leitfaden zur ZimaOS-Datenmigration führt drei verschiebbare Speicherkategorien auf: Docker-Images, Docker-Anwendungsdaten und Benutzerdatenbanken. Der reguläre Pfad lautet:
- Öffnen Sie Einstellungen > Datenmigration.
- Wählen Sie die Speicherkategorie aus, die Sie verschieben möchten.
- Wählen Sie Speicherort ändern.
- Wählen Sie das Ziellaufwerk oder den Zielspeicher aus.
- Prüfen Sie die Warnung, starten Sie die Migration und warten Sie auf den Abschlussbericht.
Diese integrierte Migration ist der bessere Ausgangspunkt, wenn Ihr Ziel lediglich darin besteht, Docker-Anwendungsdaten vom Systemlaufwerk von ZimaOS fernzuhalten. Außerdem verringert sie das Risiko, dass Pfade, Berechtigungen oder symbolische Links nach einem manuellen Verschieben inkonsistent bleiben.
Was ist, wenn Sie Immich auf der SSD, die Fotos aber auf RAID speichern möchten?
Eine spätere Frage im Thread brachte ein sinnvolleres langfristiges Layout auf: Die Anwendung und leistungssensitiven Komponenten auf der SSD belassen, die große Fotosammlung jedoch auf RAID speichern. Der ursprüngliche Autor hatte diese aufgeteilte Konfiguration nicht getestet, daher enthält der Thread selbst kein verifiziertes ZimaOS-Rezept dafür.
Die aktuelle Immich-Dokumentation beschreibt zwei Konzepte, die dabei helfen, das richtige Layout festzulegen. Für von Immich hochgeladene Medien verwendet die offizielle Docker-Compose-Konfiguration UPLOAD_LOCATION als Hostpfad für den Medienspeicher. Für eine vorhandene Fotosammlung, die Immich indizieren soll, ohne sie in seinen verwalteten Upload-Bereich zu importieren, unterstützt Immich externe Bibliotheken.
In einer standardmäßigen aktuellen Immich-Compose-Bereitstellung sehen die relevanten Umgebungsvariablen konzeptionell so aus:
UPLOAD_LOCATION=/path/to/large-media-storage
DB_DATA_LOCATION=/path/to/local-database-storage
Fügen Sie diese Pfade nicht blind in eine ältere ZimaOS-App-Definition ein. Prüfen Sie zunächst die Compose- oder Custom-Install-Konfiguration, die vom genau von Ihnen installierten Immich-Paket verwendet wird. Die aktuelle offizielle Compose-Datei von Immich bindet ${UPLOAD_LOCATION} in den Server-Container und ${DB_DATA_LOCATION} in PostgreSQL, während ältere Versionen und Community-Pakete möglicherweise andere interne Zielpfade verwenden.
Aktuelle Informationen aus dem Upstream-Projekt finden Sie im Immich-Leitfaden zur Installation mit Docker Compose und im Immich-Leitfaden zu externen Bibliotheken.
Warum manuelle Änderungen an Volumes Immich beschädigen können
Die Antworten zeigen mehrere Fehlerbilder, nachdem Benutzer die Speichermappings geändert hatten. Ein Teilnehmer berichtete zunächst, dass die App nicht mehr funktionierte, und sagte später, dass sie nach mehreren Neustarts wieder lief. Ein anderer Benutzer sagte, wiederholte Experimente hätten Immich beschädigt und einige Telefonuploads seien dabei korrumpiert worden. Ein späterer Bericht beschrieb wiederholte Installationsfehler im Zusammenhang mit einem fehlerhaften PostgreSQL-Dienst.
Diese Berichte belegen keinen einzelnen, gemeinsamen Fehler. Sie zeigen jedoch, warum eine Speichermigration als Vorgang zur Gewährleistung der Datenintegrität und nicht als bloße Änderung eines Pfads behandelt werden sollte. Zu den häufigen Ursachen, die Sie prüfen sollten, gehören:
- Falsches Container-Ziel: Der Host-Pfad kann angepasst werden, aber der Pfad innerhalb des Containers muss mit dem übereinstimmen, was diese Immich-Bereitstellung erwartet.
- Berechtigungen: Das Ziel muss für den Container-Benutzer oder Dienst, dem die Dateien gehören, beschreibbar sein.
- Speicherort der Datenbank: PostgreSQL benötigt zuverlässigen lokalen Speicher und sollte nicht auf einer nicht unterstützten Netzwerkfreigabe abgelegt werden.
- Unvollständige Verschiebungen: Wenn Sie manuell nur einen Teil eines bestehenden Immich-Datenbaums kopieren, können Datenbank und Medienspeicher inkonsistent werden.
- Versionsabweichung: Das Volume-Layout von Immich wurde weiterentwickelt. Daher stimmen Anleitungen für ältere Pakete möglicherweise nicht mit Immich v2, v3 oder einer späteren ZimaOS-App-Store-Definition überein.
Checkliste für eine sicherere Migration des Immich-Speichers
- Sichern Sie die Immich-Datenbank und unersetzliche Mediendateien, bevor Sie eine Volume-Zuordnung ändern.
- Bestätigen Sie, welche Immich-Version und welches ZimaOS-App-Store-Paket Sie verwenden.
- Entscheiden Sie, ob Sie alle App-Daten oder nur die große Medienbibliothek verschieben möchten.
- Wenn Sie allgemeine ZimaOS-App-Daten verschieben, versuchen Sie zunächst Einstellungen > Datenmigration, bevor Sie die Pfade einzelner Container bearbeiten.
- Wenn Sie ein benutzerdefiniertes Immich-Layout verwenden, notieren Sie vor jeder Änderung alle vorhandenen Host-Pfade und Container-Ziele.
- Lassen Sie die Ziele innerhalb des Containers unverändert, sofern die Dokumentation für Ihre genaue Immich-Version nicht ausdrücklich einen anderen Pfad verlangt.
- Stellen Sie sicher, dass das Zieldateisystem eingebunden und beschreibbar ist, bevor Sie die Container neu erstellen.
- Legen Sie das PostgreSQL-Datenverzeichnis nicht auf einer nicht unterstützten Netzwerkfreigabe ab.
- Laden Sie nach der Migration einen kleinen Testsatz hoch und überprüfen Sie Originale, Vorschaubilder, Videowiedergabe, Metadaten und neue Uploads vom Mobilgerät, bevor Sie den Rest Ihrer Bibliothek verschieben.
- Bewahren Sie die alte Kopie auf, bis Sie sowohl die Datenbank als auch die Mediendateien auf dem neuen Speicher überprüft haben.
Was die Antworten aus der Community zum ursprünglichen Leitfaden ergänzten
Die nützlichsten Antworten veränderten die Interpretation des ursprünglichen Tutorials in drei Punkten. Erstens zeigten sie, dass die manuelle Zuordnung funktionieren kann, jedoch von der genauen App-Version, den Speicherberechtigungen und dem Neustartstatus abhängt. Zweitens wollten die Nutzer eine Aufteilung in SSD und RAID statt alle Immich-Komponenten auf dasselbe Array zu verschieben. Drittens empfahl ein Mitglied des IceWhale-Teams die integrierte Migrationsfunktion und warnte, dass manuelles Kopieren Fehler verursachen kann.
Daher sollte der ursprüngliche Beitrag von 2025 am besten als funktionierendes Community-Beispiel für seine damalige Zeit verstanden werden, nicht als unveränderliche Spezifikation für jede spätere Immich- oder ZimaOS-Version. Wenn Ihre aktuelle ZimaOS-Oberfläche die in den Screenshots gezeigten Felder unter „Benutzerdefinierte Installation“ nicht mehr anzeigt, folgen Sie der aktuellen Migrationsoberfläche und prüfen Sie die Compose-Konfiguration der installierten App, statt zu versuchen, die alten Felder nachzubilden.
Häufig gestellte Fragen zum Immich-Speicher in ZimaOS
Kann ich Immich auf einem RAID-Laufwerk statt auf dem ZimaOS-Systemlaufwerk installieren?
Ja, aber unterscheiden Sie zwischen dem Verschieben von ZimaOS-Anwendungsdaten und dem Entwurf eines benutzerdefinierten Immich-Medienlayouts. Verwenden Sie in aktuellen ZimaOS-Versionen zunächst die integrierte Datenmigrationsfunktion, wenn Sie Docker-Anwendungsdaten verlagern möchten. Manuelle Volume-Zuordnungen eignen sich besser für ein bewusst geplantes Speicherdesign mit getrennter Speicherung.
Sollte ich den rechten Immich-Volume-Pfad unter „Benutzerdefinierte Installation“ ändern?
Nicht, es sei denn, die Dokumentation für Ihre konkrete Immich-Bereitstellung weist Sie dazu an. Der ursprüngliche Community-Leitfaden änderte die Speicherorte auf dem Host und behielt dabei die Ziele innerhalb des Containers bei. Das Umschreiben eines internen Ziels kann dazu führen, dass der Dienst seine erwarteten Datenbank-, Cache- oder Medienverzeichnisse nicht mehr findet.
Kann ich Immich auf der SSD behalten und nur die Fotos auf RAID speichern?
Ja, grundsätzlich schon. Die aktuelle Immich-Version unterstützt sowohl die Auswahl eines Upload-Speicherorts auf dem Host als auch das Einbinden externer Bibliotheken. Die genaue ZimaOS-Zuordnung hängt vom installierten Immich-Paket und dessen Version ab. Überprüfen Sie daher vor einer Pfadänderung die aktuelle Compose-Definition.
Warum wird PostgreSQL nach der Änderung des Speicherorts als fehlerhaft angezeigt?
Mögliche Ursachen sind ein falsches Mount-Ziel, fehlende Berechtigungen, unvollständige Datenbankdateien oder nicht unterstützter Speicher. Überprüfen Sie, ob das gesamte Datenbankverzeichnis korrekt verschoben wurde, das Ziel lokal und beschreibbar ist und das Container-Ziel weiterhin mit der installierten Compose-Konfiguration übereinstimmt.
Kann ich den Immich-AppData-Ordner einfach auf eine andere Festplatte kopieren?
Das ist nicht der aktuell bevorzugte Weg in ZimaOS. Ein Mitglied des IceWhale-Teams warnte im Thread ausdrücklich, dass manuelles Kopieren Fehler verursachen kann, und empfahl für die meisten App-Umzüge die Migrationsfunktion.
Ist der Screenshot-Leitfaden vom April 2025 noch aktuell?
Als historische Erklärung der ZimaOS-Volume-Zuordnungen ist es weiterhin nützlich, aber sowohl die Migrationsfunktionen von ZimaOS als auch das Compose-Layout von Immich wurden seitdem geändert. Betrachten Sie die Screenshots als Referenz für die ursprüngliche Einrichtung und überprüfen Sie die angezeigten Felder und Pfade anhand Ihrer aktuellen Installation, bevor Sie Änderungen vornehmen.
