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 |
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.
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
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.

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.

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.

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?
Sí — 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

Convertí un Ikea Kallax en un homelab de rack de 10 pulgadas con el ZimaCube 2
Los homelabs montados en rack suenan geniales hasta que te das cuenta de que no quieres un motor a reacción empresarial invadiendo tu sala....

Cómo un dispositivo reemplazó toda mi nube: Nextcloud + IA local en el ZimaCube 2
Deja de pagar por almacenamiento en la nube. Descubre cómo un NAS autohospedado con Nextcloud puede sincronizar tus archivos de forma segura y ejecutar...

Primer vistazo a ZimaCube 2: el valor es increíble para un NAS de 6 bahías
Lee nuestra reseña del ZimaCube 2 Standard. Este NAS de seis bahías ofrece un gran valor para HomeLab con un Intel i3, Thunderbolt 4,...

