Communityoplossing

Immich op een andere schijf installeren in ZimaOS

A community guide for moving Immich away from the ZimaOS system drive, followed by troubleshooting reports, storage-layout questions, and an official recommendation to use ZimaOS migration tools where possible.

Immich kan aanzienlijk meer opslagruimte verbruiken dan de systeemschijf van ZimaOS is ontworpen te bevatten, vooral wanneer uploads vanaf telefoons, miniaturen, gecodeerde video, machinelearningmodellen en de PostgreSQL-database beginnen te groeien. De oorspronkelijke IceWhale Community-handleiding loste dit in april 2025 op door geselecteerde volumetoewijzingen te wijzigen tijdens een aangepaste installatie van ZimaOS, zodat Immich-gegevens op een RAID-volume zouden worden opgeslagen in plaats van op de ZimaOS-schijf.

Die workaround is nuttig om te begrijpen hoe de container is gekoppeld, maar moet niet worden beschouwd als een universele actuele handleiding. In latere reacties werd melding gemaakt van mislukte installaties, herhaalde herstarts, een ongezonde PostgreSQL-container en zelfs beschadigde foto-uploads na het experimenteren met toewijzingen. ZimaOS heeft bovendien ingebouwde migratietools toegevoegd en verfijnd, terwijl huidige Immich Docker Compose-releases variabelen aan de hostzijde gebruiken, zoals UPLOAD_LOCATION en DB_DATA_LOCATION. Gebruik op een actueel systeem eerst het ingebouwde migratiepad van ZimaOS als dat bij je doel past, en bewaar het handmatig bewerken van volumes voor gevallen waarin je specifiek een aangepaste Immich-opslagindeling nodig hebt.

Wat de oorspronkelijke ZimaOS Immich-handleiding uit 2025 wijzigde

In de communitytutorial werd ZimaOS Custom Install gebruikt, of het scherm Instellingen van de app na installatie, waarbij de servicetabbladen één voor één werden doorlopen. Het doel was om permanente Immich-gegevens om te leiden naar een grotere RAID-locatie, terwijl de paden aan de containerzijde die Immich verwachtte behouden bleven.

ZimaOS-scherm voor aangepaste installatie van Immich met de configuratietabbladen van de service
De oorspronkelijke handleiding uit april 2025 begint bij Immich Custom Install of het scherm Instellingen van de app in ZimaOS.

Database: verplaats het hostpad, behoud het containerpad

Op het tabblad Database wijzigde de auteur de opslaglocatie aan de ZimaOS-zijde naar een RAID-pad en behield hij het achtervoegsel van de databasemap. Het belangrijke principe was om het pad aan de rechterkant binnen de container niet te herschrijven. Het wijzigen van de containerbestemming kan de service verstoren, omdat PostgreSQL de gegevens verwacht op het pad dat door het Immich-pakket of de Compose-configuratie is gedefinieerd.

ZimaOS Immich-databasetoewijzing omgeleid naar een andere opslagschijf
Het communityvoorbeeld wijzigt de database locatie aan de hostzijde, terwijl de bestemming aan de Immich-zijde behouden blijft.

In de huidige Docker Compose-documentatie van Immich wordt deze hostlocatie beschikbaar gesteld via DB_DATA_LOCATION. Immich waarschuwt ook dat netwerkshares niet worden ondersteund voor de PostgreSQL-database. De database moet daarom op betrouwbare, lokaal aangesloten opslag blijven staan en niet op een SMB- of NFS-share.

Machinelearning: leid de modelcache alleen om als dat nodig is.

In de oorspronkelijke handleiding werd ook de modelcache aan de hostzijde omgeleid, terwijl het cachepad aan de containerzijde ongewijzigd bleef. Door deze cache te verplaatsen kan ruimte op een kleine systeemschijf worden bespaard, hoewel dit minder belangrijk is dan het beschermen van de fotobibliotheek en database, omdat gedownloade modellen doorgaans opnieuw kunnen worden aangemaakt.

