Files
ai-contract-platform/deploy/README.md
T
yuqei b7073d9c5b feat: enhance production deployment configuration and documentation
- Update .env.example with production-ready environment variables
- Add frontend Aliyun deployment configuration with nginx gateway
- Refactor docker-compose.server.yml for external services
- Add comprehensive deployment guide (docs/DEPLOYMENT.md)
- Enhance troubleshooting documentation with Git Bash path issues
- Add deployment scripts (build-frontend.sh, deploy-frontend.sh)
- Add deploy directory with docker-compose and nginx config
- Update .gitignore to exclude temporary directories

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-18 22:27:00 +08:00

117 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI Contract Platform 部署说明
## 部署架构
与 hyburk.com 部署方式一致,采用前后端分离部署:
| 组件 | 部署位置 | 目录 | 说明 |
|------|---------|------|------|
| 前端 Next.js | 阿里云 ECS | `/opt/apps/ai-contract-web` | nginx gateway + Next.js 容器 |
| 后端 FastAPI | 192.168.3.90 | `/opt/apps/ai-contract-platform` | backend + worker + redis |
| 后端 Gateway | 192.168.3.90 | `/opt/apps/ai-contract-platform-gateway` | nginx 代理 API |
| 共享 PostgreSQL | 192.168.3.90 | - | 端口 5432 |
| 共享 Redis | 192.168.3.90 | - | 端口 6379 |
| 共享 MinIO | 192.168.3.90 | - | 端口 9000 |
**域名**: `contact.yuqei.com`
**流量路径**:
```
contact.yuqei.com → 阿里云 nginx (127.0.0.1:18083)
├── /api/ → 后端服务器 10.20.0.11:18083 → backend:8000
├── /health → 后端服务器 health check
└── 其他 → 阿里云 Next.js 容器:3000
```
## 配置文件说明
| 文件 | 用途 |
|------|------|
| `docker-compose.server.yml` | 后端服务器部署(192.168.3.90) |
| `docker-compose.frontend.aliyun.yml` | 前端阿里云部署模板 |
| `deploy/web-gateway.conf` | 阿里云 nginx 配置(前端 gateway) |
| `.env.example` | 后端环境变量模板 |
## 阿里云前端部署目录结构
```
/opt/apps/ai-contract-web/
├── releases/
│ └── YYYYMMDDHHMMSS/
│ ├── docker-compose.yml # 使用 docker-compose.frontend.aliyun.yml
│ ├── nginx/
│ │ └── web-gateway.conf # nginx 配置
│ └── app/ # 前端代码(从 frontend/ 复制)
│ ├── Dockerfile
│ └── ... (Next.js 项目文件)
├── current → releases/YYYYMMDDHHMMSS # 软链接指向当前版本
└── logs/
└── nginx/
```
## 后端服务器部署目录结构
```
/opt/apps/ai-contract-platform/
├── docker-compose.server.yml
├── .env
├── backend/
│ ├── Dockerfile
│ └── ... (FastAPI 项目文件)
└── frontend/ # 可选,本地开发用
```
## 部署步骤
### 1. 后端部署(192.168.3.90)
```bash
cd /opt/apps/ai-contract-platform
git pull
docker compose -f docker-compose.server.yml up -d --build
```
### 2. 前端部署(阿里云)
```bash
# 创建发布目录
TIMESTAMP=$(date +%Y%m%d%H%M%S)
mkdir -p /opt/apps/ai-contract-web/releases/$TIMESTAMP
cd /opt/apps/ai-contract-web/releases/$TIMESTAMP
# 复制配置和代码
cp docker-compose.yml . # 来自项目 docker-compose.frontend.aliyun.yml
mkdir -p nginx app
cp web-gateway.conf nginx/ # 来自项目 deploy/web-gateway.conf
cp -r frontend/* app/ # 复制前端代码
# 构建和启动
docker compose up -d --build
# 更新软链接
ln -sfn /opt/apps/ai-contract-web/releases/$TIMESTAMP /opt/apps/ai-contract-web/current
```
### 3. 验证
```bash
# 后端健康检查
curl http://10.20.0.11:18083/health
# 前端健康检查
curl http://127.0.0.1:18083/healthz
# 完整检查
curl http://contact.yuqei.com/health
```
## 端口说明
| 端口 | 服务 | 位置 |
|------|------|------|
| 18083 | 前端 nginx gateway | 阿里云 127.0.0.1 |
| 18083 | 后端 nginx gateway | 192.168.3.90 10.20.0.11 |
| 8001 | 后端 FastAPI | 192.168.3.90 |
| 5432 | PostgreSQL | 192.168.3.90 |
| 6379 | Redis | 192.168.3.90 |
| 9000 | MinIO | 192.168.3.90 |