自 2024 起,Discourse 默认不再提供 /admin/upgrade 图形化升级界面,更新方式统一改为 Docker + SSH 命令行更新。
1. 创建备份
更新前务必提前备份论坛数据。
- 管理界面备份
- 管理员访问:
https://你的域名/admin/backups - 点击 “备份”
- 备份完成后 下载到本地保存
- 命令行备份(推荐):
cd /var/discourse
sudo ./launcher backup app
2.1 SSH 登录服务器
ssh 用户名@服务器IP
sudo -i
2.2 进入 Discourse 项目目录
cd /var/discourse
2.3 拉取最新 Discourse 代码与 Docker 模板
git pull
如有网络问题可尝试:
git fetch --allgit reset --hard origin/master
2.4 重新构建 Discourse 容器(最重要步骤)
./launcher rebuild app
构建完成后会自动重启服务并加载最新版本。
3. 更新完成后的检查
3.1 检查是否运行正常
./launcher logs app
如无报错则表示成功。
3.2 打开论坛自检
访问网站首页与后台:
- 页面是否正常加载
- 管理后台是否有插件错误
- CDN、邮件、上传等功能是否正常
4. 常见问题与解决方法
4.1 构建失败
查看详细错误:
./launcher logs app
常见原因:
- 插件不兼容
- 系统包下载失败
- 服务器内存不足
- Docker 版本太旧
4.2 插件导致构建无法通过
编辑 app.yml 注释掉插件后重试:
# - git clone https://github.com/.../plugin.git
然后再 rebuild:
./launcher rebuild app
4.3 空间不足导致构建失败
查看磁盘空间:
df -h
清理旧镜像:
docker system prune -a
5. 建议的维护频率
- 每 1–2 个月更新一次
- 每次更新前执行备份
- 定期清理 Docker 镜像
- 插件更新与兼容性检查
6. 总结
新版 Discourse 统一使用命令行更新,以确保更稳定、可控:
- 备份
git pull./launcher rebuild app- 检查运行状态
通过以上步骤,你可以顺利完成 Discourse 的更新操作。