Cache voor machinelearningmodellen van Immich gekoppeld aan alternatieve ZimaOS-opslag
Bij de configuratie van 2025 werd het hostpad voor de modelcache naar de geselecteerde opslagpool verplaatst.

Immich-server: de gevoeligste volumeb sectie

Het tabblad Immich-server was het onderdeel dat de auteur het gemakkelijkst foutief kon configureren. Er werden extra hostkoppelingen toegevoegd zodat uploads en andere persistente mediamappen naar de RAID-opslag zouden verwijzen. In de thread wordt herhaaldelijk benadrukt dat alleen de bedoelde locaties aan de hostzijde mogen worden gewijzigd en dat paden aan de containerzijde niet zomaar mogen worden aangepast.

Volume-koppelingen van de Immich-server geconfigureerd om media op een ZimaOS RAID-array op te slaan
In het oorspronkelijke voorbeeld op het servertabblad worden meerdere hostkoppelingen toegevoegd voor mediaopslag op de RAID-array.

Voor het tabblad Redis waren in de oorspronkelijke uitleg geen opslagwijzigingen nodig. Dit is nog een reden om niet op elke volume-invoer een algemene zoek-en-vervangactie toe te passen: verschillende Immich-services hebben verschillende persistentievereisten.

De belangrijkste update uit de latere discussie is dat ZimaOS nu een speciale migratieworkflow biedt. Een antwoord van het IceWhale-team in de thread waarschuwde specifiek dat het handmatig kopiëren van appgegevens fouten kan veroorzaken en raadde aan om in de meeste gevallen de migratiefunctie te gebruiken.

De huidige handleiding voor gegevensmigratie in ZimaOS vermeldt drie verplaatsbare opslagcategorieën: Docker-images, Docker-applicatiegegevens en gebruikersdatabases. De gebruikelijke stappen zijn:

  1. Open Instellingen > Gegevensmigratie.
  2. Selecteer de opslagcategorie die je wilt verplaatsen.
  3. Kies Locatie wijzigen.
  4. Selecteer de doelschijf of opslagruimte.
  5. Bekijk de waarschuwing, start de migratie en wacht op het voltooiingsrapport.
ZimaOS-migratie-interface waarnaar een teamlid van IceWhale verwees in de Immich-discussie
Een teamlid van IceWhale raadde later de migratiefunctie van ZimaOS aan in plaats van applicatiegegevens handmatig te kopiëren.

Deze ingebouwde migratie is een beter uitgangspunt wanneer je alleen wilt dat Docker-applicatiegegevens niet op de ZimaOS-systeemschijf staan. De kans wordt ook kleiner dat paden, machtigingen of symbolische koppelingen na een handmatige verplaatsing inconsistent achterblijven.

Wat als je Immich op een SSD wilt, maar je foto's op RAID?

Een latere vraag in de thread bracht een praktischere indeling voor de lange termijn ter sprake: houd de applicatie en prestatiegevoelige onderdelen op een SSD, maar plaats de grote fotobibliotheek op RAID. De oorspronkelijke auteur had die gescheiden configuratie niet getest, dus de thread zelf bevat er geen geverifieerd ZimaOS-recept voor.

De huidige Immich-documentatie beschrijft twee concepten die helpen bij het bepalen van de juiste indeling. Voor door Immich geüploade media gebruikt de officiële Docker Compose-configuratie UPLOAD_LOCATION als het hostpad voor de mediaopslag. Voor een bestaande fotocollectie die Immich moet indexeren zonder deze naar het beheerde uploadgebied te importeren, ondersteunt Immich externe bibliotheken.

In een standaard huidige Immich Compose-implementatie zien de relevante omgevingswaarden er conceptueel als volgt uit:

UPLOAD_LOCATION=/path/to/large-media-storage
DB_DATA_LOCATION=/path/to/local-database-storage

