Melhor maneira de recuperar a partir de backups com plugins?

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.

É raro que plugins mexam no banco de dados.

Jeff, o problema não é que um plugin não está funcionando.

Parece que, ao restaurar um backup, você precisa estar executando exatamente a mesma versão de release do Discourse e ter instalado os mesmos plugins que estavam em execução na origem do backup.

Mas, ao recuperar um backup antigo, você não sabe exatamente quais versões e plugins estavam em execução naquele momento.

Seria útil se fosse possível listar a versão e os plugins que estavam instalados no momento em que o backup foi feito, a partir do arquivo de backup, e visualizá-los na interface de restauração.

Não, isso não é verdade.

Você está usando plugins de terceiros? Pelo que sei, isso não deve acontecer com os plugins oficiais do Discourse.

Então, você não precisa estar executando exatamente a mesma versão que a versão do backup para restaurá-lo?
Eu tive um erro ao restaurar e pensei que fosse devido às versões não serem iguais.

Seria útil poder revisar a versão do Discourse e a versão dos plugins de um backup antes de restaurar.

Estou executando apenas um plugin de terceiros: a prévia da lista de tópicos.

Consegui restaurar o backup após várias tentativas (sem alterar nada).
Estranhamente, uma delas restaurou sem erro.

Pude ver que não era o único com o problema: