Cómo migré 14,000 fotos al ZimaCube 2 sin pérdida de datos — Una guía de migración de Immich

Eva Wong es la Redactora técnica y manitas residente en ZimaSpace. Una geek de toda la vida con pasión por los homelabs y el software de código abierto, se especializa en traducir conceptos técnicos complejos en guías accesibles y prácticas. Eva cree que el autoalojamiento debe ser divertido, no intimidante. A través de sus tutoriales, empodera a la comunidad para desmitificar las configuraciones de hardware, desde construir su primer NAS hasta dominar los contenedores Docker.

💡 Destacado de la comunidad: u/Ambitious_Shallot_79, r/minilab

Tienes una biblioteca de fotos. Años de recuerdos. Álbumes que organizaste cuidadosamente. Caras que etiquetaste. Enlaces compartidos que enviaste a la familia.

Luego actualizas tu NAS — y te das cuenta de que mover los archivos no es suficiente. Sin la base de datos, pierdes cada álbum, cada etiqueta facial, cada recuerdo que organizaste. Las fotos están, pero la organización desaparece.

Acabo de mover 14,505 fotos y 925 videos — 134 GiB en total — de un servidor DIY ZimaOS al ZimaCube 2. Todos los álbumes sobrevivieron. Todas las etiquetas faciales se conservaron. Todos los enlaces compartidos siguen funcionando.

Aquí está exactamente cómo lo hice, qué casi salió mal y qué aportó el ZimaCube 2 que mi configuración antigua no podía.

Por qué Immich, por qué ahora

Immich se ha convertido en la solución de fotos autoalojada preferida por una razón. Te ofrece funciones al nivel de Google Photos — reconocimiento facial, búsqueda semántica, copias automáticas desde tu teléfono, álbumes compartidos — sin enviar tus fotos al servidor de otra persona.

Pero Immich guarda su alma en PostgreSQL. La base de datos contiene álbumes, vectores faciales, grupos de personas, incrustaciones CLIP para búsqueda inteligente y cada metadato que hace que la biblioteca se sienta tuya. Mueve los archivos sin la base de datos y obtienes una carpeta llena de fotos y una instancia de Immich vacía.

Esta migración tuvo una regla: cero pérdida de datos. El servidor antiguo no se borraría hasta que el nuevo fuera verificado.

Lo que Immich realmente almacena (y por qué importa)

Antes de tocar cualquier archivo, planifiqué exactamente qué necesitaba mover:

Componente Ubicación Contenido ¿Debe migrarse?
pgdata /DATA/AppData/immich/pgdata PostgreSQL completo — álbumes, caras, personas, metadatos ✅ Crítico
model-cache /DATA/AppData/immich/model-cache Modelos descargados de CLIP/reconocimiento facial ✅ Evita volver a descargar
Biblioteca de fotos /DATA/Gallery/immich 14,505 fotos + 925 videos + miniaturas (134 GiB) ✅ Medios actuales
Copias automáticas /DATA/Gallery/immich/backups Últimas 14 instantáneas diarias de la base de datos 💡 Ya presente
🎁 Mover solo los archivos de fotos — sin el directorio pgdata — te da todas tus fotos pero ninguno de tus álbumes, etiquetas faciales, personas, recuerdos o enlaces compartidos. Immich considera a PostgreSQL como la fuente de verdad. Ambos deben moverse juntos.

Immich también crea copias de seguridad automáticas de la base de datos diariamente a las 2:00 AM, manteniendo las últimas 14 en el directorio de backups. Antes de realizar un volcado manual, verifica si ya hay una copia automática reciente.

El método: aplicación Archivos de ZimaOS (copia por LAN)

Ambas máquinas ejecutan ZimaOS en la misma LAN. Eso significó que podía usar la aplicación Archivos integrada para una transferencia directa por LAN — sin discos externos, sin comandos SCP, sin almacenamiento intermedio.

Paso 1: Montar la máquina fuente

