Come configurare le librerie esterne di Immich come fonti di sola lettura

Eva Wong è la Technical Writer e smanettatrice residente di ZimaSpace. Una geek da sempre con una passione per homelab e software open-source, si specializza nel tradurre concetti tecnici complessi in guide accessibili e pratiche. Eva crede che l'auto-ospitare debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, dà potere alla comunità di demistificare le configurazioni hardware, dalla costruzione del loro primo NAS al dominio dei container Docker.

Una libreria esterna di Immich indicizza le foto che si trovano già al di fuori della struttura di caricamento gestita. Montare questa sorgente in sola lettura protegge gli originali da errori dell'applicazione o dell'operatore, ma Immich ha comunque bisogno di spazio scrivibile per miniature, video codificati, dati del profilo e stato del database.

La configurazione utilizza quindi due zone di affidabilità: cartelle sorgente immutabili e dati generati scrivibili. Una piccola libreria pilota dovrebbe superare i test di rilevamento, metadati, miniature, nuova scansione e rimozione prima di aggiungere un archivio di grandi dimensioni. Lo stesso test pilota dimostra inoltre che il percorso del container, la proprietà dei file e il piano di ripristino sono coerenti.

Mappa separatamente la sorgente e lo spazio gestito

Scegli un percorso sull'host per l'archivio esistente e un percorso distinto nel container, ad esempio /external/family-photos. Non inserirlo sotto lo spazio di caricamento di Immich, perché le risorse esterne e quelle gestite seguono regole del ciclo di vita diverse.

Il flusso di lavoro delle librerie esterne di Immich richiede che il server possa vedere il percorso che verrà assegnato a un utente. Registra entrambi i lati del mount, così l'amministratore non incollerà nell'applicazione un percorso valido solo sull'host.

Verifica che le posizioni scrivibili di Immich per caricamenti, miniature, video codificati e dati del database dispongano di normali backup e monitoraggio dello spazio libero. Gli originali in sola lettura non proteggono lo stato generato né i record delle risorse che rendono utilizzabile la libreria.

Applica un mount del container in sola lettura

Aggiungi l'archivio come bind mount con il flag di sola lettura in Compose o nel gestore dei container. Un modello tipico associa /srv/photos/archive sull'host a /external/archive nel container con :ro.

Concedi al processo del container i permessi di attraversamento e lettura su ogni directory superiore. La sola lettura non significa assenza di permessi: la mancanza del permesso di esecuzione su una directory impedisce il rilevamento anche quando i singoli file sono leggibili.

Se la sorgente è una condivisione di rete, stabilizza il mount sull'host prima dell'avvio del container. La guida all'affidabilità delle condivisioni di rete di Immich illustra la differenza tra un percorso disponibile e una dipendenza affidabile per l'applicazione.

Aggiungi una libreria esterna pilota ed esegui una scansione

Crea o seleziona l'utente proprietario in Immich, aggiungi una libreria esterna e inserisci il percorso visibile dal container. Inizia con una directory contenente copie o originali non critici invece di indicare l'intero archivio.

Esegui una scansione e verifica che vengano visualizzati i conteggi previsti di foto e video. Apri le risorse contenute nelle sottocartelle, controlla date e luoghi e conferma che le miniature e le anteprime codificate vengano scritte nello spazio gestito anziché accanto agli originali.

Sull'host, confronta gli orari di modifica o gli hash della sorgente pilota prima e dopo la scansione. Prova inoltre a creare un file nel percorso montato dall'interno del container: l'operazione dovrebbe fallire, mentre la lettura dovrebbe riuscire.

-15% OFF

Testa nuova scansione, file mancanti e ripristino

Aggiungi un file alla sorgente sull'host, esegui una nuova scansione e conferma che venga visualizzato. Poi sposta temporaneamente un file pilota fuori dalla sorgente, esegui una nuova scansione e osserva come la versione di Immich installata contrassegna o rimuove il record della risorsa prima di ripetere l'operazione sui dati reali.

Esegui il backup del database e dei dati scrivibili di Immich secondo il tuo normale piano di ripristino. Gli originali esterni richiedono un backup indipendente, perché un mount dell'applicazione in sola lettura non protegge da guasti del disco, eliminazioni sull'host o corruzione.

La condizione di superamento è che Immich possa indicizzare e visualizzare l'archivio, non possa scrivervi e possa essere ricostruito senza trattare la sorgente esterna come caricamenti gestiti. Interrompi la procedura se i file generati compaiono accanto agli originali o se un mount mancante viene scambiato per una libreria vuota.

Domande frequenti

Un mount in sola lettura impedisce a Immich di eliminare l'originale? Impedisce le scritture attraverso quel mount del container. Non protegge da eliminazioni sull'host, da un'altra condivisione scrivibile, da guasti del file system o da un amministratore che modifica la modalità del mount.

Dove vengono salvate le miniature di una libreria esterna? Restano nello spazio scrivibile gestito da Immich. Mantieni questa posizione separata dagli originali in sola lettura e includila nel piano di ripristino insieme al database.

Più utenti possono indicizzare la stessa cartella esterna? Evita sovrapposizioni nella proprietà finché non avrai testato il comportamento esatto della versione in uso. L'indicizzazione duplicata può creare risultati confusi relativi a proprietà e condivisione.

Supporto e consigli

Altro da leggere

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.