Recentemente, fizemos a migração do vBulletin para o Discourse.
Ainda estamos aprendendo a usar o Discourse e suas ferramentas.
Uma das minhas preocupações é a recuperação de desastres.
Temos snapshots automáticos que mantemos por longo prazo.
Realizamos backups diários usando as ferramentas internas do Discourse e os salvamos em um bucket do S3 por 15 dias.
A recuperação a partir de um snapshot é bastante direta.
A ideia é recuperar a partir do último snapshot disponível que funcione e, em seguida, usar o último backup disponível para restaurar o conteúdo.
Precisei de uma máquina de teste para experimentar alguns plugins do Discourse.
Então, foi uma boa oportunidade para testar o plano de recuperação de desastres.
Mas, em vez de usar um snapshot, tentei recuperar do zero (apenas no caso de tudo dar errado e precisarmos começar do zero para restaurar um backup disponível).
Criei uma máquina Debian, atualizei o software e instalei o Discourse do zero (sem plugins instalados, apenas o mínimo necessário).
Configurei o HTTPS para que funcionasse e, depois disso, tentei restaurar o último backup.
Falhou durante a atualização do banco de dados.
Reclamou sobre algumas colunas ausentes em certas tabelas. Foi feito um rollback e eu tinha novamente o mesmo conteúdo: quase nada.
Lendo os erros e alguns tópicos aqui, percebi que isso poderia ser causado por versões diferentes do Discourse.
Verifiquei isso. Sim, o novo fórum tinha uma versão um pouco mais recente que a original.
Atualizei o fórum original para a versão mais recente e fiz um backup.
Tentei restaurá-lo e novamente falhou com erros semelhantes.
Então, pode ser que o novo fórum não tivesse os mesmos plugins instalados.
Então, modifiquei o app.yml para instalá-los, reconstruí o aplicativo e tentei novamente.
Desta vez, funcionou bem.
Mas isso me deixou preocupado.
Se você precisar restaurar o backup em uma máquina com exatamente os mesmos plugins e versões instalados, será bastante difícil obter uma restauração bem-sucedida.
Desta vez, meu fórum antigo estava funcionando e era fácil verificar as versões e atualizá-lo para a mais recente.
Mas, ao recuperar de um desastre, você não tem a chance de verificar versões ou atualizar o software.
Como vocês resolvem isso?
O backup contém informações sobre os plugins instalados e as versões do Discourse e dos plugins?
Como criar uma instância básica do Discourse com as versões apropriadas do Discourse e dos plugins para corresponder às do seu backup?
Agradeço antecipadamente pela orientação.