تحديث سريع، في حال كان مفيدًا لأحد — لقد نجحنا بنشر Discourse على Google Cloud!
وهو يعمل حاليًا على https://community.gitpod.io ونحن نعشق التجربة حتى الآن.
التفاصيل
اتبعت إلى حد كبير دليل INSTALL-cloud، وأنشأت آلة افتراضية (VM) من نوع g1-small على GCE (معالج واحد، 1.7 جيجابايت ذاكرة) مع قرص SSD إضافي بسعة 20 جيجابايت. (ملاحظة: كنت أفكر في البداية في استخدام آلة افتراضية من نوع n1-standard-1، لكنها بدت مبالغًا فيها بعض الشيء لـ Discourse).
بالنسبة لموقع الآلة الافتراضية، وبناءً على هذا المنشور على مدونة Medium، قررنا أن gce-us-east4 هو الموقع الأفضل، نظرًا لأن معظم مستخدمين Gitpod موجودون في أمريكا الشمالية وأوروبا، ولكن هناك أيضًا عدد كبير في آسيا، لذا لن تكون زمن الوصول سيئًا هناك.
أما بالنسبة لإعداد البريد الإلكتروني، فقد كنا نرغب بشدة في استخدام حساب Google Apps الخاص بنا. حاولنا تكوين خادم SMTP الوسيط الخاص بـ Gmail، ولكن حتى بعد التأكد ثلاث مرات من استخدامنا لجميع البروتوكولات الصحيحة والسماح بها عبر جدار حماية GCP، ومنح العناوين IP الصحيحة القائمة البيضاء، لم يذهب أي بريد إلكتروني على الإطلاق. كان أداة Discourse Doctor مفيدة جدًا، لكنها لم تنجح أيضًا. لذا، في النهاية، استسلمنا واستخدمنا SendGrid بدلاً من ذلك، لأننا أردنا تقييمه لأيام أخرى. كان الإعداد سهلاً للغاية وعمل من المحاولة الأولى. علماً بأن حركة مرور Discourse لدينا في نمو، لكنها لا تزال تتسع بسهولة ضمن المستوى المجاني لـ SendGrid (100 بريد إلكتروني في اليوم).
ثم قمنا بإعداد تسجيل الدخول عبر GitHub OAuth (نفس الإعداد المستخدم في gitpod.io، للراحة) وقمنا بتثبيت بعض الإضافات المفيدة:
- discourse-solved لوضع علامة على الأسئلة كـ “تم حلها”
- discourse-chat-integration لإشعارات المواضيع الجديدة في قناة دعم Slack الداخلية لدينا
أيضًا، كقصة جانبية، قمت بكتابة سكريبت Node.js سريع وغير منظم spectrum-to-discourse.js لنقل مواضيع Spectrum القديمة إلى Discourse. الجودة ليست مثالية بنسبة 100%، وقد تبقى بعض الأخطاء في السكريبت، لكن هذا كان كافياً لتزويد Discourse الجديد بمحتوى أولي. الآن نقوم بمراجعة/إصلاح/تحسين المواضيع القديمة يدويًا عندما نلاحظ أنها تصبح شائعة.
نأمل أن تساعد هذه المعلومات شخصًا ما في المستقبل! ![]()