自定义部署的最佳实践

编辑 app.yml 以调整 Discourse 设置是很常见的。

此外,在 How to avoid throttling limits with admin API key? - #7 by aas 我发现我需要修改 nginx 配置以避免 API 请求的速率限制。

我的问题是,对于以下内容,推荐的最佳实践是什么:

  • 版本控制文件,例如 app.yml
    • 每次更改时,我都需要在 /var/discourse 之外对其进行版本控制,并将其移至 /var/discourse/containers/
  • 修改、覆盖或添加新模板
    • templates/web.ratelimited.template.yml 不会被 git 忽略。虽然它已经 6 年没有改变了,但直接编辑它似乎不明智。有可能 ./launcher rebuild 会覆盖它。或者 git pull 命令会失败。

可能的解决方案

  • 创建我自己的包含 app.yml 和模板的 git 仓库。
  • 编写一个 GitHub Action,使用 Ansible 将 app.yml 复制到 /var/discourse/containers/,并将模板复制到运行 Discourse 的服务器。

问题

  • 放在哪里可以很好地放置我的自定义模板?

看起来我可以直接在 app.yml 中添加 replace 部分,而不是像这里提到的那样使用模板:

是的,您可以使用 App.yml 创建备份副本,并根据需要命名它们。

如果您要更改特定部分,也可以添加注释。我作为自托管用户,将插件按官方、pavilion 和其他进行组织。在适当部分安装新插件时,我会添加注释。

不过,其他人可能比我还有更好的想法。