Estou tentando atualizar uma instalação muito antiga.
Comecei com isto:
cd /var/discourse
sudo git pull
sudo ./launcher rebuild app
Então recebo uma falha e, ao rolar para cima no arquivo de log, o único erro é este:
ERROR: Erro ao instalar bundler:
bundler-2.5.3 requer a versão Ruby >= 3.0.0. A versão atual do ruby é 2.7.2.137.
Como faço para obter uma nova instalação do Ruby? O sistema foi originalmente instalado a partir de uma imagem docker no Digital Ocean e não foi atualizado muito, se é que foi, por vários anos.
Está rodando no Ubuntu 18.04
Executei ./discourse-doctor
E houve um estado de “detached head” e depois reconstrução e então o mesmo erro do Ruby.
Estou totalmente perdido agora.
Alguma ajuda sobre como fazer uma atualização funcionar a partir de uma versão antiga?
Dada a idade da máquina host, sua melhor aposta aqui é provavelmente fazer um backup do site, criar um novo servidor, fazer a instalação e, em seguida, restaurar o backup no novo servidor.
Será menos trabalho (e muito mais fácil) do que atualizar o servidor existente.
Mas como a instalação falhou, não consigo executar o Discourse para fazer um backup. Posso tirar um snapshot do droplet da DigitalOcean e já o fiz, mas isso não é realmente um backup, pelo que entendo.
Se você tiver um snapshot do droplet com todos os seus dados antes de tentar atualizar o contêiner, você poderá recuperar um backup dele.
Se não, você provavelmente ainda está bem, mas precisará de alguém experiente com o processo para conseguir extrair os dados dele se você não conseguir colocar o contêiner de volta em funcionamento.
No momento, mesmo com o bad gateway, se você conseguir acessar o contêiner, poderá executar um discourse backup e obter seus dados.