Solución de la comunidad

Volver a conectar Immich con las fotos existentes después de restablecer ZimaOS: protege pgdata y Upload antes de reasignar las rutas

A June-July 2026 thread where a ZimaOS reset preserved a RAID6 and its old Immich folders, but reinstalling Immich did not reconnect the existing photo library. The old /media/photos/immich/upload and pgdata folders still existed. Community replies emphasized protecting both and verifying Docker's actual mounts. The user ultimately abandoned that recovery attempt without confirming a fix.

Los datos de origen no parecían haberse perdido. Después de restablecer ZimaOS, el RAID6 seguía existiendo y también directorios como carga, pgdata, miniaturas, perfily vídeo codificado seguían presentes. El problema era que la pila de Immich reinstalada no estaba conectada al estado antiguo de la base de datos/biblioteca de una manera que restaurara el catálogo de fotos anterior.

El consejo más prudente de la fuente fue: no elimines ni muevas todavía las antiguas carpetas upload y pgdata. Immich no reconstruye todo su catálogo simplemente al detectar archivos de imagen en el disco. La base de datos contiene rutas de archivos, usuarios, álbumes, metadatos y el estado de la aplicación. La documentación actual de Immich v3 deja clara esa relación y recomienda hacer copias de seguridad tanto de los archivos de recursos como de la base de datos.

Primero, confirmar la ruta de montaje real del RAID

La fuente utilizó:

ls -la /media
find /media -maxdepth 4 -type d \( -iname "immich" -o -iname "pgdata" -o -iname "upload" \)

y encontró:

/media/photos/immich
/media/photos/immich/pgdata
/media/photos/immich/upload

Eso estableció que las antiguas carpetas de Immich todavía existían en el RAID.

Al usuario le alarmó lo siguiente:

/media/ZimaOS-HD -> /DATA

pero la comunidad explicó correctamente que se trata de una relación de montaje/enlace simbólico de ZimaOS. Su presencia no indica qué rutas del host están usando realmente los contenedores de Immich.

Inspeccionar los montajes efectivos de Docker

El hilo recomendaba comprobar:

docker inspect immich-server --format '{{json .Mounts}}'
docker inspect immich-postgres --format '{{json .Mounts}}'

Eso es más fiable que asumir que una captura de pantalla o un recuerdo antiguo refleja la configuración del contenedor en ejecución.

Configuración del servidor Immich en ZimaOS, que muestra las rutas del host bajo /media/photos/immich asignadas a las rutas de contenedor upload, thumbs, profile, model-cache, library, encoded-video y backups
La fuente muestra las antiguas carpetas RAID asignadas al nuevo contenedor del servidor Immich, pero asignar solo los archivos no restauró el catálogo de la base de datos anterior.

Los antiguos pgdata son tan importantes como los antiguos archivos de fotos

Configuración del mapeo de la base de datos de Immich en ZimaOS: asignar /media/photos/immich/pgdata al directorio de datos de Postgres
La asignación de la base de datos es fundamental porque Immich almacena el catálogo y los metadatos que conectan a los usuarios con los archivos del disco.

Si la reinstalación inicializó una base de datos completamente nueva en lugar de la antigua, los archivos aún pueden existir mientras Immich aparece vacío.

El Immich actual usa UPLOAD_LOCATION y DB_DATA_LOCATION

La configuración Compose actual de Immich v3 separa la ubicación de los recursos en el host y la ubicación de Postgres mediante UPLOAD_LOCATION y DB_DATA_LOCATION. El proyecto indica explícitamente que no se admiten recursos compartidos de red para la ruta de la base de datos.

Usa el modelo de almacenamiento actual de Immich.

Una copia de seguridad de la base de datos es más segura que volver a conectar un directorio pgdata antiguo activo entre versiones

El origen estaba en Immich v2.7.2. El Immich actual es la v3. Al recuperar datos entre versiones, el flujo de copia de seguridad y restauración de la base de datos recomendado por el proyecto es más seguro que suponer que se puede conectar directamente un directorio de datos de Postgres antiguo a una imagen de base de datos más reciente.

Consulta el proceso actual de copia de seguridad y restauración de Immich.

No reorganices manualmente las carpetas internas de recursos de Immich

La documentación actual de Immich advierte que carpetas como biblioteca, carga, miniaturas, perfily vídeo codificado son administrados por la aplicación. Mover o eliminar archivos individuales a espaldas de Immich puede crear recursos faltantes o sin seguimiento.

El usuario de origen no confirmó una recuperación exitosa

Los miembros de la comunidad propusieron varios enfoques de mapeo, incluido un único montaje principal, pero jerlo finalmente dejó el problema de lado y empezó de nuevo en otro sistema. Por lo tanto, el foro no valida ninguna ruta de mapeo concreta como solución definitiva.

Actualmente, Immich prefiere una raíz de carga gestionada en lugar de asignar manualmente cada carpeta secundaria

Las capturas de pantalla de origen asignaban manualmente carga, miniaturas, perfil, biblioteca, vídeo codificado, y las copias de seguridad, una por una. El Compose ascendente actual, en cambio, se centra en UPLOAD_LOCATION, y deja que Immich gestione sus directorios secundarios internos dentro de esa raíz.

Al reconstruir en una versión más reciente de Immich, utiliza la disposición actual de Compose y del almacenamiento en lugar de reproducir un conjunto histórico de asignaciones secundarias, a menos que el paquete las requiera específicamente.

Mantén la ruta de datos de Postgres en un almacenamiento local compatible

La documentación actual de Immich indica explícitamente que los recursos compartidos de red no son compatibles con DB_DATA_LOCATION. Un sistema de archivos RAID o de almacenamiento conectado localmente puede ser adecuado, pero un directorio de base de datos montado mediante SMB/NFS no es una ruta de base de datos compatible.

Una recuperación completa de Immich necesita tanto los recursos como la base de datos

La documentación actual de copias de seguridad de Immich indica que las copias de seguridad de la base de datos contienen metadatos e información de los usuarios, pero no incluyen los recursos de fotos y vídeos. El árbol de recursos debe respaldarse por separado y restaurarse junto con una copia de seguridad compatible de la base de datos.

Eso explica por qué «los archivos subidos siguen ahí» era tranquilizador, pero insuficiente en el caso de origen.

No conectes despreocupadamente un directorio pgdata activo antiguo a una versión diferente de Postgres o de la imagen

Un directorio de datos sin procesar de Postgres depende de la versión. Si el entorno antiguo y el paquete nuevo utilizan versiones diferentes de Postgres o Immich, es preferible usar un volcado y restauración de la base de datos compatibles o una ruta de migración documentada. Haz una copia de seguridad byte a byte del antiguo pgdata antes de hacer pruebas.

Preguntas frecuentes sobre la recuperación de Immich

¿El restablecimiento de ZimaOS borró las carpetas de fotos del RAID6 de origen?

No. El usuario indicó que el RAID y los directorios y archivos existentes permanecieron intactos.

¿Asignar únicamente los archivos de fotos antiguos restaurará la biblioteca de Immich?

No necesariamente. Immich también necesita el estado correspondiente de la base de datos y del catálogo.

¿Qué debe protegerse antes de hacer pruebas?

El almacenamiento completo de los recursos, además de la base de datos o una copia de seguridad verificada de la base de datos.