Le foto sono quasi sempre i dati a cui una famiglia tiene di più, e sono anche quelli che occupano più spazio negli abbonamenti cloud. Immich è un progetto open source pensato proprio per questo: un'applicazione che riproduce l'esperienza dei grandi servizi fotografici (caricamento automatico dal telefono, ricerca per volti e contenuti, album condivisi) ma con i file sul proprio hardware.
Come è fatto Immich
Immich si installa con Docker Compose usando il file fornito dal progetto. I componenti principali sono:
- il server, che gestisce API, interfaccia web e lavori di elaborazione;
- il servizio di machine learning, che calcola i volti e gli indici per la ricerca semantica (puoi scrivere «spiaggia al tramonto» e trovare le foto corrispondenti);
- PostgreSQL con un'estensione per i vettori, dove vengono salvati metadati e indici;
- Redis (o un suo equivalente compatibile) per le code dei lavori.
Il carico più pesante si concentra nelle prime settimane, quando vengono generate miniature, transcodificati i video e analizzati i volti dell'intero archivio. Su un mini PC moderno l'elaborazione di decine di migliaia di foto può richiedere giorni, poi il lavoro diventa incrementale e leggero. Il servizio di machine learning può anche girare su un'altra macchina più potente, lasciando il server su un dispositivo più modesto.
Il backup dal telefono
L'app mobile, per Android e iOS, carica automaticamente le nuove foto e i video. Alcune impostazioni meritano attenzione:
- Selezione degli album. Si scelgono quali cartelle del telefono caricare: fotocamera sì, cartelle delle app di messaggistica magari no.
- Caricamento in background. Su iOS il sistema limita l'attività in background, quindi il caricamento è più affidabile aprendo l'app di tanto in tanto o mentre il telefono è in carica.
- Solo Wi-Fi. Per i video lunghi conviene evitare il caricamento su rete mobile.
- Liberare spazio. La funzione che cancella dal telefono le foto già caricate va usata solo quando si è certi che esista anche un backup del server.
Librerie esterne: non spostare tutto
Chi ha già un archivio organizzato in cartelle, magari su un NAS, non è obbligato a reimportarlo. Immich supporta le librerie esterne: cartelle montate in sola lettura che vengono indicizzate senza copiare i file. È la soluzione ideale per archivi storici, scansioni di vecchie stampe o cartelle curate a mano negli anni.
Un esempio di montaggio nel file Compose:
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /mnt/archivio/foto:/mnt/archivio:ro
Il suffisso :ro garantisce che Immich non possa modificare i file originali, un'ottima abitudine per qualsiasi archivio prezioso.
Organizzare e condividere
Il riconoscimento dei volti raggruppa automaticamente le persone; basta dare un nome ai gruppi e unire quelli duplicati. Le foto vengono ordinate per data di scatto letta dai metadati EXIF, quindi un archivio con date errate (scansioni, foto ricevute in chat) si presenterà disordinato: Immich permette di correggere data e luogo, anche su più elementi insieme.
Per la famiglia sono utili:
- utenti separati, ciascuno con la propria libreria e una quota di spazio;
- condivisione con partner, che mostra nella propria cronologia le foto di un'altra persona;
- album condivisi tra utenti o tramite link, con scadenza e password.
Aggiornamenti: leggere sempre le note
Immich è sviluppato a ritmo sostenuto e in passato alcune versioni hanno richiesto modifiche manuali al file Compose o alle variabili d'ambiente. La regola è semplice:
- fissare la versione dell'immagine invece di usare un tag generico;
- leggere le note di rilascio prima di aggiornare, cercando la sezione sulle modifiche incompatibili;
- aggiornare una versione alla volta se si è rimasti indietro.
Proteggere l'archivio
Il backup di Immich ha due parti, e servono entrambe:
| Cosa | Perché |
|---|---|
| Cartella dei caricamenti | contiene i file originali delle foto e dei video |
| Database PostgreSQL | contiene album, volti, utenti, descrizioni e metadati modificati |
Immich esegue periodicamente un dump automatico del database nella cartella dei caricamenti, ma va verificato che sia attivo e che la cartella sia inclusa nella copia esterna. Un archivio senza database si può ricostruire dai file, ma si perdono album, nomi delle persone e correzioni fatte a mano.
Le miniature e i video transcodificati, invece, si possono rigenerare e non è indispensabile includerli nel backup remoto: escluderli riduce lo spazio occupato.
Esporlo o no
Per caricare le foto quando si è fuori casa servono un accesso remoto o una VPN. La soluzione più prudente è una rete privata tra i propri dispositivi; chi preferisce un accesso pubblico deve usare HTTPS, password robuste e, se possibile, un sistema di autenticazione centralizzato davanti al servizio.
In sintesi
- Immich offre caricamento automatico, ricerca per volti e contenuti e album condivisi con i dati in casa.
- L'elaborazione iniziale è lunga, poi il carico diventa leggero.
- Le librerie esterne in sola lettura evitano di duplicare archivi già organizzati.
- Prima di ogni aggiornamento vanno lette le note di rilascio.
- Il backup deve includere sia i file originali sia il database.