Добавить предупреждение CLI при запуске bootstrap/rebuild лаунчера без app.yml

При настройке свежего клонирования Discourse репозиторий поставляется с файлом standalone.yml.

Документированный рабочий процесс выглядит следующим образом:

git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
./discourse-setup   # создаёт app.yml

Однако, если кто-то пропускает выполнение ./discourse-setup и вместо этого запускает

./launcher bootstrap app
# или
./launcher rebuild app

когда app.yml отсутствует, возникает запутывающая ошибка, так как app.yml не найден, а standalone.yml не распознаётся автоматически как отправная точка.

Это распространённая проблема для новых администраторов, которые предполагают, что standalone.yml уже готов к использованию.


Предложение:

  • При вызове launcher bootstrap или launcher rebuild, если файл containers/app.yml отсутствует, CLI должен выводить чёткое предупреждение, например:
Файл containers/app.yml не найден.
Не хотели ли вы сначала выполнить ./discourse-setup?
Примечание: app.yml генерируется на основе образца standalone.yml.

Это спасёт новых пользователей от тупика и необходимости искать ответы на Meta.


Было бы разумным добавить это в launcher?

2 лайка

Да, в данный момент, если вы запустите

./launcher bootstrap app

без предварительного создания app.yml, вы увидите только:

ERROR: containers/app.yml does not exist or is not readable.

Это верно, но не очень полезно, особенно для двух распространенных случаев:

  1. Новая установка в продакшене
    Следует выполнить ./discourse-setup, чтобы сгенерировать app.yml из standalone.yml.

  2. Быстрый тестовый форум без исходящей почты
    Иногда пользователям просто нужно запустить локальный/тестовый Discourse без настройки SMTP.
    Обычный рабочий процесс выглядит так:

./launcher bootstrap app
./launcher start app
./launcher enter app
rake admin:create

Это создает учетную запись администратора без необходимости настройки почты.


Предложение:
Улучшить сообщение об ошибке, чтобы оно направляло пользователя по обоим путям. Например:

1 лайк

Хочу лишь добавить, что официальное руководство по резервному копированию и восстановлению рекомендует сначала скопировать app.yml на новый VPS, прежде чем запускать launcher.

Так что сообщение об ошибке могло бы охватывать и этот сценарий. В текущем виде, если кто-то следует руководству, но забывает сначала скопировать app.yml, он упрётся в тот же тупик.

Возможно, стоит написать что-то вроде:

ERROR: containers/app.yml does not exist or is not readable.

If this is your first install, run ./discourse-setup to generate app.yml
(from the sample standalone.yml).

If you are restoring to a new server, make sure you copied your existing
app.yml from the old server into /var/discourse/containers

Таким образом, сообщение направит в нужное русло все три категории пользователей:

  • новых администраторов;
  • тех, кто восстанавливает форум;
  • тестировщиков, не желающих настраивать SMTP.