Version de Discourse : v3.2.0 stable
Nous sommes actuellement en train de migrer vers un nouveau fournisseur de services d’e-mail. Pour mener à bien cette transition, nous devons mettre à jour les identifiants SMTP dans le fichier app.yaml. Après avoir mis à jour les identifiants, nous devons reconstruire le conteneur pour que les modifications prennent effet.
cd /var/discourse/
./launcher rebuild app
Le problème est que la reconstruction échoue.
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:/#
D’après les journaux, j’ai identifié deux causes potentielles :
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
- J’ai vu dans un autre fil de discussion que cette erreur pouvait être ignorée. Ce n’est pas un vrai problème.
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
- Il semble que nous n’utilisions pas la version de Ruby requise.
J’ai joint le journal complet si vous souhaitez y jeter un œil plus attentif.
AWS Emails Restart Discourse VM Log 1.txt (39.8 Ko)
Une solution possible est de migrer vers la dernière version stable, cependant, ce n’est pas faisable pour le moment.
La mise à niveau de la version étant exclue, quelles autres options avons-nous ? Est-il possible de reconstruire sans mettre à jour le script d’installation ? Je ne suis pas sûr que cela résoudrait le problème.
Est-il possible de définir les identifiants SMTP comme variables d’environnement ?
Toute aide est grandement appréciée.
Merci