فشل التمهيد على قطرة DO مع Mailjet

مرحبًا
أشعر بالإحباط قليلاً في هذا الشأن.
أتبع تعليمات التثبيت القياسية، وقد قمت بإعداد Mailjet وما إلى ذلك، لكن عملية التمهيد تفشل في كل مرة.

إليك الإعداد، ولا أستطيع رؤية ما ينقصني
هل لديك أي أفكار؟

شكرًا لك

هل يبدو هذا صحيحًا؟

اسم المضيف      : forum.mydomain.com
البريد الإلكتروني         : forumadmin@mydomain.com
عنوان SMTP  : in-v3.mailjet.com
منفذ SMTP     : 587
اسم مستخدم SMTP : b91xxxxxxd3222d809xxxxxxe3de52d
كلمة مرور SMTP :xxxxxx5b75ecdf24f31c2axxxxxx6903
Let's Encrypt : كلمة المرور (المفتاح السري)

ثم

فشل

--------------------

Pups::ExecError: /bin/bash -c "if [[ ! \"$LETSENCRYPT_ACCOUNT_EMAIL\" =~ ([^@]+)@([^\.]+) ]]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address\"; exit 1; fi" failed with return #<Process::Status: pid 5329 exit 1>

موقع الفشل: /pups/lib/pups/exec_command.rb:112:in `spawn'

فشل التنفيذ مع المعلمات {"cmd"=>["if [ -z \"$LETSENCRYPT_ACCOUNT_EMAIL\" ]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL ENV variable is required and has not been set.\"; exit 1; fi", "/bin/bash -c \"if [[ ! \\\"$LETSENCRYPT_ACCOUNT_EMAIL\\\" =~ ([^@]+)@([^\\.]+) ]]; then echo \\\"LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address\\\"; exit 1; fi\""]}

xxxxxxxxxxxxxxxxxxxxxxe6e31b17b7exxxxxxxxxxxxxxxxxx856eb0

** فشل التمهيد ** يرجى التمرير للأعلى والبحث عن رسائل الخطأ السابقة، فقد يكون هناك أكثر من خطأ.

قد يساعد ./discourse-doctor في تشخيص المشكلة.

لماذا يُعتبر البريد الإلكتروني في حقل Let’s Encrypt كلمة مرور أو مفتاحًا سريًا؟ من المفترض أن يكون عنوان بريد إلكتروني.

النص البرمجي لا يسمح لي بإدخال أي شيء لـ LETS ENCRYPT.
بمجرد إدخال اسم المستخدم وكلمة المرور لـ SMTP، يبدأ التنفيذ فورًا.

نعم، يبدو أن المشكلة تتعلق بمتغير Let’s Encrypt، ولكن كما ذكرت سابقًا، فإن سكريبت التثبيت لا يتيح فرصة لإدخال عنوان بريد إلكتروني. بمجرد استلام كلمة مرور SMTP، يبدو أنه يتخطى هذه المرحلة ويظهر خطأ.

يمكنك رؤية ذلك هنا…

اسم المضيف الخاص بـ Discourse؟ [forum.uaptn.com]: 
عنوان البريد الإلكتروني لحسابات المسؤول؟ [forumadmin@uaptn.com]: xxxxxxxxe@protonmail.com
عنوان خادم SMTP؟ [in-v3.mailjet.com]: 
منفذ SMTP؟ [587]: 
اسم مستخدم SMTP؟ [b91xxxxxxxxxxxxxxxxxxde52d]: 
كلمة مرور SMTP؟ [1d2xxxxxxxxxxxxxxxxxxxxxxxxxxxx903]: 
./discourse-setup: السطر 438: [: عدد كبير جدًا من الوسيطات

جاري التحقق من اسم النطاق الخاص بك . . .
تم الاتصال بنجاح بـ forum.uaptn.com.

هل يبدو هذا صحيحًا؟

اسم المضيف      : forum.uaptn.com
البريد الإلكتروني         : xxxxxxxxx@protonmail.com
عنوان SMTP  : in-v3.mailjet.com
منفذ SMTP     : 587
اسم مستخدم SMTP : b91xxxxxxxxxxxxxxxxxxxxxe52d
كلمة مرور SMTP : 1d2cxxxxxxxxxxxxxxxxxxx5086903
Let's Encrypt : كلمة المرور (المفتاح السري)

اضغط Enter للمتابعة، 'n' للمحاولة مرة أخرى، Ctrl+C للخروج:

أدخل عنوان بريد إلكتروني هنا بدلاً من كلمة مرور سرية.

يُستخدم هذا العنوان الإلكتروني لإنشاء حساب في letsencrypt للحصول على شهادة SSL لمنصة discourse.

لا أعرف كيف لا تتمكن من إدخال عنوان البريد الإلكتروني الخاص بـ Let’s Encrypt. هل تقوم بلصق سطر فارغ إضافي؟

ذلك يا سيدي، فكرة، دعني أجرب

الأمر ليس كذلك. السكربت يتجاوز جزء Let’s Encrypt ببساطة، بمجرد إدخال كلمة المرور يظهر الخطأ “line 438: [: too many arguments” ثم يستمر.

هل يحتوي كلمة المرور الخاصة بك على أحرف خاصة؟ حاول إدخال كلمة مرور وهمية بدون أحرف خاصة مثل 123456 في خانة كلمة المرور، وانظر ما إذا كان سيطلب بريد Let’s Encrypt الإلكتروني.

لا، ليس كذلك، إنها كلمة المرور المُولَّدة مباشرة من Mailjet، لكنني سأجرب إدخال كلمة مرور وهمية.

لا فائدة. جربت ذلك - نفس الخطأ.

ربما لا يسأل النص البرمجي لأنه موجود بالفعل في ملف app.yml، ثم يعطي خطأ بسبب هذا (لأن البريد الإلكتروني خاطئ بالفعل في ملف app.yml).

حاول تغيير البريد الإلكتروني في الملف يدويًا وانظر ما إذا كان يعمل (nano containers/app.yml).

السطر الذي تسبب في الخطأ يتحقق مما إذا كان بريد Let’s Encrypt الإلكتروني غير فارغ لعرضه عليك وسؤالك عما إذا كنت تريد تغييره، لكن لأن الشرط لا يضع المتغير بين علامتي اقتباس مزدوجتين، فإن القيمة الموجودة في ملف app.yml يتم توسيعها مما يؤدي إلى خطأ Too many arguments.

أعتقد أنه لو قام فريق discourse بوضع المتغير بين علامتي اقتباس مزدوجتين لكان ذلك قد ساعد في تجنب حالات مثل هذه، لكن هذه الحالات نادرة على أي حال (على الأرجح في المرة الأولى التي تقوم فيها بتشغيل الإعداد، تم تعيين القيمة بشكل خاطئ).

هذا نجح :+1: — أي أنه يقدم لي هذه الخطوة بعد تعديل ملف app.yml يدويًا

أرجو أن تسير عملية التمهيد (bootstrap) على ما يرام

شكرًا جزيلًا.