简短的回答是:不行,仅靠 docker-compose 无法实现——我希望能看到这一功能,但目前的计划是允许任何人创建可公开分享的自定义基础镜像,以推动进展。构建插件涉及克隆插件仓库、运行 bundle install、npm 安装以及重新编译 Ember……这些操作不应在启动时执行。
因此,这里的一个核心思路是允许镜像像 discourse/discourse 官方镜像一样构建——使用与支持版 Discourse 运行相同的 app.yml 文件。
作为一个示例,我正在构建我的个人镜像,其中包含 resenha 插件。我通过更新核心 app.yml 文件来包含该插件(详见此处),然后将其推送到外部(公开的!)Docker 注册表。
如果您使用的是外部邮件服务,我认为您的 Caddy 反向代理可能不是问题所在。与当前的 launcher 构建不同,discourse/discourse 镜像不会提醒您设置邮件环境变量(尽管仍然必须设置)——建议您首先检查这些变量。