الاستضافة الذاتية لـ Discourse باستخدام Docker compose

أهلاً بالجميع! :blush:

أتمنى أن تكونوا جميعًا بخير! لدي سؤال حول Discourse: هل من الممكن استضافة Discourse بنفسي؟ أنا مهتم جدًا بالمنصة وأود أن أعرف ما إذا كان لدى أي شخص هنا خبرة بها. هل هناك أي متطلبات أو نصائح محددة يجب أن أضعها في اعتباري؟

شكراً جزيلاً لكم مقدماً على مساعدتكم! :folded_hands:

6 إعجابات

نعم، وهناك فئة فرعية كاملة مخصصة لذلك!:

Documentation > Self-Hosting
ستحتاج إلى قراءة التثبيت القياسي على وجه التحديد

14 إعجابًا

شكراً جزيلاً على إجاباتك!

أود الحصول على ملف ‘docker-compose’ مستقل يمكنني تشغيله واستخدامه في جمعيتنا.

هل هذا ممكن؟

أنا لست من محبي تشغيل ألف برنامج نصي في الخلفية لا أعرفها.

نعم هذا ممكن ولكن ستحتاج إلى كتابته ودعمه بنفسك.

إليك Dockerfile نشره أحدهم مؤخرًا للتطوير قد يكون بمثابة بداية

Discourse مفتوح المصدر. لماذا لا تقرأ البرامج النصية والقوالب الخاصة بالمشغل؟ (والتي من شأنها أيضًا إعلام Compose الخاص بك)

3 إعجابات

هذا غير مدعوم، ولكن هناك جهودًا لمحاولة مواكبة Discourse الرئيسي. يمكنك البحث عن docker compose هنا، أو زيارة هذين البديلين:

لكن كن حذرًا، فقد يكون الحفاظ على Discourse عبر الإصدارات صعبًا. لكن IndieHosters يقومون بذلك منذ بضع سنوات حتى الآن.

كلا المشروعين يستخدمان صورة docker الأساسية الأصلية لـ Discourse ولكني لست متأكدًا مما إذا كانوا يقومون بتخصيص التثبيت كما يفعل pups الخاص بـ @sam لـ discourse-docker.

6 إعجابات

شكراً على ردودكم!

لقد قمت بتثبيت صورة discourse/base فقط، لكن الحاوية خرجت بدون أي سجلات
The image shows a command-line interface displaying a container named "discourse-container" in a Docker environment, which was recently exited with no processes running.

هل تعرفون السبب؟

لأن الصورة الأساسية لا تفعل شيئًا بمفردها. تحتاج إلى تجميع Discourse فيها ثم تشغيله. ويتم ذلك عن طريق تنفيذ برنامج نصي ./launcher خارج الصورة أولاً. لذا يجب عليك أولاً محاولة تثبيته بالطريقة الرسمية ثم التفكير في الخيارات.

إجراء تثبيت Discourse ليس شائعًا جدًا ولكنه على مر السنين أحببت النهج لسبب واحد، والذي لن تقدره إلا بعد أن تكون مسؤولاً لبعض الوقت. وهذا هو إمكانية ترقيته بعد كل التزام بالكود المصدري. إنه أمر لا يصدق. تبلغ عن #bug، وبعد ساعة قد يتم معالجته من قبل الفريق أو المجتمع، ويتم تنفيذ الاختبارات الآلية ويتم دمج الالتزام وتوفيره. ويمكنك الترقية على الفور. لأنك تعيد تجميع Discourse الخاص بك على أحدث كود مصدري.

لذلك لا توجد صورة تم فيها تجميع أي إصدار محدد. تحصل على صورة “فارغة” وتجمع إصدارك من النقطة التي تريدها وبالتركيبة المكونات الإضافية التي تحتاجها. و لا يزال يعمل!

لا تحصل على هذا النوع من المرونة في أي مكان آخر.

لذلك لست متأكدًا، ولكن إذا كنت ترغب في إنشاء ملف docker compose، فستحتاج إلى تكرار إجراء البرنامج النصي ./launcher داخل ملف compose، لذلك تقوم بتجميعه في صورة أخرى، والتي يمكنك بعد ذلك توصيلها. ولكن لا يمكنك استخدام الإجراء المضمن عندما تحتاج إلى ترقية. سيتعين عليك الذهاب وتأليف إصدار جديد بنفسك.

4 إعجابات

شكراً لمساعدتكم يا رفاق. تجعلون من السهل على المبتدئين مثلي استخدام Discourse!

نعم، ولكن قبل أن أجعل Discourse متاحًا لناديي، أردت تشغيل Discourse على المضيف المحلي وإجراء بعض الاختبارات حتى أتمكن من التعامل بشكل أفضل مع واجهة المسؤول وسطر أوامر Discourse. إذا حدثت أخطاء، أريد أن أكون قادرًا على إصلاحها. بالنسبة للإصدار “المدعوم”، أحتاج إلى إدخال DNS ومنفذ 443 و 80 وهو أمر غير ضروري في حالتي - على الأقل أعتقد ذلك.

هل يعرف أي شخص حيلة لتشغيل هذا على المضيف المحلي؟

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

قم بتثبيت Docker وقم بذلك فقط.

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

نعم:

https://meta.discourse.org/tags/c/documentation/developer-guides/56/dev-install

:slight_smile:

إعجابَين (2)

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

4 إعجابات

شكراً جزيلاً لدعمكم!
تمكنت من تشغيله باستخدام التثبيت “العادي” مع دوكر.

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.