Очень запутанно, что настройки SMTP находятся в app.yml. Как вы знаете, каждое изменение в app.yml требует остановки сервера. Я не говорю о «пересборке», я имею в виду просто остановку и повторный запуск, даже это вызовет кратковременное отключение веб-сайта. Мой вопрос: почему? Зачем так делать? Полная неразбериха — помещать настройки SMTP в app.yml.
Официальное обоснование может быть гораздо более разумным, чем моё, но я считаю, что SMTP-настройки хранятся в файле YAML, потому что электронная почта критически важна для Discourse. Зайти в Discourse в роли администратора без подтверждения по электронной почте невозможно. Разрешение регистрации без какой-либо проверки email само по себе является риском.
Кроме того, люди обычно не меняют свои SMTP-настройки очень часто после их первоначальной настройки. Я являюсь администратором сайтов, работающих уже более 8 лет, и за всё это время настройки SMTP не менялись.
Если вам категорически необходимо избежать короткого простоя, вы можете отредактировать конфигурационный файл на месте. Например, так:
cd /var/discourse
./launcher enter app
apt-get install nano
nano config/discourse.conf
Вам также всё равно нужно будет отредактировать файл app.yml, иначе внесённые изменения будут отменены позже.
Вам всё ещё необходимо
sv restart unicorn
чтобы применить изменения. Это может быть немного быстрее, чем перезапуск контейнера.
Пост был перенесен в новую тему: Смена пароля SMTP