Restaurar backup para uma instância local de forma segura/anonimizada

Quero experimentar um pouco com plugins, temas, etc. localmente, para evitar o risco de quebrar o fórum real. Mas configurar tudo para um estado semelhante ao do fórum real é difícil, então seria ótimo apenas restaurar o backup na instância local.

Mas como devo fazer isso para evitar riscos como o envio de e-mails para os usuários reais a partir da instância local? Também talvez existam outras armadilhas das quais não estou ciente?

Existe alguma maneira de anonimizar todos os dados dos usuários no backup (remover e-mails, pelo menos)? Ou restaurar tudo, exceto os dados dos usuários?

Execute isto no console do Rails para anonimizar todos os usuários, exceto os da equipe:

acting_user = User.find(-1)
User.all.each do |u|
  next if u.staff? 
  user = UserAnonymizer.new(u, acting_user).make_anonymous
end

Não seria mais simples desativar todos os e-mails de saída? Essa é uma configuração global do site.

Sim, provavelmente é mais fácil ajustar essa configuração. No entanto, pelo que entendi, o backup sobrescreverá todas as configurações, então existe a chance de que alguns e-mails sejam enviados entre a conclusão da restauração e a desativação dos e-mails, a menos que a instância de origem também tivesse isso desativado durante o backup.


Aliás, percebi que provavelmente seria melhor usar apenas um servidor e domínio separados em vez de uma configuração local de desenvolvimento com Docker.

Pelo que entendo, a restauração do backup não afeta o app.yml, então, se eu não inserir a configuração SMTP no app.yml no servidor de teste, não haverá nenhuma chance de enviar e-mails?

Sob muitas leis, incluindo a CCPA, é considerado processamento ilegal o uso de dados de produção não anonimizados em ambientes de desenvolvimento e teste. As chances de uma violação de dados são maiores em sistemas que podem conter bugs, possuem bancos de dados em laptops ou são acessados por pessoas não autorizadas.

Não, porque o Sidekiq é pausado durante uma operação de restauração.

Sim, mas eu quis dizer não durante, mas após a conclusão da restauração (entendo que, após isso, todos os processos são retomados imediatamente) e antes de eu alterar essa configuração para desabilitar os e-mails.

Desculpe, minha resposta estava de fato incompleta. Quando um backup do Discourse é restaurado, os e-mails de saída são desabilitados automaticamente como parte da operação de restauração. Eles precisam ser habilitados explicitamente após a restauração.

Você ainda precisa desabilitar manualmente a consulta POP se ela estiver configurada; caso contrário, sua instância de teste pode começar a processar e-mails recebidos fora da instância real.

Obrigado :slight_smile: Acredito que uso outro modo de polling, via Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver

Outra configuração que provavelmente deve ser desativada é permitir indexação no robots.txt

E também adicionei Restrict access to your Discourse site with HTTP Basic Authentication.

Os administradores recebem uma mensagem lembrando-os de ativar os e-mails de saída?

Sim, o aviso no topo da página.