MBE 完整部署指南

版本: 3.0.0 | 更新日期: 2026-02-01

本指南介绍如何部署 MBE 完整系统,包括所有前端应用、后端API、数据库和公网访问。

目录

  1. 前置要求
  2. 快速部署
  3. 开发环境部署
  4. 生产环境部署
  5. Cloudflare Tunnel配置
  6. 常用命令
  7. 故障排除

前置要求

系统要求

项目 最低配置 推荐配置
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

脚本会自动:

  1. 检查 Docker 运行状态
  2. 停止旧容器
  3. 构建所有镜像
  4. 启动所有服务
  5. 等待服务初始化
  6. 显示访问地址

方式二:手动部署

# 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

  1. 登录 Cloudflare Dashboard
  2. 进入 Networks → Tunnels
  3. 创建新 Tunnel 或选择已有 Tunnel
  4. 复制 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