Recientemente hemos migrado de vBulletin a Discourse.
Aún estamos aprendiendo a utilizar Discourse y sus herramientas.
Una de mis preocupaciones es la recuperación ante desastres.
Contamos con instantáneas automáticas que conservamos durante mucho tiempo.
Realizamos copias de seguridad diarias utilizando las herramientas internas de Discourse y las guardamos en un bucket de S3 durante 15 días.
La recuperación a partir de una instantánea es bastante sencilla.
La idea es recuperar la última instantánea disponible que funcione y luego utilizar la última copia de seguridad disponible para restaurar el contenido.
Necesitaba una máquina de prueba para probar algunos complementos de Discourse.
Así que fue una buena oportunidad para poner a prueba nuestro plan de recuperación ante desastres.
Pero en lugar de utilizar una instantánea, intenté recuperar desde cero (por si acaso todo saliera mal y tuviéramos que empezar desde cero para restaurar una copia de seguridad disponible).
Creé una máquina Debian, actualicé el software e instalé Discourse desde cero (sin complementos instalados, solo lo mínimo indispensable).
Configuré HTTPS para que funcionara y, después de eso, intenté restaurar la última copia de seguridad.
Falló al actualizar la base de datos.
Se quejó de que algunas columnas no estaban presentes en ciertas tablas. Se deshizo la operación y volví a tener el mismo contenido: casi nada.
Al leer los errores y algunos hilos aquí, me di cuenta de que podría deberse a diferentes versiones de Discourse.
Lo verifiqué. Sí, el nuevo foro tenía una versión ligeramente más reciente que la original.
Actualicé el foro original a la última versión y realicé una copia de seguridad.
Intenté restaurarla y nuevamente falló con errores similares.
Así que podría ser que el nuevo foro no tuviera instalados los mismos complementos.
Por lo tanto, modifiqué app.yml para instalarlos, reconstruí la aplicación y lo intenté de nuevo.
Esta vez funcionó perfectamente.
Pero me dejó preocupado.
Si tienes que restaurar la copia de seguridad en una máquina con exactamente los mismos complementos y versiones instalados, será bastante difícil lograr una restauración exitosa.
Esta vez, mi foro antiguo estaba en funcionamiento y fue fácil verificar las versiones y actualizarlo a la más reciente.
Pero cuando estás recuperándote de un desastre, no tienes la oportunidad de verificar versiones o actualizar el software.
¿Cómo lo solucionan?
¿La copia de seguridad contiene información sobre los complementos instalados y las versiones de Discourse y de los complementos?
¿Cómo se crea una instancia básica de Discourse con las versiones apropiadas de Discourse y de los complementos para que coincidan con las de la copia de seguridad?
Gracias de antemano por sus orientaciones.