Solución de la comunidad

Añade una biblioteca de fotos externa a Immich en 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 ya tienes fotos en otro HDD o SSD y quieres que Immich en ZimaOS las indexe sin moverlas a su biblioteca de cargas normal, usa una biblioteca externa. El hilo comunitario de octubre de 2024 confirmó este flujo de trabajo: primero expón la carpeta del host de ZimaOS al contenedor immich-server y luego añade la ruta correspondiente del lado del contenedor en la Administración de Immich.

Esto es diferente de cambiar el almacenamiento principal de cargas de Immich. Más adelante, una respuesta del mismo hilo preguntaba si el disco externo podía convertirse en la única ubicación para todas las cargas futuras de Immich, pero esa pregunta no se resolvió en el hilo original. La documentación actual de Immich considera estos dos flujos de trabajo por separado: bibliotecas externas para archivos existentes, y UPLOAD_LOCATION/rutas de almacenamiento personalizadas para las cargas gestionadas por Immich.

Lo que realmente solucionó el hilo original

El autor original quería que Immich reconociera las fotos almacenadas fuera de su ubicación predeterminada. Más tarde informó que esta secuencia funcionaba:

  1. Abre la configuración de Immich en ZimaOS.
  2. Abre el servicio immich-server.
  3. Añade la carpeta del host de ZimaOS como volumen de Docker.
  4. Usa una ruta del lado del contenedor, como /home/user/photos1.
  5. Abre la administración de Immich.
  6. Crea una biblioteca externa y añade la misma ruta del lado del contenedor.

Más adelante, otro usuario confirmó explícitamente que esta solución le funcionó.

La ruta del host y la ruta de Immich son diferentes

El concepto de asignación de Docker es:

Carpeta del host de ZimaOS → Carpeta del contenedor de Immich

Por ejemplo:

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

Immich no analiza directamente la ruta del host de ZimaOS. Solo puede analizar la ruta visible dentro de su contenedor:

/home/user/photos1

Usa el modo de solo lectura para archivos fotográficos existentes

La solución original de la comunidad usaba :ro. La documentación actual de Immich sigue recomendando montajes de solo lectura cuando Immich solo debe indexar los archivos:

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

El modo de solo lectura impide que Immich elimine archivos o escriba metadatos sidecar en la carpeta de origen.

Documentación actual de las bibliotecas externas de Immich

Crea la biblioteca externa en Immich

Una vez creado el montaje, abre Immich con una cuenta de administrador y ve a la sección Bibliotecas externas. Crea una biblioteca, selecciona su propietario y añade la ruta del contenedor:

/home/user/photos1

Después, ejecuta un análisis. Immich debería comenzar a indexar las fotos y a crear miniaturas y tareas de metadatos.

Verifica que la ruta exista dentro del contenedor

Si Immich rechaza la ruta de la biblioteca, confirma que el montaje sea visible en immich-server. El problema central del hilo original no era simplemente elegir una carpeta en la interfaz de Immich; Docker primero tenía que exponer esa carpeta dentro del contenedor.

La documentación actual de Immich explicita el mismo requisito: la ruta montada debe existir dentro del contenedor antes de poder añadirla como biblioteca externa.

No copies ciegamente el paso histórico de la pestaña Base de datos

La publicación original de 2024 también indicaba añadir la misma ruta en la pestaña Base de datos de Immich. Hoy esa instrucción debe tratarse con cautela.

La versión actual de Immich separa:

  • almacenamiento de fotos/vídeos mediante UPLOAD_LOCATION o montajes bind de bibliotecas externas;
  • Almacenamiento de la base de datos PostgreSQL mediante DB_DATA_LOCATION.

La ubicación de la base de datos no es lo mismo que la ubicación de la biblioteca de fotos. No asignes una carpeta de fotos cualquiera a PostgreSQL solo porque el paquete antiguo de ZimaOS mostraba una pestaña de servicio de base de datos.

Biblioteca externa frente al almacenamiento principal de Immich

Objetivo Usa
Indexa las fotos ya almacenadas en otro lugar Biblioteca externa
Haz que las futuras cargas de Immich se almacenen en otra unidad Cambia la ubicación de carga o almacenamiento de Immich

El hilo de origen confirmó el primer caso, no el segundo.

Si quieres que la unidad externa sea el almacenamiento principal de Immich

La configuración actual de Docker Compose de Immich utiliza:

UPLOAD_LOCATION=./library

y monta esa ruta del host en /data dentro de immich-server. La documentación actual sobre ubicaciones personalizadas explica cómo mover los datos administrados por Immich a otra ubicación de almacenamiento del host conservando las rutas esperadas dentro del contenedor.

Ubicaciones de almacenamiento personalizadas de Immich

Si ya hay fotos importantes en Immich, haz una copia de seguridad tanto de la base de datos como del sistema de archivos antes de cambiar la ubicación de almacenamiento principal.

Mantén separados los requisitos de la base de datos

La base de datos PostgreSQL tiene requisitos de almacenamiento distintos a los de los archivos de fotos. La documentación actual de Immich indica que los recursos compartidos de red no son compatibles con la ruta de la base de datos y que esta debe utilizar un sistema de archivos local adecuado.

No muevas PostgreSQL simplemente porque estás añadiendo una biblioteca de fotos externa.

Las bibliotecas externas también necesitan copias de seguridad independientes

Immich no copia los archivos originales de la biblioteca externa en su almacenamiento administrado normal. Los originales permanecen en el disco externo. Si esos archivos se eliminan del disco, Immich puede marcarlos como ausentes o eliminarlos de la biblioteca activa después de volver a analizarla.

Haz una copia de seguridad de la unidad de origen de forma independiente. Los metadatos de la base de datos de Immich no sustituyen una copia de seguridad del sistema de archivos.

Lista de comprobación de bibliotecas externas de Immich en ZimaOS

  1. Identifica la carpeta existente del host de ZimaOS que contiene las fotos.
  2. Abre la configuración actual de la aplicación o el contenedor de Immich.
  3. Monta la carpeta del host en immich-server.
  4. Prefiere :ro para un archivo que Immich no debe modificar.
  5. Usa una ruta clara dentro del contenedor, como /home/user/photos1 o /mnt/media/photos.
  6. Abre Administración de Immich → Bibliotecas externas.
  7. Añade la ruta exacta dentro del contenedor.
  8. Ejecuta un análisis de la biblioteca.
  9. No confundas esto con mover el almacenamiento principal de Immich UPLOAD_LOCATION.
  10. Haz una copia de seguridad de la unidad externa por separado.

Preguntas frecuentes sobre el almacenamiento externo de Immich

¿Funcionó la solución original?

Sí. El autor original informó que funcionaba correctamente, y posteriormente otro usuario confirmó que el mismo proceso también le funcionó.

¿La biblioteca externa convierte la unidad externa en la ubicación principal de cargas de Immich?

No. Las bibliotecas externas indexan archivos que ya existen fuera del almacenamiento de cargas administrado por Immich.

¿Qué ruta debo introducir en Immich?

Usa la ruta dentro del contenedor definida en el montaje de Docker, no la ruta del host de ZimaOS.

Sí, cuando la carpeta externa es un archivo que Immich solo debe leer. Elimina el modo de solo lectura únicamente si quieres que Immich modifique o elimine archivos allí.