使用 Docker compose 进行 Discourse 自主托管

大家好!:blush:

希望大家都安好!我有一个关于 Discourse 的问题:可以自己托管 Discourse 吗?我对这个平台非常感兴趣,想知道这里是否有人有相关经验。我应该注意哪些具体要求或有什么建议吗?

提前感谢大家的帮助!:folded_hands:

6 个赞

是的,还有一个专门针对它的子类别!:

Documentation > Self-Hosting
您需要特别阅读标准安装

14 个赞

非常感谢您的回答!

我想拥有一个独立的“docker-compose”文件,以便在我们的协会中启动和使用Discourse。

这是否可行?

我不喜欢运行一千个我不知道的后台脚本。

是的,这是可能的,但您需要自己编写和维护它。

这是一个最近有人发布的用于开发的 Dockerfile,可以作为起点:

Discourse 是开源的。为什么不阅读启动脚本和模板呢?(这也将为您的 Compose 提供信息)

3 个赞

这不受支持,但有一些努力试图跟上主线 Discourse。您可以在此处搜索 docker compose,或访问这两个变体:

不过要小心,跨版本维护 Discourse 可能很困难。但IndieHosters 已经这样做了好几年了。

这两个项目都使用了原始的Discourse/base docker 镜像,但不确定它们是否像 @sampupsdiscourse-docker所做的那样定制安装。

6 个赞

感谢您的回复!

我只安装了 discourse/base 镜像,但容器退出了,没有任何日志。
该图片显示了一个命令行界面,在 Docker 环境中显示了一个名为“discourse-container”的容器,该容器最近已退出,没有正在运行的进程。

您知道这是为什么吗?

因为基础镜像本身什么也做不了。您需要先在其中编译 Discourse,然后运行它。而这需要先在镜像外部执行一个 ./launcher 脚本。所以您应该先尝试官方安装方法,然后再考虑其他选项。

Discourse 的安装过程并不常见,但多年来我非常喜欢这种方法,原因只有一个,那就是在您担任管理员一段时间后才能体会到。那就是每次对源代码进行提交后都可以进行升级的可能性。这太不可思议了。您报告一个 Bug,一个小时后,它很可能就会被团队或社区解决,自动测试执行,提交被合并并可用。然后您就可以立即升级。因为您会使用最新的源代码重新编译您的 Discourse。

所以没有一个镜像预编译了任何特定版本。您得到一个“空”镜像,然后从您想要的点编译您自己的版本,并带有您需要的插件组合。而且它仍然有效

您在其他地方得不到这种灵活性。

所以我不确定,但如果您想创建一个 docker compose 文件,您需要在 compose 文件中复制 ./launcher 脚本的过程,然后编译到另一个镜像中,之后您就可以直接插入使用。但当您需要升级时,您就不能使用内置过程了。您将不得不自己去组合一个新版本。

4 个赞

感谢各位的帮助。你们让像我这样的初学者也能轻松使用 Discourse!

是的,但在向我的俱乐部提供 Discourse 之前,我想在本地主机上运行 Discourse 并进行一些测试,以便我能更好地掌握 Discourse 的管理界面和命令行。如果出现错误,我希望能够修复它们。对于“支持”版本,我需要一个 DNS 条目,端口 443 和 80,这在我的情况下是不必要的——至少我认为是这样。

有人知道如何在本地主机上运行它的技巧吗?

1 个赞

安装 Docker 然后照做即可。

1 个赞

是的:

https://meta.discourse.org/tags/c/documentation/developer-guides/56/dev-install

:slight_smile:

2 个赞

或者那样。尽管我明白 Max 有兴趣了解它在生产环境中的行为,但在购买托管环境之前,他想在本地进行测试。为此,Docker 设置会更合适。为了实际修复错误,开发设置是正确的选择。

4 个赞

各位,非常感谢你们的支持!

我设法通过 Docker 的“正常”安装使其正常工作了。

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.