能否禁用 Discourse 更新?

我有一个自托管的 Discourse 安装,插件运行正常,但 Discourse 总是在未经我许可的情况下自动更新。最近,由于某个插件不再兼容,论坛甚至因此崩溃了。

既然我的使用场景已经确定,而且我实际上并不需要 Discourse 的新功能,我该如何禁用自动更新,以避免插件失效?

Discourse 不会自动更新。我们甚至没有自动更新功能。

是否有人正在更新您的论坛?或者您是否在主机服务器上添加了手动后台任务来执行此操作?

这太令人震惊了,因为我没有任何执行自动更新的插件,而且在 app.yml 文件中也看不到任何相关内容,但你之前已经说过 Discourse 并不具备这一功能。

有没有什么方法可以获取 Discourse 最后一次更新的具体时间(日期和时间)?

你可以在 /admin 页面底部找到这个日期(如果你使用的是旧版界面)。

应该会看到类似这样的内容:

不过可能还有更详细的记录位置…… :thinking:

好的,我明白了。上面说上次更新是在3小时前,而3小时前我执行了:

./launcher rebuild app

这条命令会更新 Discourse 吗?那如果不更新 Discourse,我该如何安装插件呢?

是的,这是更新 Discourse 的主要方式。

你要么是在安装插件,要么是在

虽然从技术上讲,可以在安装插件时将 Discourse 固定到特定版本,但这需要对版本兼容性进行非常仔细的分析,因为许多插件都假设 Discourse 是最新版本。

在技术上可以在安装插件时将 Discourse 固定到特定版本

我该怎么做?

这需要非常仔细地分析版本兼容性,因为许多插件都假设 Discourse 是最新版本

这些插件都是我的,我不想让它们出错。我之前在 Discourse 更改架构或其他方面时已经有过不好的体验。我希望论坛能遵循 Golang 的理念。

你有没有考虑过切换到 ESR 版本,而不是固定某个特定版本?这样你仍然可以收到安全修复,但只需每 6 个月处理一次其他变更。

这算是个开始,但我还是会等有人能解释如何固定使用特定版本。

我不确定你究竟在等什么。我链接的那个主题已经解释了如何配置你想要安装的版本。

你说你不想使用 ESR 版本,而是想要一个特定版本。但是,无论你是使用分支、标签还是特定的提交哈希值,过程都是一样的——你只需相应地替换 version 的值。你也可以在论坛中找到一些相关的例子 [1] [2]

:warning: 我仍然建议在生产环境中避免使用固定的提交哈希值,因为除非你手动跟踪,否则你将不会收到安全更新或修复。

但那些基本上只是修订版,也就是我打算使用哪个分支。我的意思是,在某个版本(比如 2026.6.0)上修复问题,并且从此不再从该版本进行更新。而你提出的方案是在不同版本之间不断变更,只不过是在不同的分支上罢了。

即使选择一个不会移动的引用,结果也不会改变:

但上述所有注意事项仍然适用——通常不建议这样做。

采取这种方法(或遵循特定的发布分支)意味着你需要承担更多责任,密切关注各项支持状态的变更,并相应地管理这些风险。

我说过你可以在那里放入任何版本。你看过我链接的示例吗?

你预计这样一个固定的提交哈希值会在何时发生变化?

抱歉,是我的错,我没读到那部分。我该如何找到当前安装的长提交 ID?