فشل تحديث Discourse وخطأ 502 Bad Gateway

مرحباً بالجميع،

سأكون ممتناً جداً إذا كان بإمكان أحد المساعدة في حل المشكلات التالية التي أعاني منها.

حاولتُ مؤخراً الترقية من الإصدار 2026.6 إلى أحدث إصدار،

لكنني لم أكن على دراية بالإعلان المتعلق بتحديث PostGres إلى الإصدار 18، ونتيجة لذلك فشلت عملية التحديث بسبب نقص مساحة القرص (حيث كانت هناك حاجة إلى 8 جيجابايت إضافية أكثر من الـ 25 جيجابايت المتاحة لدينا).

يستخدم موقعنا حالياً الإصدار 15، لذا قررنا تأجيل التحديث عن طريق تغيير السطر في ملف app.yml إلى 'templates/postgres.15.template.yml` وحفظه.

ثم عند محاولة إعادة البناء، فشلت العملية مع ظهور الخطأ التالي:

Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/postgresql/15/main/postgresql.conf
Location of failure: /usr/local/lib/ruby/gems/3.4.0/gems/pups-1.4.0/lib/pups/replace_command.rb:11:in 'IO.read'
replace failed with the params {"filename" => "/etc/postgresql/15/main/postgresql.conf", "from" => "data_directory = '/var/lib/postgresql/15/main'", "to" => "data_directory = '/shared/postgres_data'"}
bootstrap failed with exit code 1

بعد بعض محاولات استكشاف الأخطاء التي لم تنجح، وفشل أداة Discourse-Doctor أيضاً في إعادة الموقع للعمل، قررتُ أن من الأسهل ببساطة استعادة النسخة الاحتياطية الكاملة من خادم Linode التي تم أخذها قبل بضعة أيام من محاولة التحديث.

بمجرد الانتهاء من ذلك، ظننتُ (بغباء) أن الموقع سيعود للعمل مرة أخرى، لكننا نواجه الآن مشكلة ظهور خطأ 502 Bad Gateway عند محاولة الوصول إلى موقعنا. رأيت بعض النصائح التي تقترح أن إعادة البناء قد تحل المشكلة، لذا حاولت ذلك لكن فشلت عملية إعادة البناء مرة أخرى وحصلت على خطأ bootstrap من جديد.

شكراً لكم على أي مساعدة أو اقتراحات قد تكون لديكم.