Mejor forma de recuperar desde copias de seguridad con plugins?

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.

Es raro que los plugins interfieran con la base de datos.

Jeff, el problema no es que un plugin no funcione.

Parece que al restaurar una copia de seguridad debes estar ejecutando exactamente la misma versión de lanzamiento de Discourse y tener instalados los mismos plugins que tenías en el origen de la copia de seguridad.

Pero cuando recuperas una copia de seguridad de hace tiempo, no sabes exactamente qué versiones y plugins estabas ejecutando en ese momento.

Sería útil que pudieras listar la versión y los plugins que estaban instalados cuando se realizó la copia de seguridad, directamente desde el archivo de respaldo y verlo en la interfaz de restauración.

No, eso no es cierto.

¿Estás usando complementos de terceros? Por lo que sé, esto no debería ocurrir con los complementos oficiales de Discourse.

¿Entonces no es necesario ejecutar exactamente la misma versión que la de las copias de seguridad para restaurarla? Tuve un error al restaurar y pensé que se debía a que las versiones no coincidían.

Sería útil poder revisar la versión de Discourse y la de los plugins de una copia de seguridad antes de restaurar.

Solo estoy ejecutando un plugin de terceros: Topic List Preview.

Pude restaurar la copia de seguridad tras varios intentos (sin cambiar nada). Extrañamente, una de ellas se restauró sin errores.

Pude ver que no era el único con este problema: