تثبيت متعدد المواقع... في مجلدات فرعية؟

مرحبًا!

أقوم بإعداد Discourse في بيئة أحتاج فيها إلى عدة منتديات متميزة، ويجب أن تكون مجموعة المنتديات مرنة للتغيير مع مرور الوقت. (نعم، أحتاج حقًا إلى منتديات متعددة؛ فهي تخدم مجتمعات مختلفة.)

يبدو أن الحل هو تثبيت متعدد المواقع، وقد نجحت في تحقيق ذلك: لدي حاليًا تكوين يعمل للتثبيت متعدد المواقع، مع حاويات بيانات وويب منفصلة لكل موقع، وفقًا لما ورد في Multisite configuration with Docker. (لدي اسمان للمضيف، $hostname.$domain و discourse.$domain، وقد نجحا في اختباراتي حتى الآن.)

ومع ذلك، هناك مشكلة: لا أملك تحكمًا سهلًا في نظام أسماء النطاقات (DNS)، لذا لا يمكنني إضافة أسماء مضيفات “حقيقية” متعددة بسهولة. تشير جميع الوثائق التي راجعتها حتى الآن إلى أن هذا الشرط ضروري للتثبيت متعدد المواقع، ويشير استعراض سريع للآلية التي يتم بها تنفيذ دعم متعدد المواقع إلى أن هذا هو الحال.

التخطيط المثالي بالنسبة لي هو أن يكون كل منتدى ضمن مجلد فرعي خاص به؛ أي discourse.$domain/forum1، …، discourse.$domain/forumN؛ وبالمثل، بشكل مثالي، القدرة على خدمة هذه المنتديات من حاوية ويب واحدة، كما تفعل آليات متعدد المواقع الحالية.

من الناحية التجريبية، يمكنني بنجاح نقل المنتدى “الرئيسي” إلى مجلد فرعي، ونقله إلى discourse.$domain/forum، وفقًا لـ Serve Discourse from a subfolder (path prefix) instead of a subdomain — لكن هذا يبدو أنه يربط حاوية الويب بهذا المجلد الفرعي تحديدًا، وفي تجاربي، يسبب اضطرابًا كبيرًا في نظام متعدد المواقع.

لقد جربت أيضًا بعض الحيل مثل تعديل رأس Host: الداخل إلى حاوية الويب، بناءً على المسار في خادم الويب الأمامي للمضيف، دون جدوى — أحصل على مزيج غريب من عدة منتديات.

إذًا: هل هناك طريقة أنيقة للقيام بذلك؟ هل يمكنني الاكتفاء بحاوية ويب واحدة، مثل نظام متعدد المواقع؟ أم أنني مضطر لاستخدام حاوية ويب ثانية؟ هل سيؤدي ذلك إلى سلوك سيئ نظرًا لأن كلا الحاويتين ستشيران إلى نفس حاوية البيانات دون معرفة بوجود الأخرى؟ أم أنني في مأزق تام؟

في الوقت الحالي، لا ندعم المواقع المتعددة والمجلدات الفرعية في آن واحد. قد ن Pursue هذا الأمر إذا رغب أحد العملاء في المستقبل، ونقدر أن الجهد المطلوب لذلك سيكون كبيرًا.

إذا كانت جميعها لنفس النطاق الأساسي، فالحل البديل لدي هو استخدام *.forum.example.com. بهذه الطريقة، ستكون هناك حاجة فقط إلى إدخال DNS واحد.

شكرًا لكما! للأسف، أعتقد أنني لا أستطيع إعداد نطاق فرعي نجمي الآن، لذا سأضطر إلى الاعتماد على عدم دعم المواقع المتعددة واستخدام حاويات واجهة أمامية متعددة. (لو كنتُ قد أدركتُ ذلك من قبل، لكنتُ قد حثتُ على الحصول على نطاق فرعي نجمي.)

أود بالتأكيد رؤية دعم المواقع المتعددة/المجلدات الفرعية — في الحالة (غير المرجحة) أن أجد بعض الوقت، قد ألقي نظرة على ذلك.