Erros ao exportar dados do Teams para Discourse auto-hospedado no Digital Ocean

Olá, pessoal!
Encontrei alguns problemas relacionados à exportação e restauração de dados e gostaria de solicitar sua ajuda.

Contexto:
Queria exportar dados do Discourse Teams para um droplet auto-hospedado na Digital Ocean.
O backup e a restauração ocorreram sem problemas. Mas, após a restauração, o Discourse mostra o seguinte:


Dropshare Apps - upload anything anywhere on macOS and iOS (aqui está uma gravação de tela — desculpe, mas este fórum não permitiu que eu fizesse o upload nativamente)

Tentei restaurar mais uma vez. O mesmo problema ocorreu.

Aqui está o log de restauração de dados em formato txt:
Dropshare Apps - upload anything anywhere on macOS and iOS

Por favor, ajudem.

Edição:
Aqui está a captura de tela de /logs:
dsh.re/64209a (por favor, adicione https:// — desculpe, o fórum não permitiu que eu fizesse o upload da imagem ou adicionasse outra URL)

3 curtidas

Olá, Yash! Sinto muito que você esteja tendo problemas com o backup/restauração. Você já tentou o modo de segurança? Basta adicionar /safe-mode ao final da URL. Assim, você poderá ver o que acontece ao desativar o tema atual, plugins não oficiais ou todos os plugins.

Também recomendo que você dê uma olhada em /logs e no log de erros do nginx para verificar se há algum erro que possa ajudar a resolver o problema.

E o que acontece quando você executa ./launcher rebuild app no terminal? Talvez valha a pena tentar executar o comando várias vezes. Isso funcionou para mim no passado.

Por fim, você poderia compartilhar o conteúdo do seu arquivo containers/app.yml (sem senhas e informações que identifiquem o site, por favor), para que possamos ver quais plugins você tem instalados?

4 curtidas

Olá Tobias,

Muito obrigado pela resposta rápida. Agradeço genuinamente sua ajuda.

  1. Quando vou para /safe-mode, são exibidas algumas opções de caixa de seleção, como desativar o tema, etc. Ao marcar todas e clicar em “Próximo”, o mesmo erro persiste no frontend.

A URL anexada foi /?safe_mode=no_custom%2Cno_plugins%2Conly_official

Vale ressaltar que este é o droplet DO de um clique, sem plugins adicionais instalados por mim até o momento. No entanto, a instância Teams tinha muitos plugins. Você acha que isso pode estar causando o problema?

  1. Aqui estão os /logs:
    Dropshare Apps - upload anything anywhere on macOS and iOS

  2. Estou tentando executar ./launcher rebuild app agora. A primeira tentativa não produziu nenhum resultado. Estou tentando novamente. O mesmo erro aparece no frontend após o login.

  3. Aqui está uma captura de tela do arquivo app.yml. Devo exportar o arquivo e enviá-lo aqui?

Alguma ideia do que está dando errado?

2 curtidas

Espere. O único método de instalação suportado é este: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Por favor, tente isso e depois nos informe como foi.

2 curtidas

Discourse | DigitalOcean Marketplace 1-Click App - isso não vai funcionar? Vou ter que excluir o droplet e reconfigurá-lo usando as instruções que você compartilhou. Meu entendimento está correto?

2 curtidas

Isso mesmo. Desculpe por isso! Você terá que começar do zero.

2 curtidas

Ok, vou tentar isso e postar os resultados aqui. Obrigado, Tobias!

3 curtidas

Olá @tobiaseigen

Configurei um novo droplet, instalei o Discourse seguindo as instruções no GitHub. Fiz login, carreguei o backup e executei a restauração — o mesmo erro ocorreu.

Log da restauração:
Dropshare Apps - upload anything anywhere on macOS and iOS

Log de erro em /logs

App.yml

Você poderia me ajudar com os próximos passos? Tentei também o launcher rebuild e o modo seguro. O erro persiste. Até agora, não instalei nenhum plugin.

Observação lateral: o instalador de um clique da DO usa Docker e a versão mais recente do GitHub. Não seria exatamente o mesmo que uma instalação manual?

4 curtidas

Ótimo, estamos um passo mais perto. Vou analisar isso na próxima vez que estiver em um computador.

4 curtidas

É um problema com os uploads. O sistema está procurando por um nome de bucket S3, mas o novo ambiente não está configurado com um.

Como o backup foi criado e todos os uploads foram incluídos? Não vejo nenhum upload ocorrendo no log de restauração, o que sugere que não havia nenhum no backup.

3 curtidas

Ah! O site foi encerrado antes de você fazer o backup? Se não, os ativos estarão no S3, então uma restauração completa falhará.

Para que o backup funcione corretamente, uma configuração oculta deve ser ativada para incluir todos os ativos do S3 no backup.

É possível que o cancelamento de um site de equipe não ative automaticamente essa configuração.

3 curtidas

Tenho bastante certeza de que este é o download de backup habitual que ocorre quando um site é desativado. Ele inclui todos os uploads.

Vou testar isso pessoalmente amanhã e confirmar se o processo de backup/restauração ainda funciona como deveria no Teams.

3 curtidas

Acabei de fazer um teste rápido do processo de backup e vi que os uploads estão, de fato, incluídos no arquivo de backup. Amanhã, vou verificar se consigo descobrir como restaurar isso em um novo site auto-hospedado.

2 curtidas

Olá @schleifer - Como o Tobias corretamente apontou, o backup foi criado a partir dos times (o download de backup usual). Quando cliquei em cancelar a assinatura, foi-me dada a opção de fazer backup e baixar esse backup. Após isso, fiz um backup separado no painel de administração. Ambos têm o mesmo tamanho de arquivo, e nenhum deles funciona na instalação auto-hospedada.

@pfaffman - Não, não, o site ainda estava ativo quando fiz o backup. Não tenho certeza sobre a configuração oculta. Talvez isso possa ser o problema.

@tobiaseigen - Quando descompacto o arquivo tar.gz, o único conteúdo é “dump.sql”. Não vejo nenhuma mídia/anexos. Fiz algo errado ao fazer o backup?

3 curtidas

É. Esse não é o backup que você precisa. Se você tiver apenas o dump SQL, precisará entrar em contato com eles e solicitar o backup com os uploads. Tenho quase certeza de que eles resolverão isso amanhã e você ficará tudo certo.

3 curtidas

Normalmente, ela (obviamente) não incluirá os uploads, mas a restauração não falhará por isso?

4 curtidas

Eu tive os mesmos pensamentos: se os arquivos estão faltando, o Discourse não deveria ainda mostrar todos os tópicos, links externos e conversas sem os anexos carregados nativamente?

3 curtidas

Acho que, se ele extrair o dump.sql.gz e renomeá-lo para full-dump-filename.sql.gz, a restauração funcionará. Mas se o nome for o do tar.gz, ele tenta processar os uploads e falha. (Talvez haja algo relacionado ao S3 nas configurações do site? Não entendi muito bem.) Havia um tópico semelhante na semana passada, e essa foi a recomendação do Gerhard.

Mas, se ele realmente quiser hospedar o site, precisará dos uploads, então é melhor esperar pelo dump completo.

3 curtidas

@biyaniyash você pode, por favor, ir até /admin/site_settings/category/all_results?filter=s3 no seu novo site e desabilitar tudo relacionado ao S3, e depois tentar novamente? Isso deve fazer seu site funcionar.

1 curtida

Olá @tobiaseigen:
Isso é o que vejo por padrão ao acessar /admin/site_settings/category/all_results?filter=s3 no novo site Discourse auto-hospedado:

Exceto por uma opção, todas parecem estar desabilitadas por padrão. Você poderia confirmar quais são os passos que preciso seguir?

3 curtidas