Quais são as formas mais básicas e confiáveis de garantir que um fórum Discourse possa sempre ser recuperado?

Ao longo dos anos, ajudei amigos a hospedar seus próprios fóruns.

Fiz com que eles alugassem um servidor da Hetzner, configurassem backups automatizados no Discourse e eu sincronizasse tudo para o meu Google Drive usando o rclone e uma tarefa cron. Cada administrador de cada fórum tem acesso aos seus próprios backups no meu Drive. É a solução mais simples e segura que eu, como não-sysadmin, consigo imaginar.

Em algumas ocasiões, notei que os tokens não estavam sendo atualizados no rClone (pelo menos em uma instância) e tive que reconfigurá-lo. Como não tenho nenhum tipo de alerta caso uma sincronização falhe, apenas verifico manualmente meu Drive de tempos em tempos para garantir que os últimos backups sejam recentes.

Se você fosse ajudar voluntariamente alguém ou uma associação a hospedar um fórum, qual solução você configuraria para garantir que sempre existam backups em algum lugar que possam ser recuperados com segurança caso o fórum venha a falhar por algum motivo)?

Eu faço backups usando rsync via ssh, com uma conta restrita, a partir de um cronjob. Bem, eu não faço, mas um dos meus moderadores faz. Eu faço e baixo um backup quando realizo uma atualização. Assim, em um dos casos, poderíamos perder alguns dias de atividade do fórum, e no outro, um mês ou mais.

Provavelmente eu deveria configurar um crontab meu. Também poderia aumentar a frequência dos backups — atualmente configurada para 2 dias.

Nos dois casos, temos que ser administradores razoavelmente competentes dos nossos próprios sistemas. Deveríamos perder o fórum apenas se ambos perdêssemos nossas cópias baixadas e nossos próprios backups, além do próprio servidor.

Edição: bom ponto, é preciso ter alguma verificação positiva de que o processo está funcionando e alguma noção, por mais superficial que seja, de que os backups baixados estão bons.

Eu não tomei cuidados especiais com o domínio: idealmente, esse também teria administração dupla e propriedade conjunta de alguma forma. Se perdêssemos o controle, o fórum teria que reaparecer em um novo domínio — ele poderia enviar resumos e notificações aos membros por e-mail, então, com um pouco de confiança, eles poderiam se readicionar.

Eu recomendaria o S3 para backups. Backups diários do fórum, se você quiser se sentir seguro. Backups do VPS, se quiser estar ainda mais seguro.

Também há:

Bem, eu faço o backup do banco de dados a cada hora :man_shrugging: É o mesmo princípio do e-commerce — é preciso considerar qual é o maior intervalo de tempo que se pode e/ou quer restaurar.

Backup no S3 e em um disco externo usando o restic

Concordo. Se você tiver o(s) arquivo(s) YML com a configuração do S3 e os backups no S3, então tudo o que você precisa para restaurar o fórum em um novo servidor é o(s) arquivo(s) YML. Isso tem a vantagem adicional de não encher seu disco com backups.

AVISO: Você precisa se lembrar de pagar a fatura do bucket S3, além da VM. Acho que a da Cloudflare é a mais barata?

Já tive um caso em que alguém perdeu o controle da conta AWS e perdeu todas as suas imagens. Então, apenas lembrar de pagar a fatura é um custo que não deve ser subestimado.