Configurer Discourse pour utiliser un serveur PostgreSQL séparé

J’ai une instance Discourse nouvellement installée fonctionnant via Docker dans une VM sur Google Cloud. J’ai actuellement activé les téléchargements de fichiers et les sauvegardes Discourse vers des buckets sur Google Cloud, et ces fonctions fonctionnent correctement après avoir suivi les instructions du fil Configurer un fournisseur de stockage d’objets compatible S3 pour les téléchargements. Je peux voir les téléchargements de test dans le bucket et lorsque je regarde les URL de téléchargement, tous les téléchargements affichent la bonne URL depuis le CDN, donc ils semblent être correctement récupérés du bucket.

J’ai ensuite créé une instance PostgreSQL 15.2 sur Google Cloud et j’ai suivi la procédure de configuration de la base de données décrite dans le premier post et configuré le fichier app.yml également. Le port par défaut pour PostgreSQL sur Google Cloud est 5432, j’ai donc omis ces lignes.
Si j’utilise l’adresse IP publique de l’instance postgres dans la configuration app.yml, lorsque je reconstruis l’application, j’obtiens ce qui suit :

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1024 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** 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.
a6a71b00bce378aa6334ae1c9fe103778d260bb699fe598f9685689e8b5ce450

Juste pour voir ce qui se passe, j’ai essayé d’utiliser les autres adresses IP de l’instance postgres.
Si j’utilise l’adresse IP privée de l’instance postgres, j’obtiens ce qui suit :

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1024 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** 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.
7333126c522eb51ace4d55ea89803eea54b96704baab70c322008cf2836ba47a

Si j’utilise l’adresse IP sortante de l’instance postgres, j’obtiens ce qui suit :

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1026 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** 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.
c588d2b6977b9e7d493b0b59bc694369cb7c2219de67d5886112ed16312626ae

En utilisant toutes les différentes adresses IP, les messages d’échec sont très similaires et la base de données postgres ne reçoit aucune donnée ni aucune connexion. Quelqu’un a-t-il une idée de ce que je fais mal ?

Mon problème est-il également causé par le fait de ne pas utiliser le Cloud SQL Auth Proxy sur l’instance VM ? Si c’est le cas, je suppose que je devrai créer un script pour exécuter le proxy et le chronométrer avant la reconstruction de l’application. Quelqu’un a-t-il une idée à ce sujet ?

Merci pour votre temps.