Solution communautaire

Ajouter une photothèque externe à Immich sur ZimaOS

A ZimaOS user wanted Immich to recognize photos already stored on another drive. The confirmed community solution was to mount that host folder into immich-server and then add the container-side path as an Immich External Library.

Si vous avez déjà des photos sur un autre disque dur ou SSD et souhaitez qu’Immich sur ZimaOS les indexe sans les déplacer dans la bibliothèque de téléversements normale d’Immich, utilisez une bibliothèque externe. Le fil communautaire d’octobre 2024 a confirmé ce flux de travail : exposez d’abord le dossier de l’hôte ZimaOS au conteneur immich-server, puis ajoutez le chemin correspondant côté conteneur dans l’administration d’Immich.

Cela diffère de la modification du stockage principal des téléversements d’Immich. Une réponse ultérieure du même fil demandait si le disque externe pouvait devenir l’emplacement unique de tous les futurs téléversements Immich, mais cette question n’a pas été résolue dans le fil source. La documentation actuelle d’Immich considère qu’il s’agit de deux flux de travail distincts : les bibliothèques externes pour les fichiers existants, et UPLOAD_LOCATION/chemins de stockage personnalisés pour les téléversements gérés par Immich.

Ce que le fil d’origine a réellement résolu

L’auteur d’origine souhaitait qu’Immich reconnaisse les photos stockées en dehors de son emplacement par défaut. Il a ensuite indiqué que cette séquence avait fonctionné :

  1. Ouvrez les paramètres d’Immich dans ZimaOS.
  2. Ouvrez le service immich-server.
  3. Ajoutez le dossier de l’hôte ZimaOS en tant que volume Docker.
  4. Utilisez un chemin côté conteneur tel que /home/user/photos1.
  5. Ouvrez l’administration d’Immich.
  6. Créez une bibliothèque externe et ajoutez le même chemin côté conteneur.

Un utilisateur ultérieur a explicitement confirmé que cette solution fonctionnait pour lui.

Le chemin de l’hôte et le chemin Immich sont différents

Le principe du mappage Docker est le suivant :

Dossier de l’hôte ZimaOS → Dossier du conteneur Immich

Par exemple :

/media/Photos:/home/user/photos1:ro

Immich n’analyse pas directement le chemin de l’hôte ZimaOS. Il peut uniquement analyser le chemin visible dans son conteneur :

/home/user/photos1

Utilisez le mode lecture seule pour les archives de photos existantes

La solution communautaire d’origine utilisait :ro. La documentation actuelle d’Immich recommande toujours les montages en lecture seule lorsqu’Immich doit uniquement indexer les fichiers :

/media/Photos:/home/user/photos1:ro

Le mode lecture seule empêche Immich de supprimer des fichiers ou d’écrire des métadonnées annexes dans le dossier source.

Documentation actuelle d’Immich sur les bibliothèques externes

Créez la bibliothèque externe dans Immich

Une fois le montage créé, ouvrez Immich avec un compte administrateur et accédez à la section Bibliothèques externes. Créez une bibliothèque, sélectionnez son propriétaire et ajoutez le chemin du conteneur :

/home/user/photos1

Lancez ensuite une analyse. Immich devrait commencer à indexer les photos et à créer les tâches de génération des miniatures et des métadonnées.

Vérifiez que le chemin existe dans le conteneur

Si Immich refuse le chemin de la bibliothèque, vérifiez que le montage est visible dans immich-server. Le problème central du fil source ne consistait pas simplement à choisir un dossier dans l’interface d’Immich ; Docker devait d’abord rendre ce dossier accessible dans le conteneur.

La documentation actuelle d’Immich explicite la même exigence : le chemin monté doit exister dans le conteneur avant de pouvoir être ajouté comme bibliothèque externe.

Ne copiez pas aveuglément l’étape historique de l’onglet Base de données

Le message source de 2024 indiquait également d’ajouter le même chemin dans l’onglet Base de données d’Immich. Cette instruction doit aujourd’hui être suivie avec prudence.

