Ich habe eine neu installierte Discourse-Instanz, die über Docker in einer VM auf Google Cloud läuft. Ich habe derzeit Datei-Uploads und Discourse-Backups in Buckets auf Google Cloud aktiviert, und diese Funktionen funktionieren ordnungsgemäß, nachdem ich die Anweisungen im Thread Konfigurieren eines S3-kompatiblen Objektspeichers für Uploads befolgt habe. Ich kann die Test-Uploads im Bucket sehen und wenn ich mir die Upload-URLs ansehe, werden alle Uploads mit der richtigen URL vom CDN angezeigt, sodass sie korrekt aus dem Bucket zu stammen scheinen.
Ich habe dann eine PostgreSQL 15.2-Instanz auf Google Cloud erstellt und das Datenbank-Setup-Verfahren durchgeführt, das im ersten Beitrag beschrieben ist, und die Datei app.yml konfiguriert. Der Standardport für PostgreSQL auf Google Cloud ist 5432, daher habe ich diese Zeilen weggelassen.
Wenn ich die öffentliche IP-Adresse der Postgres-Instanz in der app.yml-Konfiguration verwende, erhalte ich beim Neuerstellen der App Folgendes:
FEHLGESCHLAGEN
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1024 exit 1>
Ort des Fehlers: /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
** BOOTSTRAP FEHLGESCHLAGEN ** bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen, es kann mehr als eine geben.
./discourse-doctor kann bei der Diagnose des Problems helfen.
a6a71b00bce378aa6334ae1c9fe103778d260bb699fe598f9685689e8b5ce450
Nur um zu sehen, was passiert, habe ich versucht, die anderen IPs der Postgres-Instanz zu verwenden.
Wenn ich die private IP-Adresse der Postgres-Instanz verwende, erhalte ich Folgendes:
FEHLGESCHLAGEN
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1024 exit 1>
Ort des Fehlers: /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
** BOOTSTRAP FEHLGESCHLAGEN ** bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen, es kann mehr als eine geben.
./discourse-doctor kann bei der Diagnose des Problems helfen.
7333126c522eb51ace4d55ea89803eea54b96704baab70c322008cf2836ba47a
Wenn ich die ausgehende IP-Adresse der Postgres-Instanz verwende, erhalte ich Folgendes:
FEHLGESCHLAGEN
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1026 exit 1>
Ort des Fehlers: /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
** BOOTSTRAP FEHLGESCHLAGEN ** bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen, es kann mehr als eine geben.
./discourse-doctor kann bei der Diagnose des Problems helfen.
c588d2b6977b9e7d493b0b59bc694369cb7c2219de67d5886112ed16312626ae
Bei Verwendung aller verschiedenen IPs sind die fehlgeschlagenen Meldungen alle sehr ähnlich und die Postgres-Datenbank empfängt überhaupt keine Daten oder Verbindungen. Hat jemand eine Einsicht, was ich falsch mache?
Wird mein Problem auch dadurch verursacht, dass ich den Cloud SQL Auth Proxy nicht auf der VM-Instanz verwende? Wenn ja, muss ich wohl ein Skript erstellen, um den Proxy auszuführen und ihn vor dem Neuerstellen der App zu timen. Hat jemand dazu eine Einsicht?
Danke für die Zeit, Leute.