Loading...

文章背景图

Discourse:老牌开源社区论坛官方一键部署与使用指南

2026-10-27
0
- 字
- 分钟
|

Discourse:老牌开源社区论坛官方一键部署与使用指南

一、项目官方信息

项目 信息
GitHub 仓库 https://github.com/discourse/discourse
官方网站 https://www.discourse.org/
开源协议 GPL-2.0
主要语言 Ruby(约 60.7%,Rails 后端)
Star 数 约 48k
安装仓库 https://github.com/discourse/discourse_docker

Discourse 是一个 100% 开源的社区讨论平台,官方定位是“你的社区在线家园”(The online home for your community)。它经过十余年线上实战检验,至今仍在持续演进。主要能力包括:

  • 💬 创建讨论主题,促成有意义的对话;
  • ⚡️ 内建实时聊天(real-time chat);
  • 🎨 用越来越多的官方与社区主题自定义外观;
  • 🤖 通过插件增强社区,从由 Discourse AI 驱动的聊天机器人,到用 Data Explorer 做 SQL 分析等高级工具。

技术栈上,后端是 Ruby on Rails(以 JSON 提供 REST API),前端是 Ember.js,主数据存储用 PostgreSQL,缓存与临时数据用 Redis。

Discourse 官方 Logo

二、官方图片

上图为 Discourse 官方 README Logo。官方推荐用其官方 Docker 镜像在自己的基础设施上自托管;当然也可以直接使用官方托管服务(discourse.org/pricing,含免费档)。

三、环境要求

  • 一台干净的 Linux 服务器(推荐 Ubuntu 22.04/24.04),内存建议 2GB 以上(越低配越吃紧,官方建议 1GB 起步、2GB 更稳)。
  • 已安装 Docker(官方安装脚本会自动处理)。
  • 一个已解析到服务器的域名(如 bbs.example.com),用于站点访问与邮件。
  • 开发环境要求:Ruby 3.4+、PostgreSQL 15、Redis 7(仅源码开发时需要;用官方一键脚本无需自行装这些)。

四、完整部署步骤

1. 运行官方一键安装命令

README 给出的自托管安装只需一条命令:

wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/main/install-discourse | sudo bash

该脚本会自动安装 Docker 与依赖,克隆 discourse_docker 仓库到 /var/discourse。

2. 进入安装目录并启动向导

cd /var/discourse
sudo ./discourse-setup

向导会依次询问:

  • 邮件发送地址(SMTP 邮件服务器信息,用于发注册/通知邮件);
  • 站点域名(如 bbs.example.com);
  • 邮箱相关配置。

它会据此生成 containers/app.yml 配置文件。

3. 启动容器

sudo ./launcher bootstrap app
sudo ./launcher start app

bootstrap 首次初始化需要几分钟(拉镜像、建库、迁移)。完成后访问 http://你的域名 即可看到 Discourse 安装页面。

4. 完成 Web 初始化

浏览器打开站点,第一个注册的账号会自动成为管理员。按向导设置站点名称、欢迎邮件等。

5. 验证

  • 前台可正常打开,能看到分类(categories)列表。
  • 管理员后台 /admin 可进入,能看到仪表盘、设置、用户、主题等。
  • 邮件可正常发出(注册测试邮件能收到),说明 SMTP 配置正确。

五、使用方法

  • 分类与话题:在后台设置分类(Category),用户在分类下发起主题(Topic)并回复,形成讨论串。
  • 用户与权限:后台「Users」管理账号;通过信任级别(Trust Levels)与分组(Groups)控制用户能做什么,新用户有成长式的信任升级机制。
  • 管理员后台:/admin 里包含 Settings(数百项站点设置)、Customize(主题/颜色/首页)、Emails、Logs、Backups 等。
  • 主题与自定义:在「Customize → Themes」安装官方/社区主题,或创建子主题调整样式。
  • 插件管理:在 containers/app.yml 的 hooks: 段加入插件 git 仓库地址,重新 ./launcher rebuild app 即可安装插件,例如 Data Explorer、Discourse AI 等。
  • 实时聊天:新版内建聊天功能,可在侧边栏开启。
  • 备份:后台可一键备份(含数据库与上传文件),并可配置定期备份。

六、常见问题 FAQ

  1. 安装脚本跑完了,但访问不了站点? 多为域名未解析到本机、80/443 端口未放行,或 bootstrap 尚未完成。确认 DNS、防火墙,并用 sudo ./launcher logs app 查看容器日志。

  2. 注册邮件收不到? 90% 是 SMTP 配置不对。在 containers/app.yml 里核对 SMTP 地址、端口、账号密码,改完 sudo ./launcher rebuild app。Discourse 对发信要求较严,建议用专业 SMTP 服务。

  3. 改了 app.yml 怎么生效? 修改后必须执行 sudo ./launcher rebuild app,而不是直接 start。rebuild 会重新生成容器并保留数据。

  4. 内存只有 1GB 能跑吗? 官方建议至少 1GB 但会比较紧张,生产建议 2GB 以上;内存过小会导致 bootstrap 或邮件任务失败。

  5. 怎么装第三方插件? 编辑 containers/app.yml,在 discourse 模板的 hooks 下添加插件 git 地址,再 rebuild。插件清单可在 meta.discourse.org 查找。

  6. 第一个账号有什么特殊? 安装完成后第一个注册的用户自动获得管理员权限,用于后续站点配置。

七、跳转链接

评论交流

文章目录