En el ZimaCube 2, abre la aplicación Archivos → + Añadir almacenamiento → Almacenamiento LAN → introduce la IP local de la máquina fuente y autentícate. El sistema de archivos de la máquina fuente ahora aparece como almacenamiento navegable en el ZimaCube 2.

Paso 2: Detener Immich en la fuente

Este es el paso que la gente omite y luego lamenta. Detén Immich antes de copiar. Una instancia de PostgreSQL en ejecución está escribiendo constantemente — necesitas que la base de datos esté en un estado consistente y vaciado. En la máquina de origen: ZimaOS App Store → Immich → Detener.

Paso 3: Copiar ambos directorios

Desde la aplicación Archivos del ZimaCube 2, navega hasta la fuente montada y selecciona:

Ruta de origen Ruta de destino en ZimaCube 2
/DATA/AppData/immich /DATA/AppData/immich
/DATA/Gallery/immich /DATA/Gallery/immich

Selecciona ambas ubicaciones, pulsa Migrar. Elige: Sobrescribir en destino y Conservar originales en origen — no elimines la fuente hasta verificar.

Sobre la conexión 2.5GbE del ZimaCube 2, 134 GiB se transfieren en aproximadamente 10–15 minutos. Mi antiguo servidor DIY estaba limitado a 1GbE — la misma transferencia habría tomado 30–40 minutos. Esta es la diferencia real que no aparece en una hoja de especificaciones pero importa cada vez que mueves datos.

Paso 4: Instalar Immich en el ZimaCube 2

Abre la ZimaOS App Store y busca Immich. Advertencia crítica: la App Store puede mostrar múltiples variantes de Immich. Debes instalar la misma variante exacta que usa tu máquina de origen:

Immich (aplicación oficial de ZimaOS/CasaOS) — úsala si eso es lo que tenías antes

BigBearCasaOS Immich — variables de docker-compose diferentes, credenciales de postgres diferentes, nombre de base de datos diferente — incompatible con una copia directa de pgdata desde la aplicación oficial

🔑 Las variables de docker-compose — nombre de usuario de postgres, contraseña, nombre de la base de datos, modo de red — están integradas en la definición de la aplicación. Cualquier discrepancia entre las variantes de la aplicación de origen y destino impedirá que Immich se conecte a la base de datos restaurada. Este es el punto de fallo más común en las migraciones de Immich.

Después de la instalación, no inicies la aplicación inmediatamente. Immich detectará el directorio pgdata existente en el primer lanzamiento y se conectará a él en lugar de inicializar una base de datos nueva y vacía.

Buscando la aplicación 'immich' en la tienda de aplicaciones ZimaOS / CasaOS durante la configuración del NAS

Paso 5: Iniciar sesión con credenciales existentes

Abre Immich en http://192.168.x.x:2283 e inicia sesión con el mismo nombre de usuario y contraseña de la instancia original. Tu biblioteca completa — álbumes, caras, personas, configuraciones — estará exactamente como antes.

Pantalla de bienvenida de la aplicación Immich y botón para comenzar tras la migración exitosa de la base de datos

Paso 6: Verificar las colas de trabajo

Navega a Perfil → Administración → Colas de trabajo. Después de una migración de pgdata, la base de datos ya contiene todos los resultados procesados previamente, por lo que la mayoría de las colas deberían mostrar Activo: 0 / Esperando: 0.

Si alguna cola muestra un conteo bajo Missing, haz clic en el botón Missing para procesar solo los archivos no procesados:

Cola Cuándo ejecutar Missing
Generar miniaturas Si alguna foto muestra vistas previas en blanco
Extraer metadatos Si faltan datos GPS/ubicación/fecha en los archivos
Búsqueda inteligente Si la búsqueda semántica no devuelve resultados
Detección facial Si los datos faciales parecen incompletos

Las estadísticas de la migración

Métrica Valor
Fotos migradas 14,505
Videos migrados 925
Datos totales 134 GiB
Tiempo de transferencia (2.5GbE) ~12 minutos
Álbumes preservados Todo
Etiquetas faciales preservadas Todo
Enlaces compartidos preservados Todo
Pérdida de datos Cero

