إضافة تحذير سطر الأوامر عند تشغيل bootstrap/rebuild المشغل بدون وجود app.yml

عند إعداد نسخة مستنسخة جديدة من Discourse، يتم شحن المستودع مع standalone.yml.

سير العمل الموثق هو:

git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
./discourse-setup   # ينشئ app.yml

ولكن إذا تخطى شخص ما ./discourse-setup وقام بدلاً من ذلك بتشغيل

./launcher bootstrap app
# أو
./launcher rebuild app

بينما لا يوجد app.yml، فإنه يحصل على خطأ مربك لأن app.yml غير موجود، ولا يتم التعرف على standalone.yml تلقائيًا كنقطة انطلاق.

هذه عقبة شائعة للمسؤولين الجدد الذين يفترضون أن standalone.yml صالح للاستخدام بالفعل.


الاقتراح:

  • عند استدعاء launcher bootstrap أو launcher rebuild ولا يوجد containers/app.yml، يجب على واجهة سطر الأوامر طباعة تحذير واضح مثل:
لم يتم العثور على containers/app.yml.
هل تقصد تشغيل ./discourse-setup أولاً؟
ملاحظة: يتم إنشاء app.yml من ملف standalone.yml النموذجي.

هذا من شأنه أن ينقذ المستخدمين الجدد من الوصول إلى طريق مسدود والبحث في Meta عن إجابات.


هل سيكون هذا إضافة معقولة إلى launcher؟

إعجابَين (2)

نعم، في الوقت الحالي إذا قمت بتشغيل
./launcher bootstrap app
بدون إنشاء app.yml أولاً، سترى فقط:
ERROR: containers/app.yml does not exist or is not readable.
هذا دقيق ولكنه ليس مفيدًا جدًا، خاصة في حالتين شائعتين:

  1. تثبيت إنتاجي جديد
    يجب تشغيل ./discourse-setup لإنشاء app.yml من standalone.yml.

  2. منتدى اختبار سريع بدون بريد إلكتروني صادر
    أحيانًا يرغب الأشخاص فقط في تشغيل منتدى Discourse محليًا/للاختبار دون تكوين SMTP.
    سير العمل المعتاد هو:

./launcher bootstrap app
./launcher start app
./launcher enter app
rake admin:create

هذا يمنحك حساب مسؤول دون الحاجة إلى البريد الإلكتروني.

اقتراح:
تحسين رسالة الخطأ لتوجيه كلا المسارين. على سبيل المثال:

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

أود فقط أن أضيف أن دليل النسخ الاحتياطي/الاستعادة الرسمي يشجع على نسخ app.yml إلى مكانه على خادم افتراضي خاص جديد قبل تشغيل launcher.

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

ربما شيء مثل:

خطأ: containers/app.yml غير موجود أو غير قابل للقراءة.

إذا كان هذا هو تثبيتك الأول، قم بتشغيل ./discourse-setup لإنشاء app.yml
(من standalone.yml النموذجي).

إذا كنت تستعيد إلى خادم جديد، فتأكد من نسخ app.yml الحالي الخاص بك
من الخادم القديم إلى /var/discourse/containers

بهذه الطريقة، تشير الرسالة إلى الأنواع الثلاثة من المستخدمين في الاتجاه الصحيح:

  • المسؤولون الجدد تمامًا
  • الأشخاص الذين يستعيدون منتدى
  • المختبرون الذين لا يريدون إعداد SMTP.