
Guía Técnica: Importación Masiva de Fotos a Nextcloud y Configuración de Memories
Objetivo: Transferir una gran biblioteca de imágenes desde un almacenamiento externo a un servidor Nextcloud, asegurar su indexación correcta y visualizarlas cronológicamente en la aplicación Memories, evitando caídas del servidor por falta de recursos.
1. Transferencia de Archivos y Permisos
Lo primero es mover los datos físicos al directorio de datos de Nextcloud. No uses la interfaz web para cientos de gigabytes; usa la terminal.
A. Montaje y Copia (Rsync)
Montamos el disco externo y copiamos los datos usando rsync para mantener la integridad y ver el progreso.
|
|
B. Corrección de Permisos (Crítico)
Al copiar desde un externo, los archivos suelen pertenecer a root. Nextcloud (Apache/Nginx) necesita ser el dueño (www-data).
|
|
2. Optimización del Servidor (Prevención de Crashes)
El procesamiento de miles de imágenes (thumbnails, reconocimiento facial, transcodificación de video) consume mucha RAM. Sin esta configuración, MariaDB o PHP morirán por OOM (Out Of Memory).
A. Aumentar memoria SWAP
Si el servidor tiene <8GB de RAM, es obligatorio un archivo de intercambio (Swap) para absorber picos de carga.
|
|
B. Limitar la concurrencia en config.php
Editamos /var/www/html/nextcloud/config/config.php para evitar que Nextcloud intente procesar 20 fotos a la vez.
Añadir/Modificar al final del array $CONFIG:
|
|
3. Registro de Archivos en Nextcloud
Aunque los archivos están en el disco, la base de datos de Nextcloud no sabe que existen. Hay que escanearlos.
|
|
Salida esperada:
+---------+-------+
| Folders | Files |
| 974 | 17101 |
4. Configuración de la App Memories
Antes de indexar, debemos decirle a Memories qué carpetas debe incluir en la línea de tiempo.
- Ir a Nextcloud Web -> Configuración de Administración -> Memories.
- Buscar la sección “Ruta de la Línea de tiempo” (o General).
- Seleccionar las carpetas: Asegúrate de marcar la carpeta donde copiaste las fotos (ej:
/Photoso/_Contacts-Backup).- Nota: Si no se marcan aquí, las fotos existen en “Archivos” pero el Timeline de Memories saldrá vacío.
5. Indexación y Generación de Vistas Previas
El paso final es leer los metadatos EXIF (fechas de captura) y generar las miniaturas.
A. Indexar Metadatos (Memories)
|
|
B. Pre-generar Previews (Opcional pero recomendado)
Para que la navegación en el móvil sea fluida, generamos las miniaturas de antemano.
|
|
Resolución de Problemas Comunes
Error: SQLSTATE[HY000] [2002] Connection refused durante el escaneo.
- Causa: La base de datos se ha cerrado inesperadamente porque el servidor se quedó sin RAM (OOM Killer mató a MariaDB).
- Solución: Reiniciar MariaDB (
sudo systemctl restart mariadb), verificar que el SWAP está activo (free -h) y asegurar quepreview_concurrencyestá en1en el config.php.
Síntoma: Las fotos aparecen en “Archivos” pero no en “Memories”.
- Causa: La carpeta no está seleccionada en la configuración de Memories.
- Solución: Revisar el Paso 4 de esta guía.