DoraCMS 是一个基于 EggJS 3.x + Vue 3 + TypeScript 的现代化内容管理系统,采用 pnpm monorepo 架构管理。它不仅仅是一个 CMS 系统,更是一个优秀的企业级应用架构实践。
See the code📦 GitHub: doramart/DoraCMS | 📖 文档: www.doracms.net | 🌐 English: README.en.md
一个基于 EggJS 3.x + Vue 3 + TypeScript 的现代化内容管理系统,采用 pnpm monorepo 架构管理。
doracms 密码 Hello985





本项目采用 pnpm monorepo 架构,包含多个相关模块:
doracms/
├── server/ # EggJS 后端服务
├── client/
│ ├── user-center/ # Vue3 用户前端
│ └── admin-center/ # Vue3 + TypeScript 管理后台
├── packages/ # 🆕 独立发布的 npm 包
│ ├── sdk-js/ # @doracms/sdk (计划中)
│ ├── types/ # @doracms/types (计划中)
│ ├── cli/ # doracms-cli (已发布)
│ └── utils/ # @doracms/utils (计划中)
└── package.json # 根目录配置
📚 详细的 monorepo 结构说明请参考 MONOREPO_STRUCTURE.md
localeDetector 中间件,自动根据 URL、Cookie 与 Accept-Language 选择语言,并同步到 session。common.*、template.*、mail.* 等),可在 server/config/locale 中扩展。ctx.locale,保持页面渲染与接口返回一致。# 克隆项目
git clone https://github.com/doramart/DoraCMS.git
cd DoraCMS
# 安装所有项目依赖
pnpm install
# 同时启动服务端和用户前端
pnpm dev
# 启动所有项目(并行)
pnpm dev:all
# 单独启动项目
pnpm dev:server # 启动后端服务 (端口: 7001)
pnpm dev:user-center # 启动用户前端 (端口: 3000)
pnpm dev:admin-center # 启动管理后台 (端口: 5173)
# 构建所有项目
pnpm build
# 单独构建
pnpm build:server
pnpm build:user-center
pnpm build:admin-center
pnpm dev - 启动服务端 + 用户前端pnpm dev:all - 并行启动所有项目pnpm dev:server - 仅启动后端服务pnpm dev:user-center - 仅启动用户前端pnpm dev:admin-center - 仅启动管理后台pnpm build - 构建所有项目pnpm build:server - 构建后端pnpm build:user-center - 构建用户前端pnpm build:admin-center - 构建管理后台pnpm lint - 检查所有项目代码pnpm lint:server - 检查后端代码pnpm lint:user-center - 检查用户前端代码pnpm lint:admin-center - 检查管理后台代码pnpm format - 格式化所有代码pnpm clean - 清理所有 node_modulespnpm clean:server - 清理后端依赖pnpm clean:user-center - 清理用户前端依赖pnpm clean:admin-center - 清理管理后台依赖pnpm plugin:install - 安装服务端插件pnpm plugin:build - 构建插件pnpm plugin:clean - 清理插件📖 完整部署文档: Docker 部署指南
# 1. 克隆项目
git clone https://github.com/doramart/DoraCMS.git
cd DoraCMS
# 2. 使用快速启动脚本
./docker-quickstart.sh
# 或使用 Docker Compose
docker compose up -d
# 启动 MongoDB 模式
docker compose up -d
# 查看日志
docker compose logs -f eggcms-app
# 启动 MariaDB 模式
docker compose --profile mariadb up -d
# 查看日志
docker compose logs -f eggcms-app-mariadb
# 启用 Redis 缓存
docker compose --profile redis up -d
# 启用 Nginx 反向代理
docker compose --profile nginx up -d
# 完整堆栈 (MongoDB + Redis + Nginx)
docker compose --profile full up -d
# 完整堆栈 (MariaDB + Redis + Nginx)
docker compose --profile mariadb --profile redis --profile nginx up -d
# 复制环境变量模板
cp docker.env.example .env
# 编辑配置(重要:修改安全相关配置)
vim .env
⚠️ 生产环境必须修改的配置:
APP_KEYS - 应用密钥SESSION_SECRET - 会话密钥生成随机密钥:
# 使用 Node.js
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
# 或使用 OpenSSL
openssl rand -hex 32
💡 提示: 更多详细的 Docker 部署说明、数据持久化、健康检查、故障排除等内容,请查看 完整的 Docker 部署指南
欢迎提交 Pull Request 和 Issue!
欢迎加入我们的技术交流群,与其他开发者一起讨论和学习:
MIT License
# 为服务端添加依赖
pnpm --filter "./server" add package-name
# 为用户前端添加依赖
pnpm --filter "./client/user-center" add package-name
# 为管理后台添加依赖
pnpm --filter "./client/admin-center" add package-name
# 清理所有依赖并重新安装
pnpm clean
pnpm install
admin-center 需要 Node.js >= 18.20.0,如果版本不兼容,请使用 nvm 切换版本:
nvm use 18
# 或者
nvm install 18.20.0
nvm use 18.20.0
项目使用 ESLint 和 Prettier 进行代码规范检查和格式化。提交代码时会自动运行 lint-staged 进行检查。
88 followers · starred Jul 2016
27 followers · starred Nov 2017
13 followers · starred Nov 2018
DoraCMS 是一个基于 EggJS 3.x + Vue 3 + TypeScript 的现代化内容管理系统,采用 pnpm monorepo 架构管理。它不仅仅是一个 CMS 系统,更是一个优秀的企业级应用架构实践。
See the code📦 GitHub: doramart/DoraCMS | 📖 文档: www.doracms.net | 🌐 English: README.en.md
一个基于 EggJS 3.x + Vue 3 + TypeScript 的现代化内容管理系统,采用 pnpm monorepo 架构管理。
doracms 密码 Hello985





