Me pergunto se, além dos problemas de espaço em disco, o processo de atualização excedeu a memória disponível (1 GB) alocada para o droplet? Você pode ver na minha captura de tela do console acima uma referência a ‘Out of memory’ como o primeiro item registrado após um ./launcher rebuild app
O que não mencionei é que, após essa tentativa, o console parou de responder (embora, nesse momento, eu estivesse usando o console baseado na web no Painel de Controle da Digital Ocean, que é sempre instável), e então fiz um reinício de energia no droplet. (A partir daí, usei o PuTTY)
De qualquer forma, não é bom que a atualização tenha sido relatada como bem-sucedida na página de atualização do Discourse após presumivelmente encontrar o mesmo problema de memória e/ou disco.
Ah, o OOM killer foi acionado. Isso certamente não é bom. Normalmente, recomendaria aumentar o espaço de swap. Você pode ver o uso atual com swapon; no meu caso:
# swapon
NAME TYPE SIZE USED PRIO
/swapfile file 2G 3M -2
Também free:
# free
total used free shared buff/cache available
Mem: 1992060 792904 80148 34696 1119008 1004956
Swap: 2097148 3084 2094064
Seria ruim se seu arquivo de swap de 2G não estivesse em uso. É ruim não conseguir adicionar swap sem usar espaço em disco!
Uma maneira de liberar espaço em disco para uma atualização é copiar todos os arquivos de backup para um local externo, verificar sua integridade e depois excluí-los do servidor. Você definitivamente precisa de um backup recente e confiável em algum lugar seguro durante a atualização, caso algo dê errado, mas ele não precisa estar no próprio servidor. Eu me sentiria confortável em excluir todos, exceto o mais recente, mas certamente faria uma cópia offline.
Seria bom ver os resultados do du novamente, agora que você fez todas as limpezas.
Eu me pergunto: o 1 GB é sua alocação de RAM e o 25 GB é sua alocação de disco? São duas coisas bem diferentes.
Edição: a história padrão suportada, eu acho, é ter bem mais do que 1 GB de RAM.
Edição: não, aparentemente 1 GB ainda é o mínimo absoluto recomendado.
Acabei de me conectar novamente, e as informações do sistema relatadas ao abrir a janela do console são:
Carga do sistema: 0.01 Processos: 136
Uso de /: 59,4% de 24,06 GB Usuários logados: 0
Uso de memória: 73% Endereço IP de eth0: 159.65.140.176
Uso de swap: 17% Endereço IP de docker0: 172.17.0.1
Então, 17% de espaço de swap equivalem a 4 GB?
Com ninguém logado no fórum e apenas a conexão atual do PuTTY ao droplet ativa, a RAM está 73% cheia — o que sugere que não levaria muita atividade para fazer o fórum migrar para o espaço de swap. E se isso consumir parte dos 24 GB, talvez isso crie a tempestade perfeita durante uma atualização, quando o uso do espaço em disco já está alto?
Acho que isso se enquadra, até certo ponto, na categoria de prever o futuro! A verificação de 5 GB de espaço em disco é claramente útil, mas não será à prova de falhas. A RAM livre é mais difícil; é bastante instável determinar quanto será necessário. Creio que será uma função, dependendo de quão grande o fórum se tornou e, talvez, também do que precisa ser alterado a cada atualização.
Sou cuidadoso para minimizar custos, então vou gastar tempo tentando caber em um servidor barato. Mas, eventualmente, à medida que o fórum cresce, com certeza valerá a pena migrar para o próximo nível. E isso custará dinheiro, mas economizará tempo e esforço.
Infelizmente, estou bem no extremo de ‘minimizar custos’ da escala — o fórum é um esforço puramente voluntário, sem geração de receita, e com a adição de postagens por e-mail (via MailGun) exigida pelos usuários, pode me custar um pouco todo mês apenas para mantê-lo funcionando.
Comparado a outros hobbies, acho que é mais barato do que beber em boates!