Ripristina Immich dopo un aggiornamento del container non riuscito congelando le prove disponibili, fissando ogni servizio Immich all’ultima versione nota come funzionante e ripristinando i dati solo se un rollback coordinato non consente di avviare lo stack.
Un aggiornamento può modificare contemporaneamente il codice dell’applicazione, le aspettative dello schema del database, le variabili d’ambiente e le versioni dei servizi complementari. Scaricare ripetutamente la versione più recente o mescolare container vecchi e nuovi rende più difficile individuare il limite del ripristino. Salva il file Compose, l’ambiente, i log, il database e i percorsi degli upload prima di intervenire, quindi scegli tra il rollback dell’immagine e il ripristino completo di database e libreria.
Congela lo stato non riuscito e identifica il limite dell’aggiornamento
Arresta i riavvii automatici e registra le immagini o i digest esatti per i servizi server, machine learning, database e cache. Salva i log di avvio e i file di distribuzione prima di eseguire un altro pull. Il superamento del controllo significa che puoi indicare cosa è cambiato; in caso contrario, il ripristino deve fermarsi finché non sarà possibile identificare le vecchie versioni dalla cronologia della distribuzione o dalle immagini locali.
Verifica se il server si chiude prima di connettersi al database, durante una migrazione o dopo essere diventato pronto. Un errore di connessione a una dipendenza indica la necessità di correggere rete, credenziali o stato di salute; un errore di migrazione aumenta il rischio di ripristinare solo l’immagine dell’app, perché il database potrebbe essere già cambiato.
Una guida agli aggiornamenti versionati di Immich mostra perché il limite della release e i file di distribuzione sono importanti. Usala per inventariare la transizione, considerando però i tuoi log e i tuoi backup come autorità per il rollback.
Prova prima un rollback completo delle immagini all’ultima versione funzionante
Fissa tutte le immagini dell’applicazione Immich alla versione esatta che funzionava in precedenza, invece di modificare un solo servizio. Ricrea i container interessati lasciando invariati i volumi persistenti. Se lo stack torna in salute e i log non mostrano incompatibilità dello schema, questo rollback a basso impatto è riuscito.
Se il vecchio server rifiuta lo schema attuale del database, fermati. Non alternare versioni diverse sullo stesso database e non modificare manualmente le tabelle delle migrazioni. Questo errore indica che l’aggiornamento ha oltrepassato un limite dei dati e che il ripristino deve utilizzare un backup del database con un timestamp corrispondente alla versione dell’applicazione selezionata.
Una segnalazione relativa a Immich v1.135.3 documenta uno specifico errore di avvio durante la migrazione del database dopo un aggiornamento. Il suo caso di migrazione circoscritto giustifica una lettura attenta del primo errore fatale; non autorizza a copiare i comandi di quel caso in un’altra versione.
Ripristina database e contenuti multimediali solo quando il rollback non è sufficiente
Crea una copia di sicurezza o uno snapshot dello storage dello stato non riuscito prima del ripristino. Prepara una destinazione di recupero pulita, ripristina il backup del database, quindi rendi disponibile la libreria degli upload corrispondente e i file di distribuzione necessari. Non sovrascrivere l’unica libreria attuale con una copia più vecchia solo per allineare i timestamp.
I record del database e i file degli asset devono descrivere la stessa raccolta. Se il backup è precedente agli upload recenti, conserva separatamente i file più nuovi per una successiva riconciliazione. Il ripristino è riuscito quando le migrazioni vengono completate, gli utenti e gli asset attesi sono presenti e gli originali campionati si aprono senza errori diffusi di file mancanti.
La guida alla migrazione di Immich di ZimaSpace offre un inventario utile per spostare i componenti persistenti senza confondere l’immagine di un container con la libreria fotografica vera e propria.
Convalida il ripristino prima di tentare nuovamente l’aggiornamento
Testa l’accesso, la navigazione nella cronologia, il download degli originali, la generazione delle miniature, Smart Search, l’elaborazione dei volti, un nuovo upload e un backup del database. Riavvia una volta i container e l’host. Il superamento del controllo richiede che gli stessi asset e le stesse funzioni siano disponibili dopo il riavvio, senza errori ripetuti di migrazione o autorizzazione.
Mantieni gli stati non riuscito e ripristinato con etichette separate fino al termine della convalida. Se il ripristino dipende da una versione precedente, disabilita i pull automatici delle immagini e documenta il pin. Ritenta l’aggiornamento solo dopo aver esaminato ogni release intermedia e aver eseguito un nuovo backup coordinato.
Ritorna alla destinazione di ripristino conservata se un nuovo upload scompare, gli originali non si aprono o i processi si arrestano ripetutamente. In caso di escalation, indica le versioni di origine e destinazione, i digest delle immagini, il primo log fatale, il timestamp del backup del database e la mappatura dello storage; non eliminare mai l’ultima copia nota come funzionante finché la compatibilità dell’aggiornamento non è stata risolta.
Supporto e consigli
Altro da leggere

Come ottimizzare le connessioni al database di Immich per container simultanei
Non aumentare prima max_connections. Misura le sessioni di Immich, somma la richiesta totale di ogni container, mantieni un margine per l'amministratore e ottimizza solo...

Come impedire la duplicazione di processi o importazioni in Immich
Separa i processi ripetuti dalle risorse duplicate. Utilizza un unico percorso di acquisizione canonico, controlla i nuovi tentativi e le modifiche ai percorsi, quindi...

Come riparare Immich dopo che il volume del database si è riempito
Non eliminare mai il WAL di PostgreSQL per liberare spazio. Interrompi le scritture di Immich, preserva lo stato del database, aggiungi capacità in modo...