Plak deze paden niet blindelings in een oudere ZimaOS-appdefinitie. Controleer eerst de Compose- of aangepaste installatieconfiguratie die wordt gebruikt door het specifieke Immich-pakket dat je hebt geïnstalleerd. Het huidige officiële Compose-bestand van Immich koppelt ${UPLOAD_LOCATION} in de servercontainer, en ${DB_DATA_LOCATION} naar PostgreSQL, terwijl oudere releases en communitypakketten mogelijk andere interne bestemmingen gebruiken.

Raadpleeg voor de actuele upstream-details de installatiehandleiding voor Immich Docker Compose en de handleiding voor externe bibliotheken van Immich.

Waarom handmatige volumewijzigingen Immich kunnen laten crashen

De reacties laten verschillende storingspatronen zien nadat gebruikers opslagkoppelingen hadden gewijzigd. Eén deelnemer meldde aanvankelijk dat de app niet meer werkte en zei later dat die na meerdere herstarts weer werkte. Een andere gebruiker zei dat herhaalde experimenten Immich onbruikbaar maakten en dat sommige telefoonuploads beschadigd raakten. In een later bericht werden herhaalde installatiefouten beschreven waarbij een PostgreSQL-service ongezond was.

Deze meldingen bewijzen niet dat er één gedeelde bug is. Ze laten wel zien waarom je opslagmigratie als een bewerking voor gegevensintegriteit moet behandelen, en niet als een cosmetische padwijziging. Veelvoorkomende oorzaken die je kunt controleren zijn onder meer:

  • Verkeerde containerbestemming: Het hostpad kan worden aangepast, maar het pad binnen de container moet overeenkomen met wat die Immich-implementatie verwacht.
  • Rechten: De bestemming moet beschrijfbaar zijn voor de containergebruiker of service die eigenaar is van de bestanden.
  • Databaselocatie: PostgreSQL heeft betrouwbare lokale opslag nodig en mag niet op een niet-ondersteunde netwerkshare worden geplaatst.
  • Onvolledige verplaatsingen: Als je handmatig slechts een deel van een bestaande Immich-gegevensstructuur kopieert, kunnen de database en de mediaopslag niet meer synchroon lopen.
  • Versieverschil: De volumelay-out van Immich is in de loop der tijd veranderd. Instructies voor een ouder pakket komen daarom mogelijk niet overeen met Immich v2, v3 of een latere ZimaOS App Store-definitie.

Veiligere checklist voor Immich-opslagmigratie

  1. Maak een back-up van de Immich-database en onvervangbare media voordat je een volumekoppeling wijzigt.
  2. Controleer welke Immich-versie en welk ZimaOS App Store-pakket je gebruikt.
  3. Bepaal of je alle appgegevens wilt verplaatsen of alleen de grote mediabibliotheek.
  4. Als je algemene ZimaOS-appgegevens verplaatst, probeer dan eerst Instellingen > Gegevensmigratie voordat je afzonderlijke containerpaden bewerkt.
  5. Als je een aangepaste Immich-indeling gebruikt, noteer dan elk bestaand hostpad en elke containerbestemming voordat je iets wijzigt.
  6. Laat de bestemmingen aan de containerzijde ongewijzigd, tenzij de documentatie voor jouw exacte Immich-versie expliciet een ander pad vereist.
  7. Zorg ervoor dat het doelbestandssysteem is aangekoppeld en beschrijfbaar is voordat je de containers opnieuw aanmaakt.
  8. Plaats de PostgreSQL-gegevensmap niet op een niet-ondersteunde netwerkshare.
  9. Upload na de migratie een kleine testset en controleer originelen, miniaturen, het afspelen van video's, metagegevens en nieuwe mobiele uploads voordat je de rest van je bibliotheek verplaatst.
  10. Bewaar de oude kopie totdat je zowel de database als de mediabestanden op de nieuwe opslag hebt gecontroleerd.

