تشغيل Discourse مع pg_bouncer وقاعدة بيانات منفصلة

أحاول إعداد مثيل Discourse الخاص بنا للاتصال بقاعدة بيانات Postgres منفصلة مستضافة على Azure (كما هو موضح هنا) عبر pg_bouncer، وأواجه مشكلات.

يتم استضافة Discourse لدينا على جهاز افتراضي في Azure. قمت بتثبيت pg_bouncer عليه وتكوينه، وتمكنت من التحقق من قدرتي على الاتصال بقاعدة البيانات المستضافة من الجهاز الافتراضي عبر:

psql -h 127.0.0.1 -p 5432 -U [username] -d [database]

في ملف app.yml الخاص بي، غيّرت من استخدام اسم المضيف لقاعدة البيانات إلى استخدام 127.0.0.1:

DISCOURSE_DB_HOST: [كان اسم المضيف، جربت 127.0.0.1]

عند إعادة بناء التطبيق، حصلت على الخطأ التالي:

I, [2020-09-18T20:48:51.653890 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
PG::ConnectionBad: could not connect to server: Connection refused
	Is the server running on host "127.0.0.1" and accepting
	TCP/IP connections on port 5432?

أفكر فقط في أن الشيء الوحيد المختلف بين كيفية اتصالي عبر psql وإعداد ملف app.yml الخاص بي هو وجود كلمة مرور محددة في app.yml ليست ضرورية في psql لأنها مُعدة في قائمة مستخدمين pg_bouncer.

أي مساعدة ستكون موضع تقدير.

إعجاب واحد (1)

I believe that you’ll need to use an ip that the container can access. It has its own local host, I believe

3 إعجابات

Oh duh! Using my 10.x.x.x address it works just fine.

Now, this might not be the best solution, so if there’s any preferred way to access the host from the Discourse docker container I’m all ears.

Thanks!

إعجاب واحد (1)