当运行启动器引导/重建且 app.yml 不存在时添加 CLI 警告

当新克隆 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 个赞

是的,目前如果您在未先创建 app.yml 的情况下运行

./launcher bootstrap app

您只会看到:

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

这确实是准确的,但帮助不大,尤其是在两种常见情况下:

  1. 新的生产环境安装
    应该运行 ./discourse-setup 来从 standalone.yml 生成 app.yml

  2. 无需出站电子邮件的快速测试论坛
    有时人们只想启动一个本地/测试版的 Discourse,而无需配置 SMTP。
    通常的工作流程是:

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

这样您就可以获得一个管理员帐户,而无需电子邮件。


提议:
改进错误消息,使其能够引导两种情况。例如:

1 个赞

我只想补充一点,官方的备份/恢复指南鼓励在运行launcher之前将app.yml复制到新的VPS上。

所以错误消息也许可以涵盖这种情况。现在,任何遵循该指南但忘记先复制app.yml的人都会遇到同样的死胡同。

也许可以这样:

错误:containers/app.yml不存在或不可读。

如果是首次安装,请运行./discourse-setup以生成app.yml
(从示例standalone.yml生成)。

如果是恢复到新服务器,请确保您已将现有的
app.yml从旧服务器复制到/var/discourse/containers

这样,消息就可以将这三类用户引导到正确的方向:

  • 全新管理员
  • 恢复论坛的人
  • 不想设置SMTP的测试人员。