Спасибо за ответы до сих пор — я немного подробнее изучил вопрос и хочу убедиться, что правильно всё понял.
Моя установка изначально была создана с помощью ./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.
Таким образом, текущая ситуация, по-видимому, следующая:
- Шаблон Docker для Let’s Encrypt по-прежнему использует
LETSENCRYPT_ACCOUNT_EMAIL как переменную окружения, управляющую работой acme.sh и обновлением сертификатов.
- Некоторые более новые проверки (например, та, которая выводит «Let’s Encrypt email not set») ищут только
letsencrypt_email в конфигурации.
- Это объясняет, почему выдача и обновление сертификатов работают нормально, а при пересборке всё ещё появляется предупреждение.
Несколько уточнений, которые я хотел бы получить от команды:
- Для стандартных установок через
./discourse-setup переменная LETSENCRYPT_ACCOUNT_EMAIL по-прежнему является именем переменной в app.yml, которое следует использовать, или теперь нужно использовать letsencrypt_email?
- Считается ли
LETSENCRYPT_ACCOUNT_EMAIL устаревшей, но поддерживаемой переменной на данный момент, или есть план миграции шаблонов на новый ключ?
- Для существующих установок, которые в настоящее время используют
LETSENCRYPT_ACCOUNT_EMAIL и имеют работающее обновление сертификатов, какой подход рекомендуется:
- (a) ничего не делать и безопасно игнорировать предупреждение от launcher, или
- (b) добавить запись
letsencrypt_email: в секцию env: (с тем же адресом) исключительно для удовлетворения новой проверки?
Моя основная цель — держать конфигурацию в соответствии с «официальным» направлением и избежать сюрпризов, если интеграция с Let’s Encrypt будет рефакторирована в будущем.
Ещё раз спасибо за рекомендации и за подтверждение того, что от нас ожидается.