Какое имя переменной Let's Encrypt правильное в app.yml?

Всем привет,

При пересборке я увидел предупреждение:

«Email 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 email not set». Судя по изучению кода launcher и соответствующей документации, это предупреждение исходит от новой проверки конфигурации, которая ищет ключ letsencrypt_email в объединённой конфигурации, а не старую переменную окружения LETSENCRYPT_ACCOUNT_EMAIL.

Таким образом, текущая ситуация, по-видимому, следующая:

  1. Шаблон Docker для Let’s Encrypt по-прежнему использует LETSENCRYPT_ACCOUNT_EMAIL как переменную окружения, управляющую работой acme.sh и обновлением сертификатов.
  2. Некоторые более новые проверки (например, та, которая выводит «Let’s Encrypt email not set») ищут только letsencrypt_email в конфигурации.
  3. Это объясняет, почему выдача и обновление сертификатов работают нормально, а при пересборке всё ещё появляется предупреждение.

Несколько уточнений, которые я хотел бы получить от команды:

  1. Для стандартных установок через ./discourse-setup переменная LETSENCRYPT_ACCOUNT_EMAIL по-прежнему является именем переменной в app.yml, которое следует использовать, или теперь нужно использовать letsencrypt_email?
  2. Считается ли LETSENCRYPT_ACCOUNT_EMAIL устаревшей, но поддерживаемой переменной на данный момент, или есть план миграции шаблонов на новый ключ?
  3. Для существующих установок, которые в настоящее время используют LETSENCRYPT_ACCOUNT_EMAIL и имеют работающее обновление сертификатов, какой подход рекомендуется:
    • (a) ничего не делать и безопасно игнорировать предупреждение от launcher, или
    • (b) добавить запись letsencrypt_email: в секцию env: (с тем же адресом) исключительно для удовлетворения новой проверки?

Моя основная цель — держать конфигурацию в соответствии с «официальным» направлением и избежать сюрпризов, если интеграция с Let’s Encrypt будет рефакторирована в будущем.

Ещё раз спасибо за рекомендации и за подтверждение того, что от нас ожидается.

Я почти уверен, что это не имеет значения. Let’s Encrypt больше не отправляет уведомления.