Falha na atualização - preciso de ajuda para tentar corrigir usando SSH

Yesterday I had an admin message about upgrades. From the web UI, I did the Docker upgrade first and this seemed to go well. After it finished, the upgrade button for Discourse was enabled and I initiated that. At some point something broke and now our site is down. I was on my phone at the time and I didn’t manage to look at the log carefully to see where exactly things broke, before

I’m currently pocking around over SSH and about to try ./launcher rebuild app to hopefully get a better idea about what exactly is the problem in the upgrade. I’ve never done Discourse command-line repair and I want to make sure that I don’t blow away our data. Looking over app.yml, I see that the container is stateless - great - and that all the data is on the host, accessed as a shared volume.

I ran discourse-doctor and it looks like disk space is not the issue. Will the rebuild app command touch the local data store?

Yes, do the ./launcher rebuild app that should do it. It will not blow away your data.

If you’d rather not to it yourself, please see Automatic Rebuilds When You Need Them.

2 curtidas

Thanks, the rebuild seems to have worked - the GitHub avatars and favicon don’t show for some reason, though.

1 curtida

Olá!
Fiz a atualização e a página retornou um erro 504 Gateway Time-out.
Fiz isso, mas ainda não funciona.

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

Você tem alguma ideia do motivo pelo qual ainda não está funcionando?

Não. Não há muita chance de ter alguma ideia. Minha melhor suposição é que você não esperou o servidor reiniciar completamente, mas poderia ser qualquer coisa. A reconstrução foi concluída sem erros? Você está sem espaço em disco? O comando docker ps mostra que o contêiner está em execução?

Docker ps me mostra isso:
Captura de tela 2020-11-04 às 16.52.52

Se eu executar ./launcher enter app, ele me diz que o contêiner não está em execução. Como faço para executá-lo?

No arquivo de log, vejo isso:
Não foi possível encontrar rake-13.0.1 em nenhuma das fontes
Execute bundle install para instalar as gems ausentes.
Isso tem alguma importância?
Obrigado

Esse nome de contêiner significa que a reconstrução ainda está em andamento, há apenas 4 minutos.

Você pode acompanhar os logs com

docker logs -tf sweet_chatelet

Os logs estão sendo atualizados?

1 curtida

O rebuild foi concluído e ele exibe apenas isso:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

E ao executar ./launcher enter app, recebo esta mensagem:
Erro na resposta do daemon: O container … não está em execução

1 curtida

Então, a reconstrução está falhando em algum passo.

Tente uma nova reconstrução apenas com ./launcher rebuild app e acompanhe os logs. Quando parar com outra falha, role para cima e procure por mensagens de erro; elas mostrarão qual é o problema. Copie-as aqui e poderemos ajudar.

1 curtida

@Falco se eu executar ./launcher logs app, recebo o seguinte:
Não foi possível encontrar o rake-13.0.1 em nenhuma das fontes
Execute bundle install para instalar os gems ausentes.

Esses são todos os logs? Você pode compartilhar uma parte maior dos logs?

Esse servidor está atrás de algum firewall estranho ou ambiente corporativo? Ou é um VPS simples na internet?

Após concluir a reconstrução do aplicativo ./launcher, ele exibiu o seguinte: ** FALHA NA INICIALIZAÇÃO ** por favor, role para cima e procure mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.

mas ./discourse-doctor não resolve nada

você pode rolar para cima e procurar mensagens de erro anteriores?

Não sei se isso ajuda você a ver o que acontece!

As 3 primeiras capturas de tela são de ./launcher logs app e são inúteis.

A última é de ./launcher rebuild app e é a que contém as respostas! Por favor, verifique-a em busca de erros e, se possível, cole toda a saída como texto aqui.

Obrigado por isso!

/pups/lib/pups/config.rb:106:in `block (2 levels) in run_commands': Invalid run command cd (SyntaxError)
	from /pups/lib/pups/config.rb:100:in `each'
	from /pups/lib/pups/config.rb:100:in `block in run_commands'
	from /pups/lib/pups/config.rb:99:in `each'
	from /pups/lib/pups/config.rb:99:in `run_commands'
	from /pups/lib/pups/config.rb:78:in `run'
	from /pups/lib/pups/cli.rb:31:in `run'
	from /pups/bin/pups:8:in `<main>'
44bf915bdff740d4441ad5239f79d5b14a6ed375300c52b85c10eefb7af677a2
** FALHA NO BOOTSTRAP ** role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.

Parece que seu app.yml contém alguns comandos inválidos.

Talvez você tenha tentado adicionar um plugin e inserido alguns caracteres inválidos?

Pode colá-lo aqui, depois de remover qualquer senha?

Claro, aqui está:
app.txt (3,4 KB)

Parece que você tentou ativar o suporte a subpastas com Docker, mas a indentação do primeiro bloco foi prejudicada.

Tudo o que você precisa fazer é adicionar dois espaços extras no início das linhas 82, 83, 84 e 85.

Depois disso, salve o arquivo e reconstrua.

3 curtidas