@Falco @pfaffman 谢谢,你们的回答解除了我的疑虑。
我把我的 app.yml 配置留在这里,以防对任何尝试从主机加载本地插件到 Discourse 的人有用。
## Docker 容器是无状态的;所有数据存储在 /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
- volume:
host: /var/discourse/plugins
guest: /var/plugins
## 插件放在这里
## 详见 https://meta.discourse.org/t/19157
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- cp -a /var/plugins/. $home/plugins/
在我的设置中,我将所有自定义插件保存在主机的 /var/discourse/plugins 中。
挂载的目录在容器内变为 /var/plugins,在 after_code 钩子期间,命令:
cp -a /var/plugins/. $home/plugins/
将所有挂载的插件复制到 Discourse 的原生插件目录($home/plugins,通常是 /var/www/discourse/plugins)。
这使得可以直接从主机管理插件,而无需使用基于 git 的插件安装或依赖第三方托管服务。