# Problema ao alterar credenciais SMTP

**URL:** <https://meta.discourse.org/t/problem-with-changing-smtp-credentials/331313>\
**Category:** Self-hosting\
**Created:** [17 Outubro , 2024 08:04 UTC](https://meta.discourse.org/t/problem-with-changing-smtp-credentials/331313 "2024-10-17T08:04:05Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![Celso\_Teixeira](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/celso_teixeira/32/355969_2.png) [@Celso\_Teixeira](https://meta.discourse.org/u/Celso_Teixeira)\
**Post date:** [17 Outubro , 2024 08:04 UTC](https://meta.discourse.org/t/problem-with-changing-smtp-credentials/331313/1 "2024-10-17T08:04:05Z")

</div>

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.

```plaintext
cd /var/discourse/
./launcher rebuild app

```

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

```plaintext
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**

```plaintext
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**

```plaintext
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](https://meta.discourse.org/uploads/short-url/iDcduLWfujdtkcknwr3uemOvnKu.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

---

_[View the full topic](https://meta.discourse.org/t/problem-with-changing-smtp-credentials/331313)._
