Sim. Se os backups estiverem no S3 e você não quiser mais os backups no disco local, você pode excluí-los.
Posso habilitar o S3 apenas para backups, mas não para upload de arquivos ou imagens?
Tive exatamente a mesma dúvida e não consegui encontrar uma resposta explícita aqui ou em Configure an S3 compatible object storage provider for uploads.
Mas configurei o Scaleway S3 Object Storage apenas para backups com estas variáveis de ambiente, e parece funcionar. Acabei de fazer um backup manual para o bucket desta forma, usando o painel do Administrador.
# Deixando os parâmetros abaixo comentados
# porque eles configuram o S3 para uploads/distribuição de CDN, o que não queremos.
# DISCOURSE_USE_S3: true
# DISCOURSE_S3_CDN_URL:
# DISCOURSE_S3_BUCKET:
DISCOURSE_S3_REGION: nl-ams
DISCOURSE_S3_ENDPOINT: https://s3.nl-ams.scw.cloud
DISCOURSE_S3_ACCESS_KEY_ID: <redacted>
DISCOURSE_S3_SECRET_ACCESS_KEY: <redacted>
DISCOURSE_S3_BACKUP_BUCKET: <redacted>
DISCOURSE_BACKUP_LOCATION: s3
Os ativos estáticos ainda são servidos do meu VPS, como esperado e desejado, e não estou vendo nenhum erro. Não tenho certeza se os backups agendados funcionarão, mas se o backup manual funcionou, eles também deveriam funcionar.
Adicionarei uma nota à wiki acima de que esses parâmetros podem ser omitidos se você quiser usar o S3 apenas para backups, e não para uploads de arquivos ou imagens.
Atualização: não é uma wiki.
Atualização 2: foi transformada em wiki a meu pedido, obrigado!
Se eu tiver 2 contêineres web redundantes, como posso garantir que apenas 1 execute um backup?
Você não precisa fazer nada — o Discourse lida com isso automaticamente. O Sidekiq e o Redis executarão o trabalho apenas uma vez, e o Sidekiq selecionará apenas um dos contêineres web. No entanto, não é possível ter certeza de qual será escolhido em qualquer backup específico se você estiver usando backups locais.
Portanto, você deve usar um bucket S3 externo, caso ainda não esteja fazendo isso; caso contrário, seus arquivos de backup provavelmente serão armazenados aleatoriamente nos discos locais de ambos os contêineres. Usar um bucket S3 significa que seu backup sempre será salvo no mesmo local.