Por qué valió la pena hacer esto con el ZimaCube 2

No migré solo para tener la misma experiencia. El ZimaCube 2 trae tres mejoras que mi antigua caja DIY ZimaOS no podía igualar:

Transferencias 2.5GbE. Las bibliotecas de fotos crecen. Cada copia de seguridad completa, cada importación grande, cada migración se beneficia del ancho de banda 2.5× superior al gigabit estándar. El ZimaCube 2 con doble 2.5GbE me permite saturar una copia de seguridad mientras el resto de la red sigue respondiendo.

Almacenamiento NVMe para la base de datos. La base de datos Immich PostgreSQL funciona mucho mejor en NVMe que en discos duros tradicionales. La generación de miniaturas, las consultas inteligentes, el reconocimiento facial: todo lee desde pgdata. En el pool NVMe del ZimaCube 2, las operaciones de base de datos que antes se trababan en HDD ahora son instantáneas.

Expansión de 6 bahías. 134 GiB hoy. ¿Y el próximo año? El ZimaCube 2 tiene seis bahías SATA más cuatro ranuras M.2 en la 7ª bahía, lo que significa que esta biblioteca de fotos puede crecer durante años sin alcanzar un límite de almacenamiento.

IceWhale ZimaCube 2 NAS de 6 bahías mostrando las bahías frontales de intercambio en caliente para almacenamiento autoalojado de alto rendimiento

Migra tu biblioteca de fotos a ZimaCube 2 →

¿Construyendo tu sistema de fotos autoalojado? Lee nuestra guía de Dispositivo de Almacenamiento en la Nube Personal, nuestro análisis profundo de Docker & CI/CD en ZimaCube 2, y nuestro Unboxing del ZimaCube 2 Pro.

Preguntas Frecuentes

¿Puedo migrar Immich al ZimaCube 2 sin perder mis álbumes y etiquetas faciales?

— pero debes copiar tanto los archivos de fotos como el directorio pgdata (base de datos PostgreSQL). La base de datos almacena todos los álbumes, vectores faciales, grupos de personas y metadatos. Mover solo las fotos te deja con archivos sin organización. Copia ambos directorios juntos para que tu biblioteca se mantenga intacta.

¿Cuál es la forma más rápida de transferir datos de Immich al ZimaCube 2?

Si ambas máquinas están en la misma LAN y usan ZimaOS, usa la app Files integrada con montaje de almacenamiento LAN. Por la conexión 2.5GbE del ZimaCube 2, 134 GiB se transfieren en unos 10–15 minutos. Para bibliotecas más grandes o máquinas en redes diferentes, una unidad USB externa es la siguiente mejor opción.

¿Importa la versión de Immich en la App Store al migrar?

Sí — es crítico. La App Store de ZimaOS puede mostrar varias variantes de Immich (oficial vs BigBearCasaOS). Usan variables docker-compose diferentes — credenciales de postgres, nombres de base de datos y configuraciones de red son incompatibles. Instala la misma variante exacta que usa tu máquina origen, o la base de datos restaurada no se conectará.

¿Necesito detener Immich en la máquina origen antes de copiar?

Sí. Una instancia activa de PostgreSQL escribe continuamente. Copiar una base de datos en uso puede causar un estado inconsistente. Detén Immich en la máquina origen, copia las carpetas y luego inícialo en el destino. La máquina origen puede permanecer apagada o encendida como respaldo hasta que verifiques la migración.

¿Cuánto almacenamiento necesita Immich en el ZimaCube 2?

Planifica el tamaño de tu biblioteca de fotos más espacio para la base de datos PostgreSQL (que crece con tu biblioteca), la caché de miniaturas y las versiones de video transcodificadas. Una biblioteca de 134 GiB con 14,500 fotos usa aproximadamente 150–160 GiB en total con sobrecarga. Los seis bahías SATA del ZimaCube 2 te dan espacio para crecer.

Centro de Campañas Zima

Más para leer

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.