Soluzione della community

Ricollega Immich alle foto esistenti dopo un ripristino di ZimaOS: proteggi pgdata e i caricamenti prima di rimappare i percorsi

A June-July 2026 thread where a ZimaOS reset preserved a RAID6 and its old Immich folders, but reinstalling Immich did not reconnect the existing photo library. The old /media/photos/immich/upload and pgdata folders still existed. Community replies emphasized protecting both and verifying Docker's actual mounts. The user ultimately abandoned that recovery attempt without confirming a fix.

I dati originali non sembravano essere andati persi. Dopo il ripristino di ZimaOS, il RAID6 esisteva ancora e directory comeinermi erano ancora presenti. caricamento, pgdata, miniature, profilo, e video codificati erano ancora presenti. Il problema era che lo stack Immich reinstallato non era collegato al vecchio stato del database/della libreria in modo da ripristinare il catalogo fotografico precedente.

Il consiglio più prudente della fonte era: non eliminare né spostare ancora le vecchie cartelle upload e pgdata. Immich non ricostruisce il catalogo completo semplicemente rilevando i file immagine sul disco. Il database contiene percorsi dei file, utenti, album, metadati e stato dell'applicazione. La documentazione attuale di Immich v3 rende esplicita questa relazione e consiglia di eseguire il backup sia dei file degli asset sia del database.

Prima conferma il percorso reale di mount del RAID

La fonte utilizzava:

ls -la /media
find /media -maxdepth 4 -type d \( -iname "immich" -o -iname "pgdata" -o -iname "upload" \)

e ha trovato:

/media/photos/immich
/media/photos/immich/pgdata
/media/photos/immich/upload

Questo ha stabilito che le vecchie cartelle di Immich esistevano ancora sul RAID.

L'utente era allarmato da:

/media/ZimaOS-HD -> /DATA

ma la community ha spiegato correttamente che si tratta di una relazione di mount/symlink di ZimaOS. La sua presenza non indica quali percorsi host stiano effettivamente utilizzando i container Immich.

Ispezionare i mount effettivi di Docker

La discussione consigliava di verificare:

docker inspect immich-server --format '{{json .Mounts}}'
docker inspect immich-postgres --format '{{json .Mounts}}'

È più affidabile che presumere che uno screenshot o un vecchio ricordo riflettano la configurazione del container in esecuzione.

Impostazioni del server Immich in ZimaOS che mostrano i percorsi host sotto /media/photos/immich mappati sui percorsi del container upload, thumbs, profile, model-cache, library, encoded-video e backups
La fonte mostra le vecchie cartelle RAID mappate nel nuovo container del server Immich, ma la sola mappatura dei file non ha ripristinato il catalogo del database precedente.

Il vecchio pgdata è importante quanto i vecchi file fotografici

Mapping delle impostazioni del database di Immich su ZimaOS da /media/photos/immich/pgdata alla directory dei dati di Postgres
Il mapping del database è fondamentale perché Immich memorizza il catalogo e i metadati che collegano gli utenti ai file sul disco.

Se la reinstallazione ha inizializzato un database completamente nuovo invece di quello vecchio, i file possono essere ancora presenti mentre Immich appare vuoto.

L'attuale Immich utilizza UPLOAD_LOCATION e DB_DATA_LOCATION

L'attuale Compose di Immich v3 separa la posizione degli asset sull'host e la posizione di Postgres usando UPLOAD_LOCATION e DB_DATA_LOCATION. Upstream afferma esplicitamente che le condivisioni di rete non sono supportate per il percorso del database.

Usa l'attuale modello di archiviazione di Immich.

Un backup del database è più sicuro che ricollegare una vecchia directory pgdata attiva tra versioni diverse

La fonte utilizzava Immich v2.7.2. L'attuale Immich è la v3. Quando si esegue un ripristino tra versioni diverse, il flusso di lavoro upstream per il backup e il ripristino del database è più sicuro che presumere di poter semplicemente collegare una vecchia directory dati di Postgres a un'immagine di database più recente.

Vedi l'attuale procedura di backup e ripristino di Immich.

Non riorganizzare manualmente le cartelle interne delle risorse di Immich

La documentazione attuale di Immich avverte che cartelle come libreria, caricamento, miniature, profilo, e video codificati sono gestiti dall'applicazione. Spostare o eliminare singoli file alle spalle di Immich può creare risorse mancanti o non tracciate.

L'utente di origine non ha confermato un ripristino riuscito

I membri della community hanno proposto diversi approcci al mapping, incluso un singolo mount principale, ma alla fine jerlo ha accantonato il problema e ha ricominciato da capo su un altro sistema. Pertanto, il forum non convalida alcun percorso di mapping come soluzione definitiva.

Attualmente Immich preferisce una radice di caricamento gestita, anziché mappare manualmente ogni cartella secondaria

Le schermate di origine mostravano una mappatura manuale di caricamento, miniature, profilo, libreria, video codificatie i backup uno alla volta. Invece, l'attuale Compose upstream è incentrato su UPLOAD_LOCATION, con Immich che gestisce le proprie directory secondarie interne sotto quella radice.

Quando ricostruisci il sistema su una versione più recente di Immich, usa il layout attuale di Compose/storage invece di riprodurre una serie storica di mappature secondarie, a meno che il pacchetto non le richieda specificamente.

Mantieni il percorso dei dati di Postgres su uno storage locale supportato

La documentazione attuale di Immich afferma esplicitamente che le condivisioni di rete non sono supportate per DB_DATA_LOCATION. Un filesystem RAID/storage collegato localmente può essere appropriato, ma una directory del database montata tramite SMB/NFS non è il percorso supportato per il database.

Un ripristino completo di Immich richiede sia gli asset sia il database

La documentazione attuale sul backup di Immich afferma che i backup del database contengono i metadati e le informazioni degli utenti, ma non gli asset fotografici/video. La struttura degli asset deve essere sottoposta a backup separatamente e ripristinata insieme a un backup del database compatibile.

Questo spiega perché, nel caso di origine, il fatto che «i file caricati siano ancora presenti» fosse rassicurante, ma non sufficiente.

Non collegare alla leggera una vecchia directory pgdata attiva a una versione diversa di PostgreSQL/immagine

Una directory di dati PostgreSQL non elaborata dipende dalla versione. Se il vecchio ambiente e il nuovo pacchetto usano versioni diverse di PostgreSQL o Immich, è preferibile usare un dump/ripristino del database supportato o una procedura di migrazione documentata. Esegui un backup byte per byte del vecchio pgdata prima di fare esperimenti.

FAQ sul ripristino di Immich

Il ripristino di ZimaOS ha cancellato le cartelle fotografiche del RAID6 di origine?

No. L'utente ha detto che il RAID e le directory/i file esistenti sono rimasti intatti.

Il semplice collegamento dei vecchi file fotografici ripristinerà la libreria di Immich?

Non necessariamente. Immich richiede anche lo stato corrispondente del database/catalogo.

Che cosa dovrebbe essere protetto prima di fare esperimenti?

L'intero archivio degli asset, insieme al database o a un backup verificato del database.