Problema con la modifica delle credenziali SMTP

Versione di Discourse: v3.2.0 stable
Stiamo attualmente migrando a un nuovo provider di servizi email. Per completare questa transizione, dobbiamo aggiornare le credenziali SMTP nel file app.yaml. Dopo aver aggiornato le credenziali, dobbiamo ricompilare il container affinché le modifiche abbiano effetto.

cd /var/discourse/
./launcher rebuild app

Il problema è che la ricompilazione fallisce.

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:/#

Sulla base dei log, ho identificato due potenziali cause:
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
  • Ho visto in un altro thread che questo errore può essere ignorato. Non è un vero problema.

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
  • Sembra che non stiamo utilizzando la versione di ruby richiesta.

Ho allegato il log completo se desideri esaminarlo meglio.
AWS Emails Restart Discourse VM Log 1.txt (39.8 KB)

Una possibile soluzione è migrare all’ultima versione stabile, tuttavia, al momento non è fattibile.

Con l’aggiornamento della versione fuori discussione, quali altre opzioni abbiamo? È possibile ricompilare senza aggiornare lo script di configurazione? Non sono sicuro che risolverebbe il problema.

È possibile impostare le credenziali SMTP come variabili d’ambiente?

Qualsiasi aiuto è molto apprezzato.

Grazie

1 Mi Piace

Invece di ricostruire, se non hai apportato aggiornamenti dall’UX, puoi

./launcher destroy app;./launcher start app

per applicare le nuove impostazioni SMTP.

2 Mi Piace

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