Reparera Immich när felet är lokalt och de beständiga data tydligt är intakta; bygg om körmiljön när konfigurationsavvikelserna är omfattande men en verifierad databas, ett mediebibliotek, en distributionsdefinition och en återställningskopia kan återskapa tjänsten på ett säkert sätt.
Att bygga om är inte samma sak som att radera allt. Behållare och nätverk kan ersättas, medan databasen och originalfilerna är bibliotekets källor. Klassificera först integritet, omfattning och återskapbarhet. Om den enda databasen eller den enda kopian av fotona kan vara skadad ska du bevara den och stoppa – att börja om från början utifrån dessa bevis kan förvandla en diagnostiserbar incident till permanent dataförlust.
Reparera när felet är lokalt och reversibelt
Föredra reparation när ett enda monteringsfel, behörighetsfel, miljövärde, beroende, jobb eller låst avbild förklarar felet och systemet fungerade normalt före en känd ändring. Samla in loggar, skapa en säkerhetskopia, ändra endast det lagret och upprepa utlösningen.
Ett godkänt test återställer den felande funktionen utan att skapa saknade tillgångar, databasfel eller nya varningar vid uppstart. Om samma fel återkommer efter återskapande kan orsaken finnas i distributionsdefinitionen eller den beständiga datan, så upprepade byten av behållare är inte längre evidensbaserad reparation.
En diskussion om databaskorruption visar hur snabbt återställningsval blir högrisk när databasen är det misstänkta lagret. Använd lärdomen att bevara data före reparation, inte något overifierat destruktivt kommando.
Bygg om körmiljön när avvikelserna är okontrollerbara
Välj en ren ombyggnad av körmiljön när avbildsversioner, nätverk, miljövärden, monteringar och manuella ändringar av behållare inte längre kan återskapas, men verifierade beständiga komponenter fortfarande är intakta. Bygg bredvid den gamla instansen med låsta versioner och isolerade portar i stället för att radera den.
En ombyggnad är också lämplig efter att värdsystemet har komprometterats eller en installation utan support har samlat på sig okända ändringar, eftersom återställning av betrodda distributionsindata skapar en ny granskningsgräns. Byt exponerade autentiseringsuppgifter och granska säkerhetskopior innan du ansluter dem till det rena målet.
ZimaSpaces översikt över distribution av självhostade appar ger ett bredare sammanhang för tjänstestacken; Immich kräver fortfarande att relationen mellan databasen och medierna valideras separat.
Bygg inte om ovanpå osäker beständig data
Stoppa när databasen och uppladdningsbiblioteket kan vara osynkroniserade, när den enda säkerhetskopian inte har testats eller när det är oklart vilken kopia som är den auktoritativa. Skapa en ögonblicksbild eller klon av alla kandidater och dokumentera tidsstämplar innan du försöker återställa databasen eller samordna medierna.
En återställningstråd för Unraid visar den praktiska svårigheten med att återställa Immich när säkerhetskopierade komponenter och versioner inte stämmer överens. Dess diskussion om återställningsgränser stöder testning i isolering i stället för att skriva över produktionssökvägarna.
Om originalen är intakta men databasen inte kan återställas ska du bevara båda och dokumentera konsekvensen innan du överväger att importera ett nytt bibliotek. Det är ett beslut om datarekonstruktion, inte rutinmässig reparation, och album, delningsstatus, ansikten, favoriter eller historiska metadata kan gå förlorade.
Validera beständig data på ett rent mål
Återställ eller anslut kopierad beständig data till det rena målet och testa sedan användare, antal objekt i tidslinjen, ett urval av original, album, sökning, ansiktsdata, externa bibliotek, en ny uppladdning, jobb och en ny säkerhetskopia av databasen. Jämför resultaten med den bevarade källan.
Jämför antalet tillgångar i databasen med ett urval av filer från flera datum, användare och medietyper. Bekräfta sökvägar till externa bibliotek, härledda jobb och en ny databasutdump innan du tilldelar produktionsadressen. En inloggningsskärm bevisar inte ensam dataintegritet.
Starta om behållare och värdsystem två gånger. Godkänt resultat kräver stabila monteringar, repeterbar konfiguration, ingen migrationsloop och den ursprungliga arbetsbelastningen. Om det rena målet återskapar samma databas- eller filfel var körmiljöavvikelser inte orsaken, och specialiserad dataåterställning är fortfarande det säkrare alternativet.
Gör övergången med en återställningsgräns
Överför produktionsadressen först när de isolerade kontrollerna har godkänts, och håll det gamla systemet avstängt men återställningsbart under en överenskommen observationsperiod. Förhindra att båda instanserna samtidigt tar emot uppladdningar eller kör samma automatisering.
Kör det normala arbetsflödet för familjens uppladdning, bläddring, sökning, delning och säkerhetskopiering efter övergången. Ett godkänt resultat bevarar antal och original efter nästa omstart; vid avvikelse skickas trafiken tillbaka till det bevarade målet utan att någon av datamängderna skrivs över.
Återgå till reparation eller specialiserad återställning om det rena målet återskapar samma databas- eller filfel; körmiljön var inte orsaken. Rulla tillbaka övergången om antal eller original skiljer sig åt. Eskalera med versioner, kontrollsummor, tidsstämplar för säkerhetskopior, det första felet och den exakta gränsen mellan kopierat och nyskapat tillstånd.
Support och tips
Mer att läsa

Så optimerar du Immich-databasanslutningar för samtidiga containrar
Höj inte max_connections först. Mät Immich-sessionerna, summera alla containers behov, behåll utrymme för administratörsåtkomst och justera bara den flaskhals som har bevisats.

Så förhindrar du duplicerade jobb eller importer i Immich
Separera upprepade jobb från duplicerade resurser. Använd en enda kanonisk inläsningsväg, kontrollera omförsök och sökvägsändringar och testa sedan återinmatning på en liten grupp.

Så reparerar du Immich när dess databasvolym blir full
Ta aldrig bort PostgreSQL-WAL för att frigöra utrymme. Stoppa skrivningar till Immich, bevara databastillståndet, lägg till säker lagringskapacitet, återställ PostgreSQL och förhindra sedan att...

