Ottimizza Immich su un piccolo server domestico proteggendo innanzitutto la reattività degli upload e del database, quindi limitando o programmando l’elaborazione di miniature, video e attività di apprendimento automatico in base alla pressione misurata su CPU, memoria e spazio di archiviazione.
Il carico di lavoro rilevante non è una dashboard inattiva, ma la sera in cui diversi telefoni caricano foto e video mentre backup, ricerche e processi per i contenuti derivati competono tra loro. Cattura quel picco, modifica un solo controllo di concorrenza o di pianificazione alla volta e conserva gli originali insieme ai backup del database. Una coda più lenta è accettabile; upload falliti, swapping o un database non reattivo non lo sono.
Misura il caricamento familiare più intenso prima di ottimizzare
Crea un lotto rappresentativo contenente foto scattate con il telefono, brevi video e un filmato più grande. Registra il tempo di completamento degli upload, la profondità della coda dei processi, l’utilizzo di CPU e memoria, lo swapping, la latenza del disco, lo spazio libero e la velocità della rete dall’inizio fino a quando la coda torna a zero. Questa misurazione di riferimento identifica la risorsa che raggiunge effettivamente la saturazione.
Una discussione sui piccoli server per l’apprendimento automatico con Immich mostra come i consigli sull’hardware varino in base alle dimensioni della libreria, alla scelta del modello e alla possibilità di eseguire l’elaborazione in un secondo momento. Usa questo confronto dipendente dal carico di lavoro per evitare di acquistare o ottimizzare basandoti sull’utilizzo a riposo.
Il test è superato se gli upload restano reattivi e il lavoro arretrato si esaurisce entro la finestra temporale accettabile. Se la memoria entra in swapping o i container si riavviano, riduci prima la concorrenza. Se la CPU è completamente occupata ma l’interazione resta reattiva, programma le attività pesanti. Se la latenza dello spazio di archiviazione aumenta tra più servizi, proteggi il percorso dei dati attivo prima di cambiare modello.
Limita i processi simultanei e programma le attività pesanti
Riduci la concorrenza per la coda pesante individuata durante le misurazioni, invece di lasciare senza risorse tutti i worker a livello globale. La transcodifica video e l’apprendimento automatico spesso dominano risorse diverse, mentre l’estrazione dei metadati e le miniature influenzano la disponibilità percepita. Modifica una sola coda, ripeti lo stesso lotto e confronta sia la reattività sia il tempo di svuotamento.
Programma le scansioni delle librerie più grandi, i backup e le rielaborazioni facoltative al di fuori della finestra degli upload familiari. Non sovrapporre un’istantanea dello spazio di archiviazione, la manutenzione del database e una transcodifica video su un server dotato di un solo disco lento. Il test è superato quando riduci la contesa di picco senza lasciare una coda in costante crescita.
Mantieni visibili i limiti dei tentativi e i log durante l’ottimizzazione. Se i processi falliscono, ripristina l’impostazione precedente e risolvi l’errore invece di ridurre i worker finché il fallimento diventa meno evidente. L’obiettivo è un lavoro sotto controllo, non un lavoro nascosto.
Mantieni veloce lo stato attivo e proteggi gli originali
Quando possibile, colloca il database e i dati derivati scritti frequentemente su uno spazio di archiviazione affidabile e a bassa latenza, scegliendo invece il livello destinato agli originali in base a capacità, durata dei dati e strategia di backup. Evita di spostare la directory del database grezzo su una condivisione di rete improvvisata solo per liberare spazio locale.
Una guida indipendente all’hosting autonomo di Immich illustra le decisioni più ampie relative a spazio di archiviazione, accesso e utilizzo remoto di un servizio fotografico domestico. Usala come contesto architetturale, quindi verifica i tuoi percorsi e il comportamento in caso di guasto.
La guida al backup delle foto familiari di ZimaSpace aiuta a mantenere l’ottimizzazione subordinata alla possibilità di recupero. Un’elaborazione più veloce non compensa un database non testato e l’assenza di un backup dei file originali.
Ripeti il test del flusso familiare e stabilisci un limite di arresto
Ripeti lo stesso lotto mentre un altro membro della famiglia sfoglia, effettua ricerche e scarica un originale. Il test è superato se gli upload riescono, l’interazione resta utilizzabile, non si verifica una spirale di swapping né un riavvio del container e la coda si svuota entro la finestra fuori picco prevista.
Riavvia il server, verifica che i montaggi e i limiti persistano, quindi prova l’upload in background di un telefono al di fuori della rete locale. Monitora una settimana di utilizzo di picco, non medio. Prendi in considerazione nuovo hardware solo quando la stessa risorsa identificata viola ripetutamente l’obiettivo dopo un’ottimizzazione sicura.
Ripristina un limite se le code non si svuotano mai o se continuano a mancare contenuti derivati. Smetti di aggiungere processi simultanei quando lo spazio libero scende al di sotto del requisito di picco misurato. In caso di escalation, fornisci il lotto di test fisso, i grafici di CPU, memoria e latenza dello spazio di archiviazione, i nomi delle code e le impostazioni prima e dopo, invece di una singola schermata dell’utilizzo.
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...

