Configure Discourse to use a separate PostgreSQL server

Итак, у меня есть только что установленный экземпляр Discourse, работающий через Docker в виртуальной машине на Google Cloud. В настоящее время у меня включены загрузка файлов и резервное копирование Discourse в бакеты Google Cloud, и эти функции работают корректно после следования инструкциям из темы Настройка совместимого с S3 провайдера объектного хранилища для загрузок. Я вижу тестовые загрузки в бакете, и при просмотре URL-адресов загрузок все они показывают правильный URL от CDN, что говорит о том, что данные корректно подтягиваются из бакета.

Затем я создал экземпляр PostgreSQL 15.2 на Google Cloud и выполнил процедуру настройки базы данных, описанную в первом посте, а также настроил файл app.yml. Порт по умолчанию для PostgreSQL на Google Cloud — 5432, поэтому я пропустил соответствующие строки.
Если я использую публичный IP-адрес экземпляра PostgreSQL в конфигурации app.yml, то при пересборке приложения получаю следующее:

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

Чтобы понять, что происходит, я попробовал использовать другие IP-адреса экземпляра PostgreSQL.
Если я использую приватный IP-адрес экземпляра PostgreSQL, получаю следующее:

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

Если я использую исходящий IP-адрес экземпляра PostgreSQL, получаю следующее:

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

При использовании всех различных IP-адресов сообщения об ошибке очень похожи, и база данных PostgreSQL не получает никаких данных или подключений. У кого-нибудь есть идеи, что я делаю не так?

Кроме того, связана ли моя проблема с тем, что я не использую Cloud SQL Auth Proxy на экземпляре виртуальной машины? Если да, то, полагаю, мне придется написать скрипт для запуска прокси и синхронизировать его с пересборкой приложения. У кого-нибудь есть идеи по этому поводу?

Спасибо за ваше время, ребята.