DoraCMS 中文教程:从零搭建一个支持 AI 写作的内容管理系统
2026-08-25发表于
框架与库一、速览
入门
DoraCMS 是一款内容管理系统(CMS)。你可以把它理解成网站的后台仓库:平时写文章、传图片、管理页面,不需要自己写代码,点几下鼠标就能发布内容。它基于 EggJS(一套运行在服务器上的 Node.js 服务端框架,相当于后台的“管家”)和 Vue 3(用来构建网页界面的前端技术)开发,界面现代,响应速度快。
这个项目最大的亮点是内置了 AI 内容发布 功能,你可以接入大模型 API,让系统帮你自动生成文章初稿,再手动修改发布。对于想快速搭建官网、博客、企业站,又不想从零开发的人来说,DoraCMS 是一条捷径。
它的另一个特点是前后端分离:后台管理界面和用户前台分开,互不干扰,后期扩展也方便。官方提供了在线演示,你可以先在浏览器里体验后台操作,再决定是否自己部署。
二、快速部署
入门
部署 DoraCMS 最简单的方式是用 Docker。Docker 是一种把软件打包成“集装箱”的工具,无论你的服务器是什么系统,只要装了 Docker,就能用同样的命令把项目跑起来。下面按步骤来。
前置条件
- 一台能联网的 Linux 服务器(本地电脑也可以,但服务器更适合长期运行)
- 已安装 Docker(版本 20.10 以上)和 Docker Compose(版本 2.0 以上)
- 如果你选择用 MariaDB 或 MongoDB 作为数据库,Docker 会自动帮你启动对应的数据库容器,所以本机不需要额外安装数据库
第一步:获取项目代码
git clone https://github.com/doramart/DoraCMS.git
cd DoraCMS
第二步:准备环境变量文件
项目提供了一个模板文件,我们复制一份并命名为 .env。这个文件里存着各种配置,相当于软件的“个人信息表”。
cp docker.env.example .env
然后编辑 .env,至少修改三个关键值:APP_KEYS、SESSION_SECRET、数据库密码。可以用下面的命令生成随机密钥,粘贴进去。
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
或者用 OpenSSL:
openssl rand -hex 32
注意:不要使用默认值或网上公开的示例密钥,否则别人可能伪造你的登录状态。
第三步:启动容器
在项目根目录执行 Docker Compose 命令。下面示例启动了 MariaDB、Redis 和 Nginx 三个服务,你可以按需选择 profile(比如只用 MongoDB 就不加 --profile mariadb)。
docker compose --profile mariadb --profile redis --profile nginx up -d
启动完成后,打开浏览器访问 http://你的服务器IP,就能看到前台页面。后台地址是 http://你的服务器IP/admin-center。第一次登录的账号密码需要根据项目文档或启动日志确认,建议登录后立即修改。
三、配置详解
进阶 · 推荐细读
上一节提到的 .env 文件里有很多变量,这里挑几个重要的说明。
| 变量名 | 用途 | 是否必须修改 |
|---|---|---|
APP_KEYS |
应用密钥,用于加密 Cookie 等敏感数据 | 生产环境必须改 |
SESSION_SECRET |
会话密钥,防止用户登录状态被伪造 | 生产环境必须改 |
| 数据库密码 | MongoDB 或 MariaDB 的连接密码 | 生产环境必须改 |
| 数据库名/用户名 | 数据库连接信息 | 按需修改 |
数据卷与持久化
Docker 容器一旦删除,容器内部的文件会消失。但 DoraCMS 的数据库和上传文件通常存储在 Docker 卷(Volume)中,这相当于一个外接硬盘,容器删了数据还在。你可以用 docker volume ls 查看自动创建的卷。建议不要手动删除这些卷,否则文章和图片会丢失。
端口说明
默认情况下 Nginx 监听 80(HTTP)和 443(HTTPS)端口。如果服务器上已经有其他网站占用了 80 端口,你需要修改 docker-compose 配置文件里的端口映射,比如把 80:80 改成 8080:80,然后通过 http://服务器IP:8080 访问。
四、功能导览
入门
进入后台后,你会看到左侧菜单,主要功能都集中在这里。

内容管理
这是最常用的模块,你可以在这里创建文章、分类、标签,设置封面图和发布时间。操作逻辑类似 WordPress,但界面更简洁。编辑文章时支持富文本和 Markdown 两种方式,满足不同习惯。

AI 内容发布
这是 DoraCMS 的特色功能。在写文章时,可以输入关键词或主题,系统会调用你事先配置好的 AI 模型接口,自动生成一段正文。生成的内容只是初稿,你需要自己审核和修改,避免直接发布不准确的信息。

模型管理
在使用 AI 功能之前,你需要先在这里添加一个 AI 模型,填写模型提供商的 API 地址和密钥。常见的如 OpenAI、通义千问等都支持自定义接口地址,具体参数可以参考对应平台的文档。
用户中心
前台用户可以注册、登录,查看自己的文章和评论。管理员可以在后台管理用户权限,设置哪些用户能发布内容、哪些只能浏览。
五、常见问题与运维建议
进阶 · 推荐细读
端口冲突怎么办?
如果 80 或 443 端口被占用,最简单的办法是修改 docker-compose 里的端口映射。找到 ports 部分,把左侧的宿主机端口改成未占用的端口,例如 8080:80。然后重启容器即可。
如何配置 HTTPS?
生产环境建议启用 HTTPS,否则浏览器会提示“不安全”。你可以把 DoraCMS 放在 Nginx 反向代理后面。反向代理就像一个前台接待,所有外部请求先经过它,再由它转发给后台服务。Nginx 配置示例如下:
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/ssl/certs/your-cert.pem;
ssl_certificate_key /etc/ssl/private/your-key.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
把 proxy_pass 指向你实际映射的端口即可。SSL 证书可以用 Let's Encrypt 免费申请,网上有很多教程,这里不展开。
数据备份怎么做?
最稳妥的方式是备份数据库。如果你用的是 MongoDB,可以通过 mongodump 命令导出;如果是 MariaDB,可以用 mysqldump。同时也要备份 .env 文件和上传的图片目录(通常在 Docker 卷中)。建议设置定时任务,每天自动备份一次。
项目如何升级?
升级前务必先备份数据库和 .env。然后进入项目目录,拉取最新代码,重新构建镜像并重启容器。
git pull
docker compose build
docker compose up -d
升级后检查后台是否能正常登录,AI 模型配置是否还在。如果遇到问题,可以查看容器日志定位原因:docker compose logs -f。
完成以上步骤后,你已经拥有了一个功能完整的 CMS 网站。下一步可以探索主题定制、用户权限细分,或者接入更多 AI 模型,让内容生产更高效。
项目信息
| 项目 | 值 |
|---|---|
| 仓库 | doramart/DoraCMS |
| 语言 | JavaScript |
| Star | 3,542 |
| Fork | 1,034 |
| 主页 | https://www.doracms.net |
参考链接
延伸阅读
想继续探索?这些同领域的教程可能也适合你:
121
72
1
1345
文章目录
评论