3538 字
18 分钟
Discourse 详细安装部署教程(Docker 官方推荐版)
2026-03-30

Discourse 详细安装部署教程(Docker 官方推荐版)#

一、文档说明#

本文档基于 Discourse 官方推荐的 Docker 容器化部署方案,适配 Ubuntu 20.04/22.04 LTS 64位服务器(兼容性最优、维护成本最低),全程分步讲解,从环境准备、域名配置、核心安装,到后台初始化、邮件配置、日常维护,新手可直接对照步骤操作,无需额外技术基础。

适用人群:需搭建社区论坛、技术交流平台、企业内部社区的个人/企业用户

部署方式:Docker 一键部署(官方标准方案,彻底避免环境冲突、依赖缺失问题)

必备条件

  • 云服务器:2核2G内存起步(并发量高建议2核4G及以上),拥有公网IP

  • 域名:已备案(国内服务器必须备案,境外服务器可无需备案)

  • 邮箱:可用的企业邮箱/第三方邮件服务(用于发送注册、密码找回、系统通知邮件)

  • 权限:拥有服务器 root 管理员权限(可执行所有操作命令)

二、部署前准备工作#

2.1 服务器要求(必看)#

为确保 Discourse 稳定运行,服务器需满足以下最低配置,推荐配置可提升运行流畅度:

配置项最低配置推荐配置说明
操作系统Ubuntu 20.04 LTS 64位Ubuntu 22.04 LTS 64位仅推荐 Ubuntu,其他系统兼容性差
CPU2核4核并发用户多需提升CPU配置
内存2G4G内存不足会导致安装失败、运行卡顿
网络公网IP,开放80/443端口公网IP,带宽1M以上80/443端口用于HTTP/HTTPS访问,不可关闭

2.2 域名与DNS配置#

Discourse 需通过域名访问,需先完成域名注册和DNS解析,步骤如下:

  1. 注册域名:在阿里云、腾讯云、Namecheap等平台注册一个域名(如 yourdomain.com),完成实名认证(国内平台必需)。

  2. DNS解析配置:进入域名管理后台,添加 A记录,实现域名指向服务器公网IP:

    • 主机记录:填写 bbs 或 forum(自定义二级域名,如 bbs.yourdomain.com)

    • 记录类型:选择 A(指向IP地址)

    • 记录值:填写你的服务器公网IP(可在云服务器控制台查看)

    • TTL:默认600秒(解析生效时间,无需修改)

  3. 验证解析:配置完成后,等待5-10分钟,在本地电脑CMD中执行 ping bbs.yourdomain.com,若能ping通服务器IP,说明解析生效。

2.3 邮箱准备(核心必备)#

Discourse 依赖邮件服务完成用户注册、密码找回、系统通知,必须提前准备可用的邮箱,并获取以下关键信息:

推荐邮箱类型

  • 企业邮箱:腾讯企业邮、阿里企业邮(免费、稳定,适合长期使用)

  • 第三方邮件服务:SendGrid、Mailgun、阿里云邮件推送(发送量大时推荐)

  • 测试用邮箱:QQ邮箱、163邮箱(新手测试可用,有发送频率限制,不适合生产环境)

