Haz copias de seguridad y restaura tu instancia
No hay ninguna copia de seguridad automática dentro de KolleK. Proteger los datos es tarea del operador, y esta página es el procedimiento. También es, hoy por hoy, la respuesta real a "cómo exporto todo", tal como explica Haz una copia de seguridad de los datos de tu colección desde el punto de vista del coleccionista.
Qué es una copia de seguridad completa
Tres cosas, y las tres importan:
- La base de datos, en el volumen
db-data. Todos los registros: cuentas, colecciones, elementos, ejemplares, historial. - El volumen de almacenamiento,
storage-data. Todas las fotos y documentos subidos. - La clave de aplicación,
APP_KEYde tu.env(másAPP_PREVIOUS_KEYSsi la has definido).
Una copia de seguridad sin su clave de aplicación correspondiente no es una copia de seguridad. Los campos cifrados se restauran como texto cifrado ilegible sin la clave que los escribió. Guarda la clave junto a, o al lado de, cada copia de seguridad que hagas. Consulta La clave de aplicación y el cifrado.
Copia de seguridad
Vuelca la base de datos:
docker compose exec mysql mysqldump -u root -p"$DB_ROOT_PASSWORD" "$DB_DATABASE" > kollek-backup.sql
Archiva el volumen de almacenamiento:
docker run --rm -v kollek_storage-data:/data -v "$PWD":/backup alpine tar czf /backup/kollek-storage.tar.gz -C /data .
Copia ambos archivos, y una copia de tu .env, fuera del servidor. Automatiza esto con una tarea cron nocturna y conserva más de una generación; una copia de seguridad que nunca has restaurado es una esperanza, no un plan.
Restauración
En una máquina nueva, restaura en este orden:
- Instala la misma versión de KolleK siguiendo Instalar con Docker, pero define
APP_KEY(yAPP_PREVIOUS_KEYS) a partir de tu copia de seguridad en lugar de generar una clave nueva. - Arranca la pila una vez para que existan los volúmenes, y luego carga el volcado de la base de datos:
docker compose exec -T mysql mysql -u root -p"$DB_ROOT_PASSWORD" "$DB_DATABASE" < kollek-backup.sql
- Descomprime el archivo de almacenamiento en el volumen de almacenamiento:
docker run --rm -v kollek_storage-data:/data -v "$PWD":/backup alpine tar xzf /backup/kollek-storage.tar.gz -C /data
- Reinicia la pila con
docker compose up -de inicia sesión para verificar.
El comando que lo elimina todo
docker compose down -v elimina los volúmenes con nombre, es decir, la base de datos y todos los archivos subidos. No uses nunca el indicador -v en una instancia real. docker compose down a secas es seguro y deja los volúmenes intactos.
Por dónde seguir
- Entiende qué protege la clave en La clave de aplicación y el cifrado.
- Consulta qué pueden exportar los coleccionistas desde dentro de la aplicación en Haz una copia de seguridad de los datos de tu colección.