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.
/media/ZimaOS-HD → /DATA no demostraba que Immich estuviera usando la unidad del sistema operativo
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.
Los antiguos pgdata son tan importantes como los antiguos archivos de fotos
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.