需获取的邮箱信息

  • SMTP服务器地址(如 QQ邮箱:smtp.qq.com,阿里企业邮:smtp.mxhichina.com)

  • SMTP端口(SSL加密常用465,非SSL常用587,优先选择465)

  • 发件邮箱地址(如 admin@yourdomain.com

  • SMTP密码/授权码(不是邮箱登录密码,需在邮箱后台开启SMTP服务并获取授权码)

三、服务器基础环境配置#

需先在服务器上安装 Docker 和 Git(Discourse 安装依赖),全程通过命令行操作,步骤如下:

3.1 登录服务器#

使用远程连接工具(Xshell、FinalShell、Putty 等),以 root 用户身份登录服务器:

  • 主机地址:填写服务器公网IP

  • 端口:默认22(若修改过SSH端口,填写修改后的端口)

  • 用户名:root

  • 密码:服务器登录密码(或使用密钥登录)

登录成功后,进入命令行界面,开始后续操作。

3.2 更新系统依赖#

执行以下命令,更新系统软件包,确保环境最新,避免安装冲突:

Terminal window
apt update -y && apt upgrade -y

命令执行完成后,系统会自动更新所有可更新的软件包,无需手动干预。

3.3 安装 Docker 环境#

Discourse 官方推荐使用 Docker 部署,执行官方一键安装脚本,快速完成 Docker 安装:

Terminal window
# 下载 Docker 安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
# 执行脚本安装 Docker
sh get-docker.sh

安装完成后,执行以下命令验证是否安装成功:

Terminal window
docker --version

若出现类似Docker version 24.0.7, build 24.0.7-0ubuntu1~22.04.1 的版本信息,说明 Docker 安装成功。

3.4 安装 Git#

Git 用于拉取 Discourse 官方安装包,执行以下命令安装:

Terminal window
apt install git -y

安装完成后,执行 git --version,出现版本号即安装成功。

四、Discourse 核心安装部署#

完成基础环境配置后,开始安装 Discourse,全程遵循官方步骤,简单易懂:

4.1 创建 Discourse 安装目录#

官方推荐将 Discourse 安装在 /var/discourse 目录下,执行以下命令创建目录并进入:

Terminal window
# 创建目录
mkdir -p /var/discourse
# 进入目录
cd /var/discourse

4.2 拉取 Discourse 官方安装包#

执行 Git 命令,拉取 Discourse 官方 Docker 安装包:

Terminal window
git clone https://github.com/discourse/discourse_docker.git /var/discourse

拉取完成后,目录下会自动生成相关安装文件,无需手动修改。

4.3 启动安装配置向导#

进入安装目录,执行官方安装脚本,启动交互式配置向导:

Terminal window
cd /var/discourse
./discourse-setup

执行命令后,会进入交互式配置界面,按提示依次输入以下信息(关键配置,务必准确):

提示内容填写示例详细说明
Hostname for your Discourse?bbs.yourdomain.com填写你配置好的域名,必须和DNS解析一致,否则无法访问
Email address for admin account?admin@yourdomain.com管理员邮箱,用于接收系统通知、重置密码
SMTP server address?smtp.qq.com你的邮箱SMTP服务器地址,提前准备好
SMTP port?465SSL加密端口,优先填465;非SSL填587
SMTP username?123456@qq.com完整的发件邮箱地址,和准备的邮箱一致
SMTP password?abcdefghijklmnop邮箱SMTP授权码,不是登录密码,避免填错
Enable Let’s Encrypt (SSL)?y输入y,自动申请免费SSL证书,实现HTTPS访问(推荐)
Last chance to change any settings?y确认所有配置无误,输入y开始安装;有误输入n重新配置

4.4 等待安装完成#

确认配置后,脚本会自动执行以下操作,无需手动干预:

  • 下载 Discourse 相关 Docker 镜像(约几百MB,取决于服务器网速)

  • 配置 Discourse 容器参数、数据库、邮件服务

  • 启动 Discourse 服务

  • 申请并配置 Let’s Encrypt SSL 证书

安装全程约 5-15 分钟(网速越快,时间越短),当命令行出现 ==> Admin is ready 字样时,说明 Discourse 安装成功。

五、管理员账号初始化#

安装完成后,需通过浏览器访问论坛,创建并激活管理员账号,步骤如下:

  1. 打开浏览器,输入你的域名(如 https://bbs.yourdomain.com),注意必须用 HTTPS(若SSL未生效,可等待5分钟后刷新)。

  2. 页面会自动跳转至「注册管理员账号」页面,填写以下信息:

    • 用户名:管理员账号名称(如 admin)

    • 密码:管理员密码(建议复杂密码,包含字母、数字、符号)

    • 邮箱:必须和安装时填写的管理员邮箱一致(如 admin@yourdomain.com

  3. 填写完成后,点击「注册」按钮,系统会发送一封验证邮件到你的管理员邮箱。

  4. 登录你的邮箱,找到 Discourse 发送的验证邮件,点击邮件中的「验证链接」,即可完成管理员账号激活。

  5. 激活后,自动跳转至论坛首页,点击右上角「登录」,输入管理员账号密码,即可登录论坛。

注意:若未收到验证邮件,说明 SMTP 配置有误,参考下文「邮件配置故障排查」进行修正。

六、论坛基础后台配置#

登录管理员后台(访问 https://bbs.yourdomain.com/admin),完成基础配置,让论坛正常可用:

6.1 基础站点设置#

  1. 进入后台后,点击左侧菜单栏「设置」→「基础」(Settings → Basic)。

  2. 配置核心参数:

    • 站点名称:填写论坛名称(如 XX 技术社区)

    • 站点描述:填写论坛简介(如 专注于XX技术交流的社区平台)

    • 网站图标:上传论坛图标(建议尺寸 128x128px,格式 PNG)

    • 首页样式:选择论坛首页展示样式(默认即可,可后期调整)

  3. 配置访问权限:

    • 允许注册:开启(默认开启,允许新用户注册)

    • 游客访问:开启(允许未登录用户查看论坛内容,提升活跃度)

  4. 配置完成后,点击页面底部「保存更改」。

6.2 中文语言配置(新手必备)#

Discourse 默认语言为英文,需手动切换为简体中文:

  1. 进入后台「设置」→「区域设置」(Settings → Locale)。

  2. 找到「默认区域设置」(default locale),下拉选择「zh_CN(简体中文)」。

  3. 点击页面底部「保存更改」,刷新浏览器,界面会自动切换为简体中文。

6.3 关闭新用户限制(可选)#

Discourse 默认对新用户有严格限制(如无法发帖、评论),新手测试或初期运营可临时关闭:

  1. 进入后台「设置」→「新用户」(Settings → New User)。

  2. 找到「新用户限制」(new user restrictions),点击关闭。

  3. 保存更改,新注册用户即可正常发帖、评论。

七、邮件配置故障排查#

若安装后无法收到验证邮件、注册邮件,大概率是 SMTP 配置有误,需手动修改配置文件,步骤如下:

  1. 登录服务器,进入 Discourse 安装目录: cd /var/discourse

  2. 编辑 Discourse 配置文件: nano containers/app.yml

  3. 在配置文件中找到 SMTP 配置区域(搜索 DISCOURSE_SMTP),修正以下参数(参考示例): # SMTP 配置示例(QQ邮箱) DISCOURSE_SMTP_ADDRESS: smtp.qq.com DISCOURSE_SMTP_PORT: 465 DISCOURSE_SMTP_USER_NAME: 123456@qq.com DISCOURSE_SMTP_PASSWORD: 你的SMTP授权码 DISCOURSE_SMTP_ENABLE_START_TLS: false DISCOURSE_SMTP_SSL: true

  4. 保存并退出配置文件:按 Ctrl+O 保存,按 Ctrl+X 退出。

  5. 重建 Discourse 容器,使配置生效: ./launcher rebuild app

  6. 重建完成后,重新尝试注册或发送验证邮件,即可正常收到。

常见问题:若仍无法收到邮件,检查邮箱 SMTP 服务是否开启、授权码是否正确,或更换其他邮箱重新配置。

八、Discourse 日常维护命令#

所有维护命令均需在/var/discourse 目录下执行,常用命令如下,建议收藏:

8.1 启动/停止/重启论坛#

Terminal window
# 启动论坛
./launcher start app
# 停止论坛
./launcher stop app
# 重启论坛(修改配置后无需重建时使用)
./launcher restart app

8.2 重建容器(关键命令)#

修改配置文件(如 app.yml)后,必须执行重建命令,配置才能生效:

Terminal window
./launcher rebuild app

8.3 升级 Discourse 版本#

Discourse 会定期更新,执行以下命令升级到最新版本:

Terminal window
git pull
./launcher rebuild app

8.4 查看容器运行状态#

查看 Discourse 容器是否正常运行:

Terminal window
docker ps

若出现包含「discourse/app」的记录,说明容器正常运行。

8.5 重置管理员密码#

若忘记管理员密码,执行以下命令重置:

Terminal window
cd /var/discourse
./launcher enter app
rake admin:create

按提示输入新的管理员密码,即可重置成功。

九、备份与恢复#

为避免数据丢失,建议定期备份论坛数据,备份与恢复步骤如下:

9.1 后台自动备份(推荐)#

  1. 登录管理员后台,点击左侧菜单栏「备份」(Backups)。

  2. 开启「自动备份」,设置备份频率(如每天、每周)、备份保留份数(如保留最近7份)。

  3. 备份文件会自动存储在服务器本地,路径为 /var/discourse/shared/standalone/backups/default

9.2 手动备份#

执行以下命令,手动创建论坛备份:

Terminal window
cd /var/discourse
./launcher enter app
discourse backup

备份完成后,可在上述备份路径中找到备份文件(格式为 .tar.gz)。

9.3 恢复备份#

当论坛数据丢失或出现故障时,可通过备份文件恢复:

  1. 将备份文件(.tar.gz)上传到服务器备份路径 /var/discourse/shared/standalone/backups/default

  2. 登录管理员后台,进入「备份」页面,找到上传的备份文件,点击「恢复」。

  3. 等待恢复完成,论坛数据会恢复到备份时的状态。

十、常见问题解决方案#

10.1 论坛无法访问#

  • 检查服务器 80/443 端口是否开放:进入云服务器控制台,在安全组中放行 80(HTTP)、443(HTTPS)端口。

  • 检查 DNS 解析是否生效:重新 ping 域名,确认指向正确的服务器IP。

  • 检查容器是否运行:执行 docker ps,若未运行,执行 ./launcher start app 启动。

10.2 HTTPS 证书失效#

  • 确认域名已备案(国内服务器)、DNS 解析正确。

  • 执行重建命令,重新申请 SSL 证书:./launcher rebuild app

10.3 内存不足导致安装失败#

服务器内存低于2G时,会导致安装失败,解决方案:创建 swap 分区(临时增加内存):

Terminal window
# 创建 2G swap 分区
fallocate -l 2G /swapfile
# 设置权限
chmod 600 /swapfile
# 格式化 swap 分区
mkswap /swapfile
# 启用 swap 分区
swapon /swapfile

创建完成后,重新执行安装命令即可。

10.4 论坛运行卡顿#

  • 检查服务器内存/CPU使用率:执行 top 命令,若使用率过高,升级服务器配置。

  • 重启论坛:执行 ./launcher restart app,释放内存。

十一、文档总结#

  1. 本教程采用 Discourse 官方唯一推荐的 Docker 部署方式,具有稳定、易维护、适配所有版本的优势,新手可轻松上手。

  2. 核心安装流程:服务器准备 → 域名DNS解析 → 安装 Docker/Git → 拉取 Discourse 源码 → 交互式配置 → 初始化管理员 → 后台配置。

  3. 关键注意点:SMTP 邮件配置必须正确(否则无法注册用户)、域名需备案(国内服务器)、服务器内存不低于2G。

  4. 日常维护:掌握重建容器、升级版本、备份恢复三个核心操作,即可保障论坛稳定运行。

按照本教程操作,即可完成 Discourse 论坛的从零到一部署,适合个人、企业、团队搭建专属社区平台。

(注:文档部分内容可能由 AI 生成)

Discourse 详细安装部署教程(Docker 官方推荐版)
https://021028.xyz/posts/default/51/
作者
021028
发布于
2026-03-30
许可协议
CC BY-NC-SA 4.0