Problema al cambiar las credenciales SMTP

Versión de Discourse: v3.2.0 estable
Actualmente estamos migrando a un nuevo proveedor de servicios de correo electrónico. Para completar esta transición, necesitamos actualizar las credenciales SMTP en el archivo app.yaml. Después de actualizar las credenciales, necesitamos reconstruir el contenedor para que los cambios surtan efecto.

cd /var/discourse/
./launcher rebuild app

El problema es que la reconstrucción está fallando.

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

Basándome en los registros, he identificado dos causas potenciales:
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
  • Vi en otro hilo que este error se puede ignorar. No es un 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 no estamos usando la versión de ruby requerida.

He adjuntado el registro completo si quieres echarle un mejor vistazo.
AWS Emails Restart Discourse VM Log 1.txt (39.8 KB)

Una posible solución es migrar a la última versión estable, sin embargo, esto no es factible en este momento.

Con la actualización de la versión descartada, ¿qué otras opciones tenemos? ¿Es posible reconstruir sin actualizar el script de configuración? No estoy seguro de si eso resolvería el problema.

¿Es posible configurar las credenciales SMTP como variables de entorno?

Cualquier ayuda es muy apreciada.

Gracias

1 me gusta

En lugar de reconstruir, si no has hecho ninguna mejora desde la UX, puedes

./launcher destroy app;./launcher start app

para aplicar la nueva configuración SMTP.

2 Me gusta

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