ما هو اسم متغير Let’s Encrypt الصحيح في ملف app.yml؟

مرحباً بالجميع،

أثناء إعادة البناء، رأيت التحذير:

“لم يتم تعيين بريد إلكتروني لـ Let’s Encrypt”

ولكن لدي بالفعل السطر التالي في ملف app.yml الخاص بي:

LETSENCRYPT_ACCOUNT_EMAIL: myemail@example.com

شهادتي صالحة ويتم تخطي الإصدار. يقوم المشغّل بطباعة التحذير الصحيح.

قبل أن أقوم بتحديث أي شيء، هل يمكن لأي شخص تأكيد ما يلي:

  • هل LETSENCRYPT_ACCOUNT_EMAIL متغير قديم/موروث؟

  • هل اسم المتغير الحديث الصحيح الآن هو:

letsencrypt_email:

هل يجب عليّ إزالة المتغير القديم والتحول إلى المتغير الجديد لتجنب التحذيرات وضمان عمل التجديد التلقائي؟

شكراً!

شكرًا على الردود حتى الآن — لقد تحققت أكثر وأريد التأكد من أنني فهمت هذا بشكل صحيح.

تم إنشاء تثبيتي في الأصل باستخدام ./discourse-setup، والذي أضاف

LETSENCRYPT_ACCOUNT_EMAIL: myemail@example.com

تحت env: في app.yml.

وقد أصدر Let’s Encrypt شهادات وجددها بنجاح منذ ذلك الحين، ولا يزال ملف web.letsencrypt.ssl.template.yml الحالي يستخدم LETSENCRYPT_ACCOUNT_EMAIL كمتغير بيئة يعتمد عليه. أثناء اختبار تثبيت جديد اليوم، رأيت إخراج التمهيد المعتاد:

I, [2025-12-07T12:29:22.272059 #1]  INFO -- : Replacing # after ssl with if [ -n "$LETSENCRYPT_ACCOUNT_EMAIL" ]; then
  if [[ ! "$LETSENCRYPT_ACCOUNT_EMAIL" =~ ([^@]+)@([^\\.]+) ]]; then
    echo "LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address"
    exit 1
  fi
  /usr/local/bin/configure-ssl
  exec /usr/local/bin/configure-letsencrypt
else
  echo "LETSENCRYPT_ACCOUNT_EMAIL ENV not set. Skipping Let's Encrypt setup."
fi
# after ssl in /etc/runit/1.d/install-ssl

وهو ما يتطابق مع ما هو موجود في القالب.

ومع ذلك، عندما أقوم بتشغيل ./launcher rebuild app، أرى الآن تحذيرًا على غرار “لم يتم تعيين بريد Let’s Encrypt الإلكتروني”. من خلال قراءة المشغل والمستندات ذات الصلة، يبدو أن هذا يأتي من فحص تكوين أحدث يبحث عن مفتاح letsencrypt_email في التكوين المدمج، بدلاً من متغير البيئة الأقدم LETSENCRYPT_ACCOUNT_EMAIL.

لذا أعتقد أن الوضع الحالي هو:

  1. لا يزال قالب Docker Let’s Encrypt يستخدم LETSENCRYPT_ACCOUNT_EMAIL كمتغير بيئة يدفع acme.sh والتجديد.
  2. بعض عمليات الفحص الأحدث (على سبيل المثال، تلك التي تطبع “لم يتم تعيين بريد Let’s Encrypt الإلكتروني”) تبحث فقط عن letsencrypt_email في التكوين.
  3. وهذا يفسر سبب عمل إصدار الشهادة/التجديد بشكل جيد بينما لا يزال إعادة البناء يطبع تحذيرًا.

بعض التوضيحات التي أود الحصول عليها من الفريق:

  1. بالنسبة لتثبيتات ./discourse-setup القياسية، هل لا يزال LETSENCRYPT_ACCOUNT_EMAIL هو اسم المتغير المقصود في app.yml، أم يجب أن نستخدم الآن letsencrypt_email بدلاً من ذلك؟
  2. هل يعتبر LETSENCRYPT_ACCOUNT_EMAIL قديمًا ولكنه مدعوم في هذه المرحلة، أم أن هناك خطة لترحيل القوالب إلى مفتاح جديد؟
  3. بالنسبة للتثبيتات الحالية التي تستخدم حاليًا LETSENCRYPT_ACCOUNT_EMAIL ولديها عمليات تجديد ناجحة، هل النهج الموصى به هو:
    • (أ) عدم فعل أي شيء وتجاهل تحذير المشغل بأمان، أو
    • (ب) إضافة إدخال letsencrypt_email: إلى env: (بنفس العنوان) فقط لإرضاء الفحص الأحدث؟

أنا أحاول بشكل أساسي الحفاظ على التكوين متوافقًا مع أي اتجاه “رسمي”، وتجنب المفاجآت إذا تم إعادة هيكلة تكامل Let’s Encrypt في المستقبل.

شكرًا مرة أخرى على التوجيه، وعلى تأكيد ما هو متوقع هنا.

أنا متأكد من أن هذا لا يهم. لم يعد Let’s Encrypt يرسل إشعارات.

3 إعجابات