مشكلة عند تحديث منتدى Discourse

قرأت وثائق المبرمج الأخير بالنسبة لي وتقول إنه نظرًا لأن العديد من الأشياء على الويب تعمل خلف nginx ويحتاج discourse أيضًا إلى الاستضافة خلف nginx. التثبيت القياسي لا يعمل لحالتي.

وهذه هي الطريقة التي قالها في الوثيقة وكيف فعل:

يعمل Discourse في حاوية docker. ومع ذلك، فإنه يتطلب نوعًا خاصًا من التكوين، وليس عبر ملف docker-compose.yml أو ملف .conf.

مستودع discourse-project/ على github المطلوب تكوين وبناء صورة docker يمكن العثور عليها هنا. تجاهل برنامج “discourse-setup” اللطيف والمفيد الذي يقدمونه، فلن يعمل هنا. نحتاج إلى تكوين التطبيق بأنفسنا.

  1. استنساخ discourse_docker إلى /var/discourse: git clone https://github.com/discourse/discourse_docker.git /var/discourse
  2. انتقل إلى المجلد واستخدم تكوينًا نموذجيًا مقدمًا: cd /var/discourse && cp samples/standalone.yml containers/app.yml
  3. ثم قم بتحرير ملف containers/app.yml (على سبيل المثال باستخدام sudo nano)
  • تم إجراء تغييرات على قسم الاستضافة، وإعدادات smtp للبريد - والأهم من ذلك - قسم الكشف بحيث يتم كشف منفذ غير مستخدم فقط للخارج
  • لتشغيل discourse على مسار مثل “/forum” كانت هناك حاجة إلى المزيد من التغييرات كما هو موضح هنا
  • تحدث بعض المشاكل أيضًا مع المصادقة عبر البريد الإلكتروني:
    • البريد الذي يرسل رسائل البريد الإلكتروني موجود هنا “بريد الخادم”. ومع ذلك، يتوقع Discourse أن يكون للبريد نفس نطاق مضيفه، وهو “بريد الخادم”
    • استخدم أيضًا “DISCOURSE_SMTP_AUTHENTICATION: login” كخيار بيئي آخر. لماذا دائمًا. . .
  1. ثم قم ببناء التطبيق من الدليل /var/discourse باستخدام sudo ./launcher bootstrap app. يستغرق هذا وقتًا طويلاً
  2. ثم قد تتمكن من بدء حاوية discourse باستخدام sudo ./launcher start app.
إعجاب واحد (1)