Olá,
Recentemente, tornei-me o último administrador e mantenedor restante de uma instância básica de imagem Docker do Discourse que foi originalmente instalada em nosso servidor em 2021 (acho) e, em grande parte, atualizada por outra pessoa. Há algum tempo, possivelmente desde o início, temos tido um problema com uploads de posts excluídos de forma suave que não estão sendo órfãos e purgados, e venho tentando solucionar esse problema novamente há alguns dias, pois os arquivos obsoletos continuam se acumulando e desperdiçando espaço de armazenamento. Não estamos usando S3 e há espaço de armazenamento suficiente para os uploads que realmente queremos manter disponíveis.
Migrei o arquivo de backup completo do Discourse, incluindo uploads, para um servidor de staging separado para testes, reconstruindo com nosso app.yml seguindo os guias oficiais de instalação do Discourse Docker e, em seguida, restaurando o backup a partir da linha de comando. Ambas as instalações parecem estar rodando de forma idêntica e sem outros problemas óbvios, mas o problema de upload permanece.
Não consigo encontrar nenhum erro relevante nos logs e o Sidekiq está executando os trabalhos de limpeza conforme agendado. Executei rake db:migrate na versão de staging e reconstruí muitas vezes, tentei excluir posts permanentemente e verifiquei as configurações. Após excluir permanentemente alguns posts diretamente do console rails e tentar executar o trabalho de limpeza manualmente, notei que o diretório tombstone havia crescido um pouco em tamanho em algum momento e já havia alguns arquivos nele de qualquer maneira, então o mecanismo deve ter funcionado em algumas situações, certo? Julgando pelo pequeno aumento de tamanho, quase todos os arquivos obsoletos ainda não são detectados como órfãos.
As configurações atuais relevantes do painel de administração estão listadas abaixo. Posso definir as últimas para 0 para efetivamente pular os períodos de carência durante os testes?
limpar uploads = true
período de carência de horas para uploads órfãos = 1
dias de carência para purgar uploads excluídos = 1
Como posso solucionar isso eficientemente? Sinto-me confortável com a linha de comando, mas minhas habilidades de banco de dados são rudimentares, então eu realmente apreciaria algumas dicas para evitar passar por todos os possíveis detalhes de configuração do servidor sem ter ideia do que estou procurando neste momento.
Tenho pesquisado e lido desesperadamente neste fórum por casos semelhantes, mas há apenas alguns e esses tópicos parecem parar em um beco sem saída ou em soluções manuais para arquivos únicos, então não são diretamente adequados para este caso de uso.
Por favor, me peça mais detalhes se necessário, estou fazendo o meu melhor para resolver isso de uma vez por todas.