Rebuild travando ao tentar parar o contêiner

Recebi hoje a primeira mensagem Você está executando uma versão antiga da imagem do Discourse. Atualizações via interface web estão desabilitadas até que você execute a imagem mais recente e acho que quebrei minha instalação.

Segui as instruções, executando cada comando com sudo, pois meu provedor de hospedagem não permite a criação de usuários root.

cd /var/discourse
sudo git pull
sudo ./launcher rebuild app

Depois, precisei executar novamente sudo git stash antes do pull, pois houve um erro relacionado a conflitos.

Tudo parecia estar progredindo normalmente (deixei rodar por mais de uma hora), mas então minha sessão do Terminal foi encerrada (erro de pipe quebrado). Para contornar, configurei ClientAliveInterval no servidor para 60, já que estava comentado, reiniciei e tentei novamente.

Agora, quando o script de rebuild é executado, ele trava ao tentar parar o contêiner Docker.

Tentei contornar isso executando docker kill <id> antes de rodar o script de rebuild, mas o mesmo travamento ocorre (CPU em 100% por cerca de 15 minutos… depois nada por horas).

Ao reiniciar o servidor, o site ainda sobe, mas não consigo atualizá-lo (o atualizador da interface ainda diz que estou executando uma imagem antiga do Discourse).

Qualquer orientação será muito bem-vinda.

É bastante difícil adivinhar sem ver a saída da compilação.

Você pode tentar usar tmux (ou algo similar) para manter a sessão aberta quando for desconectado (você pode se reconectar à sessão com tmux attach).

Talvez dê uma olhada em Atualização do PostgreSQL 13?

Obrigado, Jay, acho que encontrei o problema.

Meu provedor de VPS, webdock.io (que são ótimos, aliás), não suporta ZFS porque o usam no nível do host; me avisaram que ZFS aninhado não é uma opção. Eles também não recomendaram overlay2 para minha instalação e sugeriram que eu editasse launcher para incluir o driver de armazenamento vfs, que não está presente por padrão.

171‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎ Storage Driver: (vfs|aufs|zfs|overlay2)
‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎‏‏‎ ‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎‏‏‎ ‏‏‎ ‎‏‏‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎‏‏‎ ‎‏‏‎ ‏‏‎‎‏⬆️

Suspeito que sudo git pull tenha sobrescrito isso, e então tentei reconstruir com o driver de armazenamento errado?

Acabei de reverter tudo e depois reedição launcher antes de executar rebuild app, e tudo está funcionando novamente.

cd /var/discourse
sudo git stash
sudo git pull
sudo nano launcher 

‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ então edite a linha 171 para incluir vfs

sudo ./launcher rebuild app

Olá @ajmuir,

Sei que você resolveu seu problema há mais de um ano, mas queria adicionar minha opinião a esta discussão e também orientar novos usuários que encontrarem este tópico.

O Webdock (agora) recomenda o uso do fuse-overlayfs como driver de armazenamento Docker: How to change the Docker storage driver – Webdock

O motivo é que o vfs produz um alto uso de espaço em disco.

Mas o uso do fuse-overlayfs para Docker produzirá um aviso ou erro no lado do launcher do Discourse, pois não é um driver recomendado.

Tenho instruções detalhadas sobre como resolver isso neste post do meu blog: Deploying Discourse on a Webdock server

Você também pode fazer como fez, adicionando o driver instalado à instrução egrep.

E por que você diz que o Webdock não permite a criação de usuários root?
Você pode simplesmente mudar para root com sudo su e executar os comandos do guia de instalação do Discourse depois disso.