Ho un’istanza Discourse appena installata in esecuzione tramite docker in una VM su Google Cloud. Attualmente ho abilitato i caricamenti di file e i backup di discourse sui bucket su Google Cloud e queste funzioni funzionano correttamente dopo aver seguito le istruzioni nel thread Configure an S3 compatible object storage provider for uploads. Posso vedere i caricamenti di prova nel bucket e quando guardo gli URL di caricamento, tutti i caricamenti mostrano l’URL corretto dal CDN, quindi sembrano essere estratti correttamente dal bucket.
Ho quindi creato un’istanza PostgreSQL 15.2 su Google Cloud ed eseguito la procedura di configurazione del database descritta nel primo post e configurato anche il file app.yml. La porta predefinita per PostgreSQL su Google Cloud è 5432, quindi ho omesso quelle righe.
Se uso l’indirizzo IP pubblico dell’istanza postgres nella configurazione di app.yml, quando ricostruisco l’app, ottengo quanto segue:
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
Solo per vedere cosa sta succedendo, ho provato a usare gli altri IP dell’istanza postgres.
Se uso l’indirizzo IP privato dell’istanza postgres, ottengo quanto segue:
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
Se uso l’indirizzo IP in uscita dell’istanza postgres, ottengo quanto segue:
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
Usando tutti i diversi IP, i messaggi di errore sono molto simili e il database postgres non riceve alcun dato o connessione. Qualcuno ha qualche idea su cosa sto sbagliando?
Inoltre, il mio problema è causato dal non utilizzo del Cloud SQL Auth Proxy sull’istanza VM? Se è così, dovrò creare uno script per eseguire il proxy e cronometrarlo prima della ricostruzione dell’app. Qualcuno ha qualche idea a riguardo?
Grazie per il tempo ragazzi.