docs(deploy): Update deployment documentation for Node.js backend
Summary: - Created Node.js backend Docker image build guide - Updated deployment progress overview with backend status - Updated system status documentation Backend build achievements: - Fixed 200+ TypeScript compilation errors (200+ to 0) - Completed Prisma reverse sync (32 models from RDS) - Manually added 30+ Prisma relation fields - Successfully built Docker image (838MB) - Pushed image to ACR (v1.0 + latest tags) Documentation updates: - Added 10-Node.js后端-Docker镜像构建手册.md - Updated 00-部署进度总览.md with backend deployment status - Updated 00-系统当前状态与开发指南.md with latest progress - Fixed date format (2024 -> 2025) Next steps: - Deploy Node.js backend to SAE - Configure environment variables - Test end-to-end functionality Status: Backend Docker image ready for SAE deployment
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# 🚀 AI临床研究平台 - 部署进度总览
|
||||
|
||||
> **文档用途**:统一展示项目部署状态、资源信息、操作手册索引
|
||||
> **更新时间**:2024-12-24
|
||||
> **更新时间**:2025-12-24
|
||||
> **维护人员**:开发团队
|
||||
|
||||
---
|
||||
@@ -10,10 +10,10 @@
|
||||
|
||||
| 服务名称 | 部署状态 | 镜像版本 | 部署位置 | 完成时间 | 操作文档 |
|
||||
|---------|---------|---------|---------|---------|---------|
|
||||
| **PostgreSQL数据库** | ✅ 已完成 | PostgreSQL 15 | RDS | 2024-12-24 | [08-PostgreSQL数据库部署操作手册.md](./08-PostgreSQL数据库部署操作手册.md) |
|
||||
| **前端Nginx服务** | ✅ 已完成 | v1.0 | SAE(待部署) | 2024-12-24 | [07-前端Nginx-SAE部署操作手册.md](./07-前端Nginx-SAE部署操作手册.md) |
|
||||
| **Python微服务** | ✅ 已完成 | v1.0 | SAE(轻量版) | 2024-12-24 | [09-Python微服务-SAE部署操作手册.md](./09-Python微服务-SAE部署操作手册.md) |
|
||||
| **Node.js后端** | ⏳ 待开始 | - | - | - | - |
|
||||
| **PostgreSQL数据库** | ✅ 已完成 | PostgreSQL 15 | RDS | 2025-12-24 | [08-PostgreSQL数据库部署操作手册.md](./08-PostgreSQL数据库部署操作手册.md) |
|
||||
| **前端Nginx服务** | ✅ 已完成 | v1.0 | SAE(待部署) | 2025-12-24 | [07-前端Nginx-SAE部署操作手册.md](./07-前端Nginx-SAE部署操作手册.md) |
|
||||
| **Python微服务** | ✅ 已完成 | v1.0 | SAE(轻量版) | 2025-12-24 | [09-Python微服务-SAE部署操作手册.md](./09-Python微服务-SAE部署操作手册.md) |
|
||||
| **Node.js后端** | ✅ 已完成 | v1.0 | SAE(待部署) | 2025-12-24 | [10-Node.js后端-Docker镜像构建手册.md](./10-Node.js后端-Docker镜像构建手册.md) |
|
||||
| **Dify AI服务** | ⏳ 待开始 | - | - | - | - |
|
||||
|
||||
**图例说明**:
|
||||
@@ -40,7 +40,7 @@
|
||||
|---------|---------|---------|---------|---------|
|
||||
| **python-extraction** | v1.0 | 1.12GB | `crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:v1.0` | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:v1.0` |
|
||||
| **ai-clinical_frontend-nginx** | v1.0 | ~50MB | `crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0` | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0` |
|
||||
| **nodejs-backend** | - | - | `crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend` | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend` |
|
||||
| **backend-service** | v1.0 | 838MB | `crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.0` | `crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.0` |
|
||||
|
||||
---
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
| `common_schema` | 公共模块 | 0 | 预留 |
|
||||
| `information_schema` | 系统元数据 | - | PostgreSQL标准 |
|
||||
|
||||
**关键数据量**(截至2024-12-24):
|
||||
**关键数据量**(截至2025-12-24):
|
||||
- 用户:3条
|
||||
- AI项目:2条
|
||||
- 文献:1204条
|
||||
@@ -125,7 +125,7 @@ postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyun
|
||||
| 应用名称 | 状态 | 规格 | 实例数 | 端口 | 内网地址 | 公网地址 |
|
||||
|---------|------|------|-------|------|---------|---------|
|
||||
| **python-extraction-test** | ✅ 运行中 | 1核2GB | 1 | 8000 | `http://172.17.173.66:8000` | 无(仅内网) |
|
||||
| **nodejs-backend** | 待构建 | 2核4GB | 1 | 3001 | 待部署后填写 | 待部署后填写 |
|
||||
| **nodejs-backend-test** | 镜像已推送 | 1核2GB | 1 | 3001 | 待部署后填写 | 待部署后填写 |
|
||||
| **frontend-nginx** | 镜像已推送 | 1核2GB | 1 | 80 | 待部署后填写 | 待部署后填写 |
|
||||
|
||||
---
|
||||
@@ -189,16 +189,19 @@ AIclinicalresearch/extraction_service/
|
||||
VPC:crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:v1.0
|
||||
```
|
||||
|
||||
**Node.js后端**(待构建):
|
||||
**Node.js后端**:
|
||||
```
|
||||
AIclinicalresearch/backend/
|
||||
├── Dockerfile ⏳ 待创建
|
||||
├── .dockerignore ⏳ 待创建
|
||||
└── (配置文件) ⏳ 待确认
|
||||
├── Dockerfile ✅ 已提交Git(改进版方案B:本地编译+Docker打包)
|
||||
├── .dockerignore ✅ 已提交Git(优化构建上下文)
|
||||
├── prisma/schema.prisma ✅ 已同步RDS(32个模型+30+关系字段)
|
||||
└── tsconfig.json ✅ 已优化(排除测试文件)
|
||||
|
||||
镜像存储位置(预留):
|
||||
公网:crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend:v1.0
|
||||
VPC:crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/nodejs-backend:v1.0
|
||||
镜像存储位置:
|
||||
公网:crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.0
|
||||
VPC:crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.0
|
||||
|
||||
镜像摘要:sha256:a4ffb61c15af1cd1ed9de187b4464a1aab773918e5b41b4df5b8ad96514f9941
|
||||
```
|
||||
|
||||
**Git提交规范**:
|
||||
@@ -218,7 +221,7 @@ VPC:crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/
|
||||
### 3.1 PostgreSQL数据库
|
||||
|
||||
**部署概要**:
|
||||
- **部署时间**:2024-12-24
|
||||
- **部署时间**:2025-12-24
|
||||
- **部署方式**:`pg_dump` 全量导出 → RDS导入
|
||||
- **数据迁移时长**:约12秒(90MB SQL文件)
|
||||
- **验证状态**:✅ Schema完整、数据一致、关系正确
|
||||
@@ -256,7 +259,7 @@ docker run --name ai-clinical-postgres \
|
||||
- **镜像版本**:`v1.0`
|
||||
- **镜像大小**:约50MB
|
||||
- **基础镜像**:`nginx:alpine`
|
||||
- **构建时间**:2024-12-24
|
||||
- **构建时间**:2025-12-24
|
||||
|
||||
**镜像功能**:
|
||||
- ✅ 托管React单页应用(SPA)
|
||||
@@ -292,14 +295,95 @@ docker run --name ai-clinical-postgres \
|
||||
|
||||
---
|
||||
|
||||
### 3.3 Python微服务
|
||||
### 3.3 Node.js后端服务
|
||||
|
||||
**镜像信息**:
|
||||
- **仓库名称**:`backend-service`
|
||||
- **镜像版本**:`v1.0`
|
||||
- **镜像大小**:838MB (压缩后 ~186MB)
|
||||
- **基础镜像**:`node:alpine`
|
||||
- **构建时间**:2025-12-24
|
||||
- **构建策略**:改进版方案B(本地编译+Docker打包)
|
||||
|
||||
**构建成果**:
|
||||
- ✅ TypeScript编译成功(0错误,修复200+个错误)
|
||||
- ✅ Prisma Schema已同步RDS(32个模型)
|
||||
- ✅ 手动补全30+个关系字段
|
||||
- ✅ 镜像已推送到ACR(v1.0 + latest)
|
||||
|
||||
**技术架构**:
|
||||
- **Node.js版本**:22.x
|
||||
- **Prisma版本**:6.17.0
|
||||
- **ORM**:Prisma(支持多Schema)
|
||||
- **Web框架**:Fastify
|
||||
- **队列系统**:pg-boss(Postgres-Only架构)
|
||||
- **缓存系统**:PostgreSQL(替代Redis)
|
||||
|
||||
**构建产物**:
|
||||
- **Dockerfile**:`AIclinicalresearch/backend/Dockerfile`
|
||||
- **.dockerignore**:`AIclinicalresearch/backend/.dockerignore`
|
||||
- **Prisma Schema**:`AIclinicalresearch/backend/prisma/schema.prisma`
|
||||
|
||||
**SAE配置建议**:
|
||||
- **CPU/内存**:1核 / 2GB(测试环境)
|
||||
- **实例数**:1
|
||||
- **端口**:3001
|
||||
- **健康检查**:`GET /health` 返回200
|
||||
- **环境变量**(关键配置):
|
||||
```bash
|
||||
NODE_ENV=production
|
||||
PORT=3001
|
||||
DATABASE_URL=postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research?connection_limit=18&pool_timeout=10
|
||||
|
||||
# Python微服务地址
|
||||
PYTHON_SERVICE_URL=http://172.17.173.66:8000
|
||||
|
||||
# OSS配置
|
||||
OSS_ACCESS_KEY_ID=LTAI5tB2Dt3NdvBL3G7nYGv7
|
||||
OSS_ACCESS_KEY_SECRET=1iSN9k39RkApP93QjUhC1DcPIeMG4V
|
||||
OSS_BUCKET=ai-clinical-research
|
||||
OSS_ENDPOINT=oss-cn-beijing-internal.aliyuncs.com
|
||||
|
||||
# JWT密钥
|
||||
JWT_SECRET=your-secret-key-change-in-production
|
||||
JWT_EXPIRES_IN=7d
|
||||
|
||||
# LLM API Keys
|
||||
DEEPSEEK_API_KEY=sk-7f8cc37a79fa4799860b38fc7ba2e150
|
||||
DASHSCOPE_API_KEY=sk-75b4ff29a14a49e79667a331034f3298
|
||||
|
||||
# 队列和缓存(Postgres-Only)
|
||||
QUEUE_TYPE=pgboss
|
||||
CACHE_TYPE=postgres
|
||||
```
|
||||
|
||||
**操作文档**:
|
||||
- [10-Node.js后端-Docker镜像构建手册.md](./10-Node.js后端-Docker镜像构建手册.md) - 镜像构建详细步骤
|
||||
- [05-Node.js后端-SAE容器部署指南.md](./05-Node.js后端-SAE容器部署指南.md) - SAE部署技术指南
|
||||
|
||||
**部署状态**:
|
||||
- ✅ Prisma反向同步完成(32个模型)
|
||||
- ✅ TypeScript编译成功(修复200+错误)
|
||||
- ✅ Docker镜像构建成功
|
||||
- ✅ 镜像已推送至ACR
|
||||
- ⏳ 待部署到SAE
|
||||
|
||||
**关键突破**:
|
||||
1. ✅ 解决了Prisma `db pull` 后缺少关系字段的问题(手动补全30+个)
|
||||
2. ✅ 修复了TypeScript类型错误(JSON、Buffer、pg-boss等)
|
||||
3. ✅ 优化了Docker构建策略(本地编译,避免网络超时)
|
||||
4. ✅ 实现了零编译错误(200+ → 0)
|
||||
|
||||
---
|
||||
|
||||
### 3.4 Python微服务
|
||||
|
||||
**镜像信息**:
|
||||
- **仓库名称**:`python-extraction`
|
||||
- **镜像版本**:`v1.0`
|
||||
- **镜像大小**:1.12GB
|
||||
- **基础镜像**:`python:3-slim`
|
||||
- **构建时间**:2024-12-24
|
||||
- **构建时间**:2025-12-24
|
||||
|
||||
**功能模块**:
|
||||
- ✅ **PDF文本提取**:PyMuPDF 1.26.7
|
||||
@@ -369,7 +453,7 @@ docker run --name ai-clinical-postgres \
|
||||
http://172.17.173.66:8000
|
||||
```
|
||||
|
||||
**部署时间**:2024-12-24
|
||||
**部署时间**:2025-12-24
|
||||
**健康检查**:✅ 通过
|
||||
|
||||
---
|
||||
@@ -482,7 +566,7 @@ docker exec ai-clinical-postgres pg_dump \
|
||||
> "backup_$(date +%Y%m%d_%H%M%S).sql"
|
||||
|
||||
# 导入到RDS(需临时开启外网)
|
||||
cat backup_20241224_154529.sql | \
|
||||
cat backup_20251224_154529.sql | \
|
||||
docker exec -i -e PGPASSWORD="Xibahe@fengzhibo117" \
|
||||
ai-clinical-postgres psql \
|
||||
-h pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com \
|
||||
@@ -557,12 +641,12 @@ aliyun sae DeployApplication \
|
||||
1. ✅ **基础设施**:VPC、NAT网关、安全组
|
||||
2. ✅ **数据库**:RDS PostgreSQL(数据迁移+验证)
|
||||
3. ✅ **对象存储**:OSS Bucket创建+权限配置
|
||||
4. 🔄 **后端服务**:
|
||||
- Python微服务(文档提取+数据清洗)
|
||||
- Node.js后端(API服务器)
|
||||
5. 🔄 **前端服务**:Nginx静态资源托管
|
||||
6. 🔄 **AI服务**:Dify部署
|
||||
7. 🔄 **验证测试**:全链路功能验证
|
||||
4. ✅ **后端服务**:
|
||||
- ✅ Python微服务(文档提取+数据清洗)- 已部署到SAE
|
||||
- ✅ Node.js后端(API服务器)- 镜像已构建,待部署
|
||||
5. ⏳ **前端服务**:Nginx静态资源托管 - 镜像已推送,待部署
|
||||
6. ⏳ **AI服务**:Dify部署
|
||||
7. ⏳ **验证测试**:全链路功能验证
|
||||
|
||||
**依赖关系**:
|
||||
```
|
||||
@@ -641,7 +725,10 @@ aliyun sae DescribeApplicationInstances --AppId xxx
|
||||
### 高优先级 🔴
|
||||
- [x] **Python微服务**:部署到SAE并验证 ✅ 已完成
|
||||
- [x] **Python微服务**:创建SAE部署操作手册 ✅ 已完成
|
||||
- [ ] **Node.js后端**:Docker镜像构建
|
||||
- [x] **Node.js后端**:Docker镜像构建 ✅ 已完成(2025-12-24)
|
||||
- [x] **Node.js后端**:Prisma反向同步 ✅ 已完成(32个模型)
|
||||
- [x] **Node.js后端**:TypeScript编译修复 ✅ 已完成(修复200+错误)
|
||||
- [x] **Node.js后端**:镜像推送到ACR ✅ 已完成
|
||||
- [ ] **Node.js后端**:部署到SAE
|
||||
- [ ] **Node.js后端**:配置环境变量(Python服务地址)
|
||||
|
||||
@@ -669,11 +756,12 @@ aliyun sae DescribeApplicationInstances --AppId xxx
|
||||
- [07-前端Nginx-SAE部署操作手册.md](./07-前端Nginx-SAE部署操作手册.md) - 前端Nginx部署步骤
|
||||
- [08-PostgreSQL数据库部署操作手册.md](./08-PostgreSQL数据库部署操作手册.md) - PostgreSQL部署步骤
|
||||
- [09-Python微服务-SAE部署操作手册.md](./09-Python微服务-SAE部署操作手册.md) - Python微服务部署步骤
|
||||
- 待创建:Node.js后端SAE部署操作手册
|
||||
- [10-Node.js后端-Docker镜像构建手册.md](./10-Node.js后端-Docker镜像构建手册.md) - Node.js后端Docker构建详解
|
||||
|
||||
### 技术架构文档
|
||||
- [00-部署架构总览.md](./00-部署架构总览.md) - 架构设计与技术选型
|
||||
- [04-Python微服务-SAE容器部署指南.md](./04-Python微服务-SAE容器部署指南.md) - Python服务技术详解
|
||||
- [05-Node.js后端-SAE容器部署指南.md](./05-Node.js后端-SAE容器部署指南.md) - Node.js后端技术详解
|
||||
- [06-前端Nginx-SAE容器部署指南.md](./06-前端Nginx-SAE容器部署指南.md) - 前端Nginx技术详解
|
||||
|
||||
### 分析报告
|
||||
@@ -683,7 +771,7 @@ aliyun sae DescribeApplicationInstances --AppId xxx
|
||||
|
||||
## 🔄 八、更新日志
|
||||
|
||||
### 2024-12-24
|
||||
### 2025-12-24
|
||||
- ✅ PostgreSQL数据库部署完成
|
||||
- ✅ 前端Nginx Docker镜像构建并推送至ACR
|
||||
- ✅ Python微服务Docker镜像构建并推送至ACR
|
||||
@@ -691,6 +779,11 @@ aliyun sae DescribeApplicationInstances --AppId xxx
|
||||
- ✅ 创建Python微服务SAE部署操作手册(轻量版SAE配置)
|
||||
- ✅ Python微服务成功部署到SAE(内网地址:172.17.173.66:8000)
|
||||
- ✅ 解决ACR镜像拉取权限问题(配置镜像仓库认证)
|
||||
- ✅ Node.js后端Prisma反向同步完成(32个模型,手动补全30+关系字段)
|
||||
- ✅ Node.js后端TypeScript编译修复完成(修复200+错误→0错误)
|
||||
- ✅ Node.js后端Docker镜像构建成功(838MB,改进版方案B)
|
||||
- ✅ Node.js后端镜像推送至ACR(v1.0 + latest)
|
||||
- ✅ 创建Node.js后端Docker镜像构建手册
|
||||
|
||||
---
|
||||
|
||||
@@ -708,5 +801,5 @@ aliyun sae DescribeApplicationInstances --AppId xxx
|
||||
---
|
||||
|
||||
> **提示**:本文档会随着部署进度持续更新,请定期查看最新版本!
|
||||
> **最后更新**:2024-12-24
|
||||
> **最后更新**:2025-12-24
|
||||
|
||||
|
||||
Reference in New Issue
Block a user