Atualização falhando

root@www:/var/discourse# ./launcher start data
x86_64 arch detectado.

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -h www-data -e DOCKER_HOST_IP=172.17.0.1 --name data -t -v /var/discourse/shared/data:/shared -v /var/discourse/shared/data/log/var-log:/var/log --mac-address 02:e6:17:cc:a2:dc local_discourse/data /sbin/boot
Unable to find image 'local_discourse/data:latest' locally
docker: Error response from daemon: pull access denied for local_discourse/data, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

Run 'docker run --help' for more information
root@www:/var/discourse# 

Alguma sugestão? Procurar por essa mensagem de erro só retorna este tópico.

Isso sugere que talvez você tenha executado um ./launcher cleanup e excluído o contêiner de dados (não vejo outra maneira de o contêiner ter desaparecido, mas posso estar errado). Se esse for o caso, e, na verdade, em qualquer caso, o que eu faria seria iniciar um novo droplet, copiar seus arquivos yml e restaurar seu último backup.

Se você preferir um peixe em vez de ser ensinado, pode entrar em contato comigo ou perguntar em Marketplace

1 curtida

A coisa que fez o site voltar a funcionar, depois que o contêiner de dados sumiu, foi editar data.yml e mudar o template para o template postgres13 e então reconstruir o contêiner de dados, depois foi possível iniciar o contêiner de dados, destruir e iniciar o contêiner web_only (ele não se conectará a um contêiner de dados diferente daquele que ele encontrou quando foi criado). Então o site voltou a funcionar.\n\nTenho quase certeza que se eu tivesse tentado novamente a atualização do banco de dados teria funcionado, mas para garantir, fiz um backup fresco do banco de dados, movi-o para um novo droplet, restaurei o banco de dados, e ele voltou a funcionar.

1 curtida

Você poderia dizer algumas palavras sobre como o problema surgiu, por exemplo, para tranquilizar os outros de que provavelmente não se aplicará a eles?

1 curtida

Tk;dr: não.

Não consigo dizer qual era o problema original. Saber para mudar para o template pg13 foi a solução para o problema depois que o contêiner foi excluído. Isso faz parte do que o tópico pg15 diz para fazer. Talvez tenha havido um problema de espaço em disco em algum momento?

ah, acho que agora entendi… foi um upgrade de um sistema bem antigo usando pg13? Então uma situação bem rara.

A atualização falhou porque a atualização do PostgreSQL exigia 14 GB de espaço livre em disco e o droplet não tinha o suficiente.

Por que não funcionou depois que expandi o espaço em disco, pode ter sido que, como sugerido por @Jagster acima, eu executei um ./launcher cleanup que era inadequado para uma instalação de dois contêineres.

Em algum momento, gostaria de mudar para uma instalação de contêiner único, pois isso parece menos problemático para alguém que realmente não conhece a arquitetura do Discourse. Eu também preferiria não fazer a auto-hospedagem, mas o site tem muitas fotos e a hospedagem do Discourse saltou de US$ 100 para US$ 200 por mês quando ficamos sem espaço em disco. O site só gera cerca de US$ 30-40 por mês com o Google Ads.

Migrei para a Digital Ocean há apenas dois anos.

E ainda assim eu fiz isso uma semana atrás, quando estava sem espaço.

@pfaffman sugeriu que esse poderia ter sido o problema. Não tenho ideia.

Não. Isso teria causado o mesmo problema para a configuração de contêiner único.
O problema foi que, ao tentar ganhar espaço em disco, você destruiu seu contêiner de dados parado. O erro crucial, eu acho, foi fazer a limpeza enquanto seus contêineres de dados e web estavam parados.

A configuração de dois contêineres o poupou de alguns aborrecimentos, pois facilitou o adiamento da atualização do postgres. Neste caso, no entanto, você ficou preso porque a atualização adicionou o plugin de IA, e isso o forçou a fazer a atualização do postgres no contêiner de dados.
Talvez se um cleanup do launcher tivesse sido executado antes de você tentar atualizar ou se você não o tivesse executado e redimensionado.

Então, houve uma série de problemas

  • Talvez muitas imagens do docker preenchendo o disco (talvez o disco seja muito pequeno)
  • Atualização do PostgreSQL necessária
  • Plugin de IA adicionado ao core, forçando a atualização do banco de dados
  • Atualização do PostgreSQL falhando por algum motivo e não sabendo iniciar o contêiner de dados (acho que a mensagem diz para fazer isso)
  • Execução do cleanup do launcher com o contêiner de dados desligado, o que excluiu o contêiner que precisava iniciar para fazer um desligamento limpo
1 curtida

[quote=“pfaffman, post:32, topic:379986”]O problema foi que, ao tentar ganhar espaço em disco, você destruiu seu contêiner de dados parado.

[/quote]
A única coisa que fiz para ganhar espaço em disco foi redimensionar o droplet.

Tudo o mais que fiz foi tentar concluir a atualização falha, com base em sugestões na saída do comando, postagens aqui ou em tópicos vinculados.

1 curtida

@pfaffman meu site está recebendo muito spam óbvio. É possível que alguma ferramenta antispam tenha se perdido na atualização?

É improvável. Não sei se o Akismet foi configurado alguma vez, mas ele não é mais muito eficaz. O que é recomendado agora é isto: Discourse AI - Spam detection O plugin de IA agora faz parte do núcleo e está instalado.

Se quiser ajuda, pode me enviar um e-mail.

EDIT: É possível, mas improvável, que a alteração descrita aqui possa explicar seu aumento de spam.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.