MBE 完整部署指南
版本: 3.0.0 | 更新日期: 2026-02-01
本指南介绍如何部署 MBE 完整系统,包括所有前端应用、后端API、数据库和公网访问。
目录
前置要求
系统要求
| 项目 | 最低配置 | 推荐配置 |
|---|---|---|
| CPU | 4核 | 8核+ |
| 内存 | 8GB | 16GB+ |
| 磁盘 | 50GB | 100GB+ SSD |
| 操作系统 | Windows 10/11, Linux, macOS | - |
软件依赖
# 必须安装
- Docker Desktop (Windows/Mac) 或 Docker Engine (Linux)
- Docker Compose v2.0+
- Git
# 可选 (本地开发)
- Node.js 18+
- pnpm 8+
- Python 3.10+
验证安装
# 检查 Docker
docker --version
docker compose version
# 检查 Git
git --version
快速部署
一键部署开发环境
# 1. 克隆项目
git clone https://github.com/your-org/mises-behavior-engine.git
cd mises-behavior-engine
# 2. 配置环境变量
cp .env.development .env.development.local
# 编辑 .env.development.local,填入必要的 API 密钥
# 3. 运行部署脚本
.\scripts\deploy_complete_development.ps1
部署完成后
服务访问地址:
MBE API: http://localhost:8001
API 文档: http://localhost:8001/docs
Admin UI: http://localhost:3000
MBE Education: http://localhost:3011
AIGC Committee: http://localhost:3012
Civil Lawyer: http://localhost:3014
PostgreSQL: localhost:5433
Redis: localhost:6380
开发环境部署
环境变量配置
创建 .env.development 文件:
# ==============================================
# MBE 开发环境配置
# ==============================================
# 环境标识
ENVIRONMENT=development
NODE_ENV=development
# 端口配置 - 开发版 (避免与生产冲突)
API_PORT=8001
ADMIN_PORT=3000
EDUCATION_PORT=3011
AIGC_PORT=3012
LAWYER_PORT=3014
POSTGRES_PORT=5433
REDIS_PORT=6380
# 数据库配置
DB_PASSWORD=mbe_dev_password_2026
# LLM 配置
LLM_PROVIDER=deepseek
LLM_API_KEY=sk-your-deepseek-api-key-here
LLM_MODEL=deepseek-chat
# 安全配置
SECRET_KEY=dev-secret-key-change-in-production-min-32-chars
# 功能开关
MBE_CRITIQUE_ENABLED=true
MBE_USE_RESILIENT_LLM=true
部署步骤
方式一:使用部署脚本(推荐)
# 运行开发部署脚本
.\scripts\deploy_complete_development.ps1
脚本会自动:
- 检查 Docker 运行状态
- 停止旧容器
- 构建所有镜像
- 启动所有服务
- 等待服务初始化
- 显示访问地址
方式二:手动部署
# 1. 构建镜像
docker build -f Dockerfile -t mbe-api:development .
docker build -f admin-ui/Dockerfile -t mbe-admin-ui:development admin-ui
docker build -f opensource/Dockerfile.frontend --build-arg APP_NAME=mbe-education --build-arg PORT=3001 -t mbe-education-frontend:development .
docker build -f opensource/Dockerfile.frontend --build-arg APP_NAME=mbe-aigc-committee --build-arg PORT=3002 -t mbe-aigc-committee-frontend:development .
docker build -f opensource/Dockerfile.frontend --build-arg APP_NAME=mbe-civil-lawyer --build-arg PORT=3004 -t mbe-civil-lawyer-frontend:development .
# 2. 启动服务
docker compose -f docker-compose.complete.yml --env-file .env.development up -d
# 3. 查看状态
docker compose -f docker-compose.complete.yml ps
验证部署
# 检查 API 健康状态
curl http://localhost:8001/health
# 检查前端应用
curl http://localhost:3011 # MBE Education
curl http://localhost:3012 # AIGC Committee
curl http://localhost:3014 # Civil Lawyer
生产环境部署
环境变量配置
创建 .env.production 文件:
# ==============================================
# MBE 生产环境配置
# ==============================================
# 环境标识
ENVIRONMENT=production
NODE_ENV=production
# 端口配置 - 生产版
API_PORT=8000
ADMIN_PORT=3000
EDUCATION_PORT=3001
AIGC_PORT=3002
LAWYER_PORT=3004
POSTGRES_PORT=5432
REDIS_PORT=6379
# 域名配置
ADMIN_API_URL=https://mbe.hi-maker.com
EDUCATION_API_URL=https://mbe.hi-maker.com
AIGC_API_URL=https://mbe.hi-maker.com
LAWYER_API_URL=https://mbe.hi-maker.com
# Cloudflare Tunnel Token (从 Cloudflare Dashboard 获取)
CLOUDFLARE_TUNNEL_TOKEN=eyJhIjoixxxxxx-your-token-xxxxxx
# 数据库配置 (使用强密码)
DB_PASSWORD=your-super-strong-production-password
# LLM 配置
LLM_PROVIDER=deepseek
LLM_API_KEY=sk-your-production-api-key
LLM_MODEL=deepseek-chat
# 安全配置 (至少32字符)
SECRET_KEY=your-production-secret-key-at-least-32-characters
部署步骤
# 1. 配置环境变量
cp .env.production .env.production.local
# 编辑填入真实的 API 密钥和 Cloudflare Token
# 2. 运行生产部署脚本
.\scripts\deploy_complete_production.ps1
生产访问地址
| 服务 | 域名 |
|---|---|
| MBE API | https://mbe.hi-maker.com |
| Admin UI | https://admin.hi-maker.com |
| MBE Education | https://edu.hi-maker.com |
| AIGC Committee | https://aigc.hi-maker.com |
| Civil Lawyer | https://lawyer.hi-maker.com |
Cloudflare Tunnel 配置
获取 Tunnel Token
- 登录 Cloudflare Dashboard
- 进入 Networks → Tunnels
- 创建新 Tunnel 或选择已有 Tunnel
- 复制 Tunnel Token
配置公共主机名
在 Cloudflare Dashboard 中为 Tunnel 添加公共主机名:
| 主机名 | 服务 | URL |
|---|---|---|
| mbe.hi-maker.com | MBE API | http://mbe-api:8000 |
| admin.hi-maker.com | Admin UI | http://mbe-admin-ui:3000 |
| edu.hi-maker.com | Education | http://mbe-education:3001 |
| aigc.hi-maker.com | AIGC | http://mbe-aigc-committee:3002 |
| lawyer.hi-maker.com | Lawyer | http://mbe-civil-lawyer:3004 |
验证 Tunnel
# 检查 Tunnel 容器状态
docker logs mbe-cloudflare-tunnel
# 测试公网访问
curl https://mbe.hi-maker.com/health
常用命令
Docker 服务管理
# 查看所有服务状态
docker compose -f docker-compose.complete.yml ps
# 查看日志
docker compose -f docker-compose.complete.yml logs -f # 所有服务
docker compose -f docker-compose.complete.yml logs -f mbe-api # 特定服务
# 重启服务
docker compose -f docker-compose.complete.yml restart mbe-api
# 停止所有服务
docker compose -f docker-compose.complete.yml down
# 停止并删除数据卷
docker compose -f docker-compose.complete.yml down -v
镜像管理
# 列出 MBE 相关镜像
docker images | Select-String "mbe-"
# 重新构建特定镜像
docker build -f opensource/Dockerfile.frontend --build-arg APP_NAME=mbe-education -t mbe-education-frontend:development .
# 清理未使用的镜像
docker image prune -f
数据库操作
# 连接 PostgreSQL
docker exec -it mbe-postgres psql -U mbe -d mbe
# 备份数据库
docker exec mbe-postgres pg_dump -U mbe mbe > backup.sql
# 恢复数据库
docker exec -i mbe-postgres psql -U mbe mbe < backup.sql
Redis 操作
# 连接 Redis
docker exec -it mbe-redis redis-cli
# 查看所有键
docker exec mbe-redis redis-cli KEYS "*"
故障排除
问题:端口被占用
# 查找占用端口的进程
netstat -ano | findstr :8001
# 杀死进程
taskkill /PID <进程ID> /F
问题:Docker 构建失败
# 清理 Docker 缓存
docker system prune -f
# 重新构建(不使用缓存)
docker build --no-cache -f Dockerfile -t mbe-api:development .
问题:容器无法启动
# 查看容器日志
docker logs mbe-api
# 检查容器详情
docker inspect mbe-api
问题:数据库连接失败
# 检查数据库容器
docker logs mbe-postgres
# 验证数据库健康
docker exec mbe-postgres pg_isready -U mbe
问题:前端应用无响应
# 检查前端容器日志
docker logs mbe-education
# 检查网络连通性
docker exec mbe-education ping mbe-api
问题:Cloudflare Tunnel 断连
# 重启 Tunnel 容器
docker restart mbe-cloudflare-tunnel
# 检查 Token 是否正确
docker logs mbe-cloudflare-tunnel
资源优化
内存限制
在 docker-compose.complete.yml 中添加资源限制:
services:
mbe-api:
deploy:
resources:
limits:
memory: 2G
reservations:
memory: 512M
日志轮转
services:
mbe-api:
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
下一步
文档版本: 3.0.0 最后更新: 2026-02-01