Wat de reacties uit de community aan de oorspronkelijke handleiding toevoegden

De nuttigste reacties veranderden de interpretatie van de oorspronkelijke handleiding op drie manieren. Ten eerste lieten ze zien dat handmatig koppelen kan werken, maar gevoelig is voor de exacte appversie, opslagrechten en de status na een herstart. Ten tweede wilden gebruikers een indeling met een SSD plus RAID, in plaats van elk Immich-onderdeel naar dezelfde array te verplaatsen. Ten derde raadde een teamlid van IceWhale de ingebouwde migratiefunctie aan en waarschuwde hij dat handmatig kopiëren fouten kan veroorzaken.

Daarom kun je het oorspronkelijke bericht uit 2025 het best beschouwen als een werkend communityvoorbeeld voor die tijd, niet als een onveranderlijke specificatie voor elke latere release van Immich of ZimaOS. Als je huidige ZimaOS-interface niet langer dezelfde Custom Install-velden toont als in de schermafbeeldingen, volg dan de huidige migratie-interface en bekijk de Compose-configuratie van de geïnstalleerde app in plaats van te proberen oude velden opnieuw te creëren.

Veelgestelde vragen over Immich-opslag in ZimaOS

Kan ik Immich op een RAID-schijf installeren in plaats van op de systeemschijf van ZimaOS?

Ja, maar maak onderscheid tussen het verplaatsen van applicatiegegevens in ZimaOS en het ontwerpen van een aangepaste media-indeling voor Immich. Gebruik op huidige ZimaOS-versies eerst de ingebouwde functie Data Migration als je Docker-applicatiegegevens wilt verplaatsen. Handmatige volumekoppelingen zijn beter voorbehouden aan een weloverwogen ontwerp met gesplitste opslag.

Moet ik het Immich-volumepad aan de rechterkant in Custom Install wijzigen?

Niet tenzij de documentatie voor jouw specifieke Immich-implementatie dit voorschrijft. In de oorspronkelijke communitygids werden locaties aan de hostzijde gewijzigd, terwijl de bestemmingen aan de containerzijde behouden bleven. Het herschrijven van een interne bestemming kan voorkomen dat de service de verwachte database-, cache- of mediamappen vindt.

Kan ik Immich op een SSD houden en alleen foto's op RAID opslaan?

Ja, in principe wel. De huidige versie van Immich ondersteunt zowel het kiezen van een uploadlocatie op de host als het koppelen van externe bibliotheken. De exacte ZimaOS-koppeling hangt af van het geïnstalleerde Immich-pakket en de versie, dus controleer de huidige Compose-definitie voordat je paden wijzigt.

Waarom wordt PostgreSQL ongezond nadat ik de opslaglocatie heb gewijzigd?

Mogelijke oorzaken zijn een onjuiste koppelbestemming, ontbrekende rechten, onvolledige databasebestanden of niet-ondersteunde opslag. Controleer of de volledige databasemap correct is verplaatst, of de bestemming lokaal en schrijfbaar is en of de containerbestemming nog overeenkomt met de geïnstalleerde Compose-configuratie.

Kan ik de map AppData van Immich gewoon naar een andere schijf kopiëren?

Dat is niet langer de aanbevolen werkwijze in het huidige ZimaOS. Een teamlid van IceWhale waarschuwde in de thread specifiek dat handmatig kopiëren fouten kan veroorzaken en raadde voor de meeste app-migraties de migratiefunctie aan.

Is de screenshotgids van april 2025 nog actueel?

Het blijft nuttig als historische uitleg van volumekoppelingen in ZimaOS, maar zowel de migratiefuncties van ZimaOS als de Compose-indeling van Immich zijn sindsdien gewijzigd. Gebruik de schermafbeeldingen als referentie voor de oorspronkelijke configuratie en controleer vervolgens de getoonde velden en paden in je huidige installatie voordat je wijzigingen toepast.