خطأ 500 بعد إعادة البناء عبر سطر الأوامر

أنا أشغّل Discourse عبر Docker باستخدام حاوية Docker الرسمية

بعد تنفيذ الأمر
./launcher rebuild app

أظهر لي:

أوبس

واجهت البرمجيات التي تشغّل منتدى النقاش هذا مشكلة غير متوقعة. نعتذر عن الإزعاج.

تم تسجيل معلومات مفصلة حول الخطأ، وتم إنشاء إشعار تلقائي. سنقوم بفحصه.

لا حاجة لاتخاذ أي إجراء إضافي. ومع ذلك، إذا استمرت حالة الخطأ، فيمكنك تقديم تفاصيل إضافية، بما في ذلك خطوات إعادة إنتاج الخطأ، عن طريق نشر موضوع نقاش في فئة ملاحظات الموقع.

هل يمكن لأي شخص مساعدتي في هذا؟ أحصل على تحذير (انظر الصورة أدناه)، ومع ذلك لا أعتقد أنه السبب. ليس لدي أي إضافات مفعلة. أي أن مستودعات git clone الخاصة بها معطلة في ملف app.yml.

جرب git pull قبل إعادة البناء

cd /var/discourse
git pull
./launcher rebuild app

لقد قمت بـ git pull، لكنني واجهت هذه المشكلة.

هل توجد طريقة لاستعادة قاعدة البيانات وإنشاء مثيل جديد لها؟

يجب أن تزوّدنا بسجلات البناء الكاملة، فلقطة الشاشة التي قدمتها جزء ضئيل فقط. الصقها في موقع مثل Pastebin أو ما شابه ذلك ثم قدّم الرابط.

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

أوافق على أن سجلات الإلغاء المعتاد طبيعي، لكنه في الواقع يعيد خطأ 500.

ما هي الإضافات التي تستخدمها؟

تم سرد الإضافات المفعّلة أدناه:
docker_manager
babble
discourse-chat-integration

في الوقت الحالي، لا يتم تحميل أي شيء في الصفحة؛ تبدو فارغة. بينما يتم تحميل /logs، إلا أن الروابط لا تعمل. يتم تحميل /safe-mode، لكنه لا يعمل بعد الضغط على زر “Enter Safe Mode”.

إليك رابط Pastebin لمخرجات البناء:
./launcher rebuild app > ~/discourse_build.log

https://pastebin.com/7Za2D7NJ

أيضًا، هل يمكنك تجربة ./launcher enter app ثم تنفيذ curl http://localhost:3000 ومعرفة ما هو المخرج؟

مخرجات الأمر curl http:/localhost:3000
https://pastebin.com/wYaA3N5c

شكرًا لك، لم يكن ذلك مفيدًا كما توقعت، آسف على ذلك!

حسناً، جرب هذا:
لقد فحصت رؤوس موقعك باستخدام curl،

Content-Security-Policy: base-uri 'none'; object-src 'none'; 
script-src 'report-sample' http://mechassaultonline.com/logs/ 
http://mechassaultonline.com/sidekiq/ 
http://mechassaultonline.com/mini-profiler-resources/ 
http://mechassaultonline.com/assets/

إلخ إلخ. لذا، قم أولاً بتغيير اسم موقعك في containers/app.yml إلى www.mechassaultonline.com وأعد البناء، ثم فعّل خانة اختيار فرض HTTPS في https://www.mechassaultonline.com/admin/site_settings/category/all_results?filter=https. يجب أن يحل ذلك المشكلة!

مزيج من ذلك وهذا →

يبدو أن كل شيء يعمل بشكل صحيح. شكرًا لك على كل المساعدة!