在标准安装中,Discourse(以及插件)运行在 Docker 容器内。该容器无法完全访问主机文件系统,因此无法访问主机的 /var/discourse 目录来修改 app.yml 或运行 launcher。
即使它可以访问……这里存在一些循环依赖。运行 ./launcher rebuild 会杀死 Docker 容器……这会杀死你从插件启动的 launcher rebuild ![]()
这里有潜在的解决方案。例如,添加额外的 Docker 卷挂载,以便从容器内部访问配置/启动器。但这并非易事。
我记得有人曾经制作过一个“插件管理器”插件……它需要对 app.yml 进行一些调整,以添加卷挂载等内容。但我现在找不到任何关于它的主题,所以我假设它不再维护了。也许有人能分享一个链接(或者这只是一个梦
)?
在 CDCK 方面,我们肯定倾向于使用主题,当我们希望客户能够随意安装/更新/卸载时。允许人们任意安装插件是不可行的,因为这会影响在同一服务器上运行的其他客户。