Comment configurer les bibliothèques externes d’Immich comme sources en lecture seule

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek depuis toujours, passionnée par les homelabs et les logiciels open source, elle se spécialise dans la traduction de concepts techniques complexes en guides accessibles et pratiques. Eva croit que l’auto-hébergement doit être amusant, pas intimidant. À travers ses tutoriels, elle donne à la communauté les moyens de démystifier les configurations matérielles, depuis la construction de leur premier NAS jusqu’à la maîtrise des conteneurs Docker.

Une bibliothèque externe Immich indexe les photos qui se trouvent déjà en dehors de son arborescence de téléversement gérée. Monter cette source en lecture seule protège les originaux contre les erreurs de l’application ou de l’opérateur, mais Immich a toujours besoin d’un espace accessible en écriture pour les miniatures, les vidéos encodées, les données de profil et l’état de la base de données.

La configuration utilise donc deux zones de confiance : des dossiers source immuables et des données générées accessibles en écriture. Une petite bibliothèque pilote doit passer les tests de découverte, de métadonnées, de miniatures, de nouvelle analyse et de suppression avant l’ajout d’une archive volumineuse. Ce pilote permet également de vérifier la cohérence entre le chemin du conteneur, les autorisations et le plan de récupération.

Mappez séparément la source et le stockage géré

Choisissez un chemin hôte pour l’archive existante et un chemin de conteneur distinct, tel que /external/family-photos. Ne la placez pas sous le stockage des téléversements Immich, car les ressources externes et gérées obéissent à des règles de cycle de vie différentes.

Le flux de travail des bibliothèques externes Immich exige que le serveur puisse voir le chemin qui sera attribué à un utilisateur. Notez les deux côtés du montage afin que l’administrateur ne colle pas dans l’application un chemin uniquement accessible sur l’hôte.

Vérifiez que les emplacements accessibles en écriture utilisés par Immich pour les téléversements, les miniatures, les vidéos encodées et les données de la base de données disposent d’une sauvegarde normale et d’une surveillance de l’espace libre. Des originaux en lecture seule ne protègent ni les données générées ni les enregistrements des ressources qui rendent la bibliothèque exploitable.

Appliquez un montage de conteneur en lecture seule

Ajoutez l’archive en tant que montage lié avec l’indicateur de lecture seule dans Compose ou le gestionnaire de conteneurs. Un schéma courant mappe /srv/photos/archive sur l’hôte vers /external/archive dans le conteneur avec :ro.

Accordez au processus du conteneur les permissions de traversée et de lecture sur chaque répertoire parent. La lecture seule ne signifie pas qu’aucune permission n’est requise : l’absence de permission d’exécution sur un répertoire empêche la découverte, même lorsque les fichiers individuels sont lisibles.

Si la source est un partage réseau, stabilisez le montage sur l’hôte avant le démarrage du conteneur. Le guide de fiabilité des partages réseau Immich explique la différence entre un chemin disponible et une dépendance fiable pour l’application.

Ajoutez une bibliothèque externe pilote et analysez-la

Créez ou sélectionnez l’utilisateur Immich propriétaire, ajoutez une bibliothèque externe et saisissez le chemin d’importation visible par le conteneur. Commencez par un répertoire contenant des copies ou des originaux non critiques plutôt que de pointer vers l’archive complète.

Lancez une analyse et vérifiez que les nombres attendus de photos et de vidéos s’affichent. Ouvrez des ressources provenant de dossiers imbriqués, examinez les dates et les emplacements, puis confirmez que les miniatures et les aperçus encodés sont écrits dans le stockage géré plutôt qu’à côté des originaux.

Sur l’hôte, comparez les dates de modification ou les hachages de la source pilote avant et après l’analyse. Essayez également de créer un fichier dans le chemin monté depuis l’intérieur du conteneur ; l’opération doit échouer tandis que la lecture fonctionne.

-15% OFF

Testez la nouvelle analyse, les fichiers manquants et la récupération

Ajoutez un fichier à la source sur l’hôte, lancez une nouvelle analyse et confirmez qu’il apparaît. Déplacez ensuite temporairement un fichier pilote hors de la source, relancez l’analyse et observez comment la version d’Immich installée marque ou supprime l’enregistrement de la ressource avant de répéter l’opération sur les données réelles.

Sauvegardez la base de données et les données Immich accessibles en écriture conformément à votre plan de récupération habituel. Les originaux externes nécessitent leur propre sauvegarde indépendante, car un montage applicatif en lecture seule ne protège ni contre une panne de disque, ni contre une suppression depuis l’hôte, ni contre une corruption.

La condition de réussite est qu’Immich puisse indexer et afficher l’archive, ne puisse pas y écrire et puisse être reconstruit sans traiter la source externe comme des téléversements gérés. Arrêtez-vous si des fichiers générés apparaissent à côté des originaux ou si un montage manquant est pris pour une bibliothèque vide.

Foire aux questions

Un montage en lecture seule empêche-t-il Immich de supprimer l’original ? Il empêche les écritures via ce montage de conteneur. Il ne protège pas contre une suppression depuis l’hôte, un autre partage accessible en écriture, une défaillance du système de fichiers ou une modification du mode de montage par un administrateur.

Où les miniatures sont-elles stockées pour une bibliothèque externe ? Elles restent dans le stockage accessible en écriture géré par Immich. Conservez cet emplacement séparé des originaux en lecture seule et incluez-le avec la base de données dans le plan de récupération.

Plusieurs utilisateurs peuvent-ils indexer le même dossier externe ? Évitez les propriétaires qui se chevauchent tant que vous n’avez pas testé le comportement exact de la version utilisée. Une indexation en double peut créer des résultats confus en matière de propriété et de partage.

Assistance et conseils

Plus à lire

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.