在使用 Discourse 过程中,插件安装、论坛维护、备份恢复等操作主要通过 Docker 容器下的管理命令 完成。本文整理了 Discourse 最常用的插件安装方法以及容器内部的管理命令,一篇解决所有常用运维需求。
一、安装与管理插件
Discourse 的插件通过 app.yml 中添加 Git 仓库方式安装。
1. 编辑配置文件
cd /var/discourse
nano containers/app.yml
在 hooks → after_code 部分添加插件,例如:
- git clone https://github.com/discourse/docker_manager.git
添加多个插件也类似,依次加入即可。
2. 重建 Discourse 容器(必须执行)
修改插件后需要 rebuild 才会生效:
./launcher rebuild app
3. 重启容器(可选)
./launcher restart app
4. 进入 Discourse 容器
./launcher enter app
进入后会进入 Discourse 的运行环境(Rails + PostgreSQL + Sidekiq),可运行管理命令。
二、进入容器后的 Discourse 管理命令
进入容器后,可直接使用以下内部命令工具:
核心备份与恢复命令
| 命令 | 功能 |
|---|---|
discourse backup | 创建论坛备份 |
discourse restore | 从备份恢复 |
discourse rollback | 回滚到上一个备份 |
discourse export | 导出当前论坛 |
discourse import | 导入论坛备份 |
备份文件默认位置:
/var/discourse/shared/standalone/backups/default
分类与主题导入导出
| 命令 | 用途 |
|---|---|
discourse export_categories | 导出所有分类 + 主题 + 用户 |
discourse export_category | 导出指定分类 |
discourse export_topics | 按主题 ID 导出多个主题 |
discourse import_category | 导入分类数据 |
discourse import_topics | 导入主题数据 |
系统状态控制
| 命令 | 用途 |
|---|---|
discourse enable_readonly | 开启只读模式 |
discourse disable_readonly | 关闭只读模式 |
discourse enable_restore | 允许恢复 |
discourse disable_restore | 禁止恢复 |
discourse request_refresh | 通知所有客户端刷新浏览器 |
三、数据库相关命令(rake)
进入容器后可使用 Rails 的 rake 命令。
数据库维护
rake db:migrate # 运行数据库迁移
rake db:reset # 重置数据库
rake db:rebuild_indexes # 重建索引
四、内容与搜索相关命令
rake search:reindex # 重建搜索索引
rake posts:rebake # 重新解析所有帖子(常用于升级后)
五、主题与插件管理
rake themes:update # 更新所有主题
rake themes:clone_all_official # 下载所有官方主题
rake plugin:update_all # 更新所有插件
rake plugin:install_all_official # 安装全部官方插件
六、用户管理
rake admin:create # 创建管理员账户(忘记密码时尤其有用)
七、缓存与日志管理
rake tmp:clear # 清理临时文件
rake cache_digests:dependencies # 查看缓存依赖关系
rake log:clear # 清理日志
八、其他实用命令
rake stats # 查看代码统计信息(KLOC 等)
Discourse 日常运维必备
本文:
- 插件安装方法
- 容器级维护命令
- 数据库维护
- 搜索索引重建
- 主题/插件管理
- 备份与恢复
- 日志与缓存维护
非常适合用作 Discourse 运维的工具手册。