La version actuelle d’Immich distingue :

  • stockage de photos/vidéos via UPLOAD_LOCATION ou des montages bind de bibliothèques externes ;
  • Stockage de la base de données PostgreSQL via DB_DATA_LOCATION.

L’emplacement de la base de données n’est pas la même chose que l’emplacement de la bibliothèque de photos. Ne mappez pas un dossier de photos arbitraire dans PostgreSQL simplement parce que l’ancien paquet ZimaOS affichait un onglet de service de base de données.

Bibliothèque externe ou stockage principal d’Immich

Objectif Utilisez
Indexer les photos déjà stockées ailleurs Bibliothèque externe
Enregistrer les futurs téléversements d’Immich sur un autre disque Modifier l’emplacement des téléversements ou du stockage d’Immich

Le fil de discussion source confirmait le premier cas, et non le second.

Si vous voulez que le disque externe soit le stockage principal d’Immich

La configuration Docker Compose actuelle d’Immich utilise :

UPLOAD_LOCATION=./library

et monte ce chemin hôte vers /data à l’intérieur de immich-server. La documentation actuelle sur les emplacements personnalisés explique comment déplacer les données gérées par Immich vers un autre emplacement de stockage hôte tout en conservant les chemins attendus dans le conteneur.

Emplacements de stockage personnalisés d’Immich

Si des photos importantes existent déjà dans Immich, sauvegardez la base de données et le système de fichiers avant de modifier l’emplacement de stockage principal.

Séparez les exigences de la base de données

La base de données PostgreSQL a des exigences de stockage différentes de celles des fichiers photo. La documentation actuelle d’Immich indique que les partages réseau ne sont pas pris en charge pour le chemin de la base de données et que celle-ci doit utiliser un système de fichiers local adapté.

Ne déplacez pas PostgreSQL simplement parce que vous ajoutez une bibliothèque de photos externe.

Les bibliothèques externes nécessitent toujours des sauvegardes indépendantes

Immich ne copie pas les éléments d’origine de la bibliothèque externe dans son stockage géré normal. Les originaux restent sur le disque externe. Si ces fichiers sont supprimés du disque, Immich peut les marquer comme manquants ou les supprimer de la bibliothèque active après une nouvelle analyse.

Sauvegardez indépendamment le disque source. Les métadonnées de la base de données d’Immich ne remplacent pas une sauvegarde du système de fichiers.

Liste de contrôle d’une bibliothèque externe Immich sur ZimaOS

  1. Identifiez le dossier hôte ZimaOS existant qui contient les photos.
  2. Ouvrez les paramètres actuels de l’application ou du conteneur Immich.
  3. Montez le dossier hôte dans immich-server.
  4. Préférez :ro pour une archive qu’Immich ne doit pas modifier.
  5. Utilisez un chemin de conteneur clair tel que /home/user/photos1 ou /mnt/media/photos.
  6. Ouvrez Immich Administration → Bibliothèques externes.
  7. Ajoutez le chemin exact côté conteneur.
  8. Lancez une analyse de la bibliothèque.
  9. Ne confondez pas cela avec le déplacement du stockage principal d’Immich UPLOAD_LOCATION.
  10. Sauvegardez séparément le disque externe.

FAQ sur le stockage externe d’Immich

La solution d’origine a-t-elle fonctionné ?

Oui. L’auteur d’origine a signalé que cela fonctionnait, puis un autre utilisateur a confirmé par la suite que le même processus fonctionnait pour lui.

Une bibliothèque externe fait-elle du disque externe l’emplacement principal des téléversements d’Immich ?

Non. Les bibliothèques externes indexent les fichiers qui existent déjà en dehors du stockage des téléversements géré par Immich.

Quel chemin dois-je saisir dans Immich ?

Utilisez le chemin côté conteneur défini dans le montage Docker, et non le chemin hôte de ZimaOS.

Oui, lorsque le dossier externe est une archive qu’Immich doit uniquement lire. Supprimez le mode lecture seule uniquement si vous souhaitez intentionnellement qu’Immich y modifie ou supprime des fichiers.