Problemas na Reconstrução Após Atualização para Ubuntu 22.04

Depois de quebrar a cabeça por muitas horas, é hora de pedir ajuda.

Log de depuração:

https://privatebin.net/?b56249efe41b5599#8nt7yMQU2Hft4HysXSoZkxXQTYdR9MFv91qC9sbBgen

1 curtida

Seu Droplet (ou contêiner Docker) está com problemas de conectividade com o GitHub

fatal: unable to access ‘GitHub - discourse/discourse: A platform for community discussion. Free, open, simple.’: Could not resolve host: github.com

Você poderia verificar se o GitHub está acessível?

2 curtidas

Ah, o que significa que talvez eu tenha tentado reconstruir muitas vezes em um curto período e meu IP do servidor foi bloqueado temporariamente?

Nenhum dos outros erros é importante?

Acabei de tentar novamente e ainda estou bloqueado, então há mais alguma coisa que eu possa tentar ou devo apenas esperar 24 horas e tentar novamente?

Você poderia tentar pingar/curl o github.com e ver se obtém alguma resposta. Pode ser um problema de firewall ou de conectividade, em vez de um limite de taxa.

1 curtida

“Não foi possível resolver o host” sugere um problema de DNS, ou seja, seu servidor não consegue encontrar o endereço IP para github.com.

==================== REBUILD LOG ====================
x86_64 arch detectado.
Garantindo que o launcher esteja atualizado
Buscando origem
Launcher está atualizado

Isso sugere para mim que seu host é capaz de resolver e conectar-se a github.com, a menos que você tenha clonado o repositório discourse_docker de outro lugar. Você pode confirmar isso com os seguintes comandos para listar o remoto do repositório:

cd /var/discourse
git remote -v

o que deve produzir:

origin	https://github.com/discourse/discourse_docker.git (fetch)
origin	https://github.com/discourse/discourse_docker.git (push)

Se for esse o caso, o erro subsequente de falha ao resolver github.com implicaria que o contêiner docker não consegue resolvê-lo, apesar do host conseguir, sugerindo um problema com a conectividade do docker.

2 curtidas

git remote -v de fato teve a saída esperada. Como devo solucionar problemas com o Docker, ou devo simplesmente reinstalá-lo? Ficarei feliz em fazê-lo, desde que não perca nenhum dado. Onde exatamente o Discourse armazena seu banco de dados e arquivos carregados (o que quer que aconteça a seguir, gostaria de fazer backup manualmente)?

/var/discourse/shared/standalone é mapeado para um volume no contêiner, todos os dados persistentes são armazenados lá.

docker network ls listará as redes do docker, o que vejo é a rede bridge padrão e outras duas redes. Os contêineres usam a rede bridge padrão, a menos que seja explicitamente instruído a usar outra coisa.

Encontrei algumas informações sobre a rede bridge padrão não fornecer mais conectividade para o mundo exterior. Estou especulando, mas o Ubuntu 22.04 pode ter mudado para uma versão do Docker onde isso se aplica, o que significa que o contêiner Discourse precisará ser configurado para usar uma bridge definida pelo usuário em vez disso.

Eu acho que você pode simplesmente editar /var/discourse/containers/app.yml e adicionar isso ao final, e então reconstruir: (no entanto, não testei isso)

networks:
  default:
    driver: bridge

/var/discourse/shared/standalone/backups/default parece ter backups compactados de todas as partes importantes, o banco de dados e os uploads.

Obrigado pelas ideias, mas não funcionou.

Devo simplesmente tentar reinstalar o Docker, ou se eu fizer isso, posso muito bem apagar tudo e fazer uma instalação completamente nova do Discourse (instalei via Discourse | DigitalOcean Marketplace 1-Click App)?

Presumo que importar o arquivo de backup seja simples de fazer no admin do Discourse?

A instalação padrão é a única forma oficialmente suportada de instalação, mas você pode encontrar informações sobre como restaurar um backup abaixo. Deve ser o mesmo processo para uma instalação 1-Click do DO.

Parece que o aplicativo 1-Click usa explicitamente o Ubuntu 20.04, então, até que isso mude, provavelmente vale a pena permanecer no 20.04. Ele continuará recebendo atualizações de correção de bugs/segurança por mais três anos, então não há pressa para mudar para o 22.04.

Você pode tentar reinstalar o Docker primeiro. Talvez o problema tenha surgido da atualização e, possivelmente, a rede do Docker sendo removida e, em seguida, readicionada pela instalação possa resolvê-lo.

Acabei apenas reconstruindo o droplet com uma cópia limpa do Ubuntu 22.04, reinstalando o Discourse manualmente (da maneira padrão) e, em seguida, apenas importando o backup. Foi rápido e fácil e eu gostaria de ter feito isso desde o início.

Obrigado por toda a ajuda!

2 curtidas

É útil saber que não é um problema geral com a instalação no 22.04.

Fiz alguns do-release-upgrades de 20.04 para 22.04 neste fim de semana e posso confirmar que agora todos estão funcionando bem sem a necessidade de reinstalar o Docker. Algo deve ter sido corrigido nos repositórios do Ubuntu nas últimas semanas.

Agora deve ser seguro fazer upgrades como este sem problemas.

1 curtida