本项目采用 pnpm monorepo 架构,包含多个相关模块:
doracms/
├── server/ # EggJS 后端服务
├── client/
│ ├── user-center/ # Vue3 用户前端
│ └── admin-center/ # Vue3 + TypeScript 管理后台
├── packages/ # 🆕 独立发布的 npm 包
│ ├── sdk-js/ # @doracms/sdk (计划中)
│ ├── types/ # @doracms/types (计划中)
│ ├── cli/ # doracms-cli (已发布)
│ └── utils/ # @doracms/utils (计划中)
└── package.json # 根目录配置
📚 详细的 monorepo 结构说明请参考 MONOREPO_STRUCTURE.md
localeDetector 中间件,自动根据 URL、Cookie 与 Accept-Language 选择语言,并同步到 session。common.*、template.*、mail.* 等),可在 server/config/locale 中扩展。ctx.locale,保持页面渲染与接口返回一致。# 克隆项目
git clone https://github.com/doramart/DoraCMS.git
cd DoraCMS
# 安装所有项目依赖
pnpm install
# 同时启动服务端和用户前端
pnpm dev
# 启动所有项目(并行)
pnpm dev:all
# 单独启动项目
pnpm dev:server # 启动后端服务 (端口: 7001)
pnpm dev:user-center # 启动用户前端 (端口: 3000)
pnpm dev:admin-center # 启动管理后台 (端口: 5173)
# 构建所有项目
pnpm build
# 单独构建
pnpm build:server
pnpm build:user-center
pnpm build:admin-center
pnpm dev - 启动服务端 + 用户前端pnpm dev:all - 并行启动所有项目pnpm dev:server - 仅启动后端服务pnpm dev:user-center - 仅启动用户前端pnpm dev:admin-center - 仅启动管理后台pnpm build - 构建所有项目pnpm build:server - 构建后端pnpm build:user-center - 构建用户前端pnpm build:admin-center - 构建管理后台pnpm lint - 检查所有项目代码pnpm lint:server - 检查后端代码pnpm lint:user-center - 检查用户前端代码pnpm lint:admin-center - 检查管理后台代码pnpm format - 格式化所有代码pnpm clean - 清理所有 node_modulespnpm clean:server - 清理后端依赖pnpm clean:user-center - 清理用户前端依赖pnpm clean:admin-center - 清理管理后台依赖pnpm plugin:install - 安装服务端插件pnpm plugin:build - 构建插件pnpm plugin:clean - 清理插件📖 完整部署文档: Docker 部署指南
# 1. 克隆项目
git clone https://github.com/doramart/DoraCMS.git
cd DoraCMS
# 2. 使用快速启动脚本
./docker-quickstart.sh
# 或使用 Docker Compose
docker compose up -d
# 启动 MongoDB 模式
docker compose up -d
# 查看日志
docker compose logs -f eggcms-app
# 启动 MariaDB 模式
docker compose --profile mariadb up -d
# 查看日志
docker compose logs -f eggcms-app-mariadb
# 启用 Redis 缓存
docker compose --profile redis up -d
# 启用 Nginx 反向代理
docker compose --profile nginx up -d
# 完整堆栈 (MongoDB + Redis + Nginx)
docker compose --profile full up -d
# 完整堆栈 (MariaDB + Redis + Nginx)
docker compose --profile mariadb --profile redis --profile nginx up -d
# 复制环境变量模板
cp docker.env.example .env
# 编辑配置(重要:修改安全相关配置)
vim .env
⚠️ 生产环境必须修改的配置:
APP_KEYS - 应用密钥SESSION_SECRET - 会话密钥生成随机密钥:
# 使用 Node.js
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
# 或使用 OpenSSL
openssl rand -hex 32
💡 提示: 更多详细的 Docker 部署说明、数据持久化、健康检查、故障排除等内容,请查看 完整的 Docker 部署指南
欢迎提交 Pull Request 和 Issue!
欢迎加入我们的技术交流群,与其他开发者一起讨论和学习:
MIT License
# 为服务端添加依赖
pnpm --filter "./server" add package-name
# 为用户前端添加依赖
pnpm --filter "./client/user-center" add package-name
# 为管理后台添加依赖
pnpm --filter "./client/admin-center" add package-name
# 清理所有依赖并重新安装
pnpm clean
pnpm install
admin-center 需要 Node.js >= 18.20.0,如果版本不兼容,请使用 nvm 切换版本:
nvm use 18
# 或者
nvm install 18.20.0
nvm use 18.20.0
项目使用 ESLint 和 Prettier 进行代码规范检查和格式化。提交代码时会自动运行 lint-staged 进行检查。
88 followers · starred Jul 2016
27 followers · starred Nov 2017
13 followers · starred Nov 2018