Problema ao alterar credenciais SMTP

Versão do Discourse: v3.2.0 stable
Atualmente estamos migrando para um novo provedor de serviços de e-mail. Para concluir essa transição, precisamos atualizar as credenciais SMTP no arquivo app.yaml. Após atualizar as credenciais, precisamos reconstruir o contêiner para que as alterações entrem em vigor.

cd /var/discourse/
./launcher rebuild app

O problema é que a reconstrução está falhando.

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle install --jobs $(($(nproc) - 1)) --retry 3' failed with return #<Process::Status: pid 530 exit 5>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle install --jobs $(($(nproc) - 1)) --retry 3'"]}
bootstrap failed with exit code 5
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
b0b1f4d0ed01a9bf5b9037585a4b0416b4b4efa2b8e67557ced3d7507380ad0d
root:/#

Com base nos logs, identifiquei duas causas potenciais:
1

2024-10-14 12:39:33.606 UTC [55] postgres@postgres ERROR: database "discourse" already exists
2024-10-14 12:39:33.606 UTC [55] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR: database "discourse" already exists
2024-10-14 12:39:33.728 UTC [58] postgres@discourse ERROR: role "discourse" already exists
2024-10-14 12:39:33.728 UTC [58] postgres@discourse STATEMENT: create user discourse;
ERROR: role "discourse" already exists
  • Eu vi em outro tópico que esse erro pode ser ignorado. Não é um problema real.

2

I, [2024-10-14T12:41:56.391691 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'bundle install --jobs $(($(nproc) - 1)) --retry 3'
google-protobuf-3.25.2-x86_64-linux requires ruby version < 3.3.dev, >= 2.7,
which is incompatible with the current version, 3.3.4
  • Parece que não estamos usando a versão do ruby necessária.

Anexei o log completo caso queira dar uma olhada melhor.
AWS Emails Restart Discourse VM Log 1.txt (39.8 KB)

Uma possível solução é migrar para a versão estável mais recente, no entanto, isso não é viável no momento.

Com a atualização de versão fora de questão, quais outras opções temos? É possível reconstruir sem atualizar o script de configuração? Não tenho certeza se isso resolveria o problema.

É possível definir as credenciais SMTP como variáveis de ambiente?

Qualquer ajuda é muito apreciada.

Obrigado

1 curtida

Em vez de reconstruir, se você não fez nenhuma atualização da UX, você pode

./launcher destroy app;./launcher start app

para aplicar as novas configurações de SMTP.

2 curtidas

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