docs(redcap): 重构REDCap文档体系并创建Docker部署操作手册
核心成果: 创建REDCap模块文档体系(4个分类目录) 完成《REDCap Docker部署操作手册》- 最核心文档 梳理从0到1的完整部署流程 明确Docker文件的可复用性 文档体系: - 00-模块概览/ 系统介绍、方案设计、决策报告 - 01-部署与配置/ 部署手册、问题排查(核心) - 02-系统配置与运维/ 日常管理(规划中) - 03-API对接与开发/ API开发、二次开发 - 04-参考资料/ 旧版文档存档 核心文档: 10-REDCap_Docker部署操作手册.md(最重要) - 完整的从0到1部署流程 - Docker文件复用说明和可复用性分析 - 3种环境差异配置(本地/ECS/医院) - 5大常见问题与解决方案 - 部署检查清单 - 日常维护命令 13-部署问题排查手册.md - 基于实际踩坑经验 - ERR_CONTENT_DECODING_FAILED - CRLF污染问题 - Base URL配置错误 - MySQL连接问题 Docker文件可复用性: 100%可复用(无需修改): - Dockerfile.redcap - docker-entrypoint.sh - config/php/php.ini - .gitattributes 需根据环境调整: - docker-compose.yml(端口、卷路径) - config/apache/redcap.conf(域名) - config/database.php(数据库连接) 文档重组: - 移动文档到对应分类目录 - 重命名为标准格式(数字前缀) - 旧版文档归档到参考资料 - 创建README快速入口 下一步: - Day 2: 开发REDCap API Adapter - 创建API使用指南 - 创建对接设计文档
This commit is contained in:
219
docs/03-业务模块/Redcap/00-模块概览/00-REDCap模块文档导航.md
Normal file
219
docs/03-业务模块/Redcap/00-模块概览/00-REDCap模块文档导航.md
Normal file
@@ -0,0 +1,219 @@
|
||||
# REDCap模块文档导航
|
||||
|
||||
**最后更新:** 2026-01-02
|
||||
**模块类型:** 第三方系统集成与二次开发
|
||||
**当前状态:** 本地Docker环境已部署,API Adapter开发中
|
||||
|
||||
---
|
||||
|
||||
## 📚 文档体系说明
|
||||
|
||||
REDCap是一个成熟的第三方EDC(电子数据采集)系统,本模块的工作重点是:
|
||||
1. **部署与配置**:在不同环境(开发/生产/医院)部署REDCap
|
||||
2. **API对接**:通过REDCap API与IIT Manager Agent集成
|
||||
3. **运维管理**:日常维护、备份、升级
|
||||
|
||||
因此,文档架构与自研模块(ASL、DC)不同,更侧重部署与集成。
|
||||
|
||||
---
|
||||
|
||||
## 📖 文档目录
|
||||
|
||||
### 1️⃣ **系统概览与决策**
|
||||
|
||||
#### [01-REDCap系统介绍与选型说明.md](./01-REDCap系统介绍与选型说明.md)
|
||||
- REDCap是什么?
|
||||
- 为什么选择REDCap?
|
||||
- REDCap的核心功能
|
||||
- REDCap在IIT Manager中的角色
|
||||
|
||||
#### [02-REDCap对接总体方案.md](./02-REDCap对接总体方案.md) ✅
|
||||
- 技术架构设计
|
||||
- API对接方案
|
||||
- 数据流转方案
|
||||
- 安全性设计
|
||||
|
||||
#### [03-REDCap对接风险评估与技术挑战分析.md](./03-REDCap对接风险评估与技术挑战分析.md) ✅
|
||||
- 技术风险评估
|
||||
- 实施难度分析
|
||||
- 替代方案对比
|
||||
- 最终决策建议
|
||||
|
||||
#### [04-生产环境部署决策报告_ECS_vs_SAE.md](./04-生产环境部署决策报告_ECS_vs_SAE.md) ✅
|
||||
- ECS vs SAE深度对比
|
||||
- 成本分析
|
||||
- 技术可行性
|
||||
- 最终选型:ECS
|
||||
|
||||
---
|
||||
|
||||
### 2️⃣ **部署与配置**
|
||||
|
||||
#### [10-本地开发环境部署完全指南.md](./10-本地开发环境部署完全指南.md) ⭐
|
||||
- **快速开始**(适合首次部署)
|
||||
- Docker环境准备
|
||||
- 一键部署脚本使用
|
||||
- 初始化配置
|
||||
- 验证测试
|
||||
- **关键参考文档!**
|
||||
|
||||
#### [11-生产环境部署完全指南_阿里云ECS.md](./11-生产环境部署完全指南_阿里云ECS.md) ⭐
|
||||
- **ECS服务器配置**
|
||||
- Docker镜像构建与推送
|
||||
- RDS MySQL配置
|
||||
- 域名与SSL证书
|
||||
- 安全组与防火墙
|
||||
- 生产环境检查清单
|
||||
- **生产部署必读!**
|
||||
|
||||
#### [12-医院私有化部署指南.md](./12-医院私有化部署指南.md) 🏥
|
||||
- 医院服务器环境要求
|
||||
- 内网部署方案
|
||||
- 数据安全与合规
|
||||
- 技术支持与培训
|
||||
|
||||
#### [13-部署问题排查手册.md](./13-部署问题排查手册.md) 🔧
|
||||
- 常见部署问题
|
||||
- 错误日志分析
|
||||
- 问题解决记录
|
||||
- 预防措施
|
||||
|
||||
---
|
||||
|
||||
### 3️⃣ **配置与管理**
|
||||
|
||||
#### [20-REDCap系统配置手册.md](./20-REDCap系统配置手册.md)
|
||||
- 基础配置(Base URL、邮件服务等)
|
||||
- 用户与权限管理
|
||||
- 项目创建与配置
|
||||
- 数据字典设计
|
||||
- 表单设计
|
||||
|
||||
#### [21-REDCap日常运维手册.md](./21-REDCap日常运维手册.md)
|
||||
- 日常维护任务
|
||||
- 备份与恢复
|
||||
- 性能监控
|
||||
- 日志管理
|
||||
- 故障处理流程
|
||||
|
||||
#### [22-REDCap升级指南.md](./22-REDCap升级指南.md)
|
||||
- 版本升级流程
|
||||
- 数据库迁移
|
||||
- 兼容性测试
|
||||
- 回滚方案
|
||||
|
||||
---
|
||||
|
||||
### 4️⃣ **API对接与开发**
|
||||
|
||||
#### [30-REDCap_API使用指南.md](./30-REDCap_API使用指南.md)
|
||||
- REDCap API概述
|
||||
- API Token获取
|
||||
- 常用API接口
|
||||
- 示例代码
|
||||
|
||||
#### [31-IIT_Manager与REDCap对接设计.md](./31-IIT_Manager与REDCap对接设计.md)
|
||||
- 数据流转设计
|
||||
- API Adapter架构
|
||||
- 接口设计
|
||||
- 错误处理
|
||||
|
||||
#### [32-REDCap_API_Adapter开发指南.md](./32-REDCap_API_Adapter开发指南.md)
|
||||
- Adapter架构设计
|
||||
- 代码结构
|
||||
- 开发规范
|
||||
- 测试方案
|
||||
|
||||
#### [33-REDCap二次开发深度指南.md](./33-REDCap二次开发深度指南.md) ✅
|
||||
- External Modules开发
|
||||
- Hooks机制
|
||||
- 插件开发
|
||||
- 最佳实践
|
||||
|
||||
---
|
||||
|
||||
### 5️⃣ **参考资料**
|
||||
|
||||
#### [40-REDCap官方资源索引.md](./40-REDCap官方资源索引.md)
|
||||
- 官方文档链接
|
||||
- 社区资源
|
||||
- 视频教程
|
||||
- 常用工具
|
||||
|
||||
#### [41-Docker配置文件说明.md](./41-Docker配置文件说明.md)
|
||||
- Dockerfile详解
|
||||
- docker-compose.yml配置
|
||||
- 环境变量说明
|
||||
- 网络与卷配置
|
||||
|
||||
---
|
||||
|
||||
## 🎯 快速入口
|
||||
|
||||
### 我想部署REDCap
|
||||
- **本地开发测试** → [10-本地开发环境部署完全指南.md](./10-本地开发环境部署完全指南.md)
|
||||
- **阿里云生产环境** → [11-生产环境部署完全指南_阿里云ECS.md](./11-生产环境部署完全指南_阿里云ECS.md)
|
||||
- **医院私有化** → [12-医院私有化部署指南.md](./12-医院私有化部署指南.md)
|
||||
|
||||
### 我遇到部署问题
|
||||
- **问题排查** → [13-部署问题排查手册.md](./13-部署问题排查手册.md)
|
||||
- **历史问题记录** → [13-部署问题排查手册.md](./13-部署问题排查手册.md)
|
||||
|
||||
### 我要进行API开发
|
||||
- **了解API** → [30-REDCap_API使用指南.md](./30-REDCap_API使用指南.md)
|
||||
- **对接设计** → [31-IIT_Manager与REDCap对接设计.md](./31-IIT_Manager与REDCap对接设计.md)
|
||||
- **开发Adapter** → [32-REDCap_API_Adapter开发指南.md](./32-REDCap_API_Adapter开发指南.md)
|
||||
|
||||
### 我要日常运维
|
||||
- **系统配置** → [20-REDCap系统配置手册.md](./20-REDCap系统配置手册.md)
|
||||
- **日常维护** → [21-REDCap日常运维手册.md](./21-REDCap日常运维手册.md)
|
||||
- **版本升级** → [22-REDCap升级指南.md](./22-REDCap升级指南.md)
|
||||
|
||||
---
|
||||
|
||||
## 📊 模块当前状态
|
||||
|
||||
| 阶段 | 状态 | 完成时间 | 备注 |
|
||||
|------|------|----------|------|
|
||||
| 技术调研 | ✅ 完成 | 2025-12 | 完成风险评估与方案设计 |
|
||||
| 部署方案设计 | ✅ 完成 | 2026-01-01 | 确定Docker+ECS方案 |
|
||||
| 本地环境部署 | ✅ 完成 | 2026-01-02 | REDCap 15.8.0运行正常 |
|
||||
| API Adapter开发 | ⏳ 进行中 | 预计2026-01-03 | Day 2任务 |
|
||||
| 生产环境部署 | 📅 计划中 | 待定 | 等待API Adapter完成 |
|
||||
|
||||
---
|
||||
|
||||
## 🔄 文档更新记录
|
||||
|
||||
| 日期 | 更新内容 | 更新人 |
|
||||
|------|----------|--------|
|
||||
| 2026-01-02 | 创建文档体系,完成本地部署 | AI Assistant |
|
||||
| 2025-12-XX | 完成技术方案与风险评估文档 | AI Assistant |
|
||||
|
||||
---
|
||||
|
||||
## 📝 文档编写规范
|
||||
|
||||
### 图标使用规范
|
||||
- ⭐ 核心必读文档
|
||||
- ✅ 已完成
|
||||
- ⏳ 进行中
|
||||
- 📅 计划中
|
||||
- 🔧 故障排查
|
||||
- 🏥 医院专用
|
||||
- 💡 技巧提示
|
||||
- ⚠️ 重要警告
|
||||
|
||||
### 文档命名规范
|
||||
- 按数字分类:01-09系统概览,10-19部署,20-29配置,30-39开发,40-49参考
|
||||
- 使用下划线分隔多个单词(而非空格)
|
||||
- 重要文档加"完全指南"/"手册"/"指南"后缀
|
||||
|
||||
---
|
||||
|
||||
## 🆘 获取帮助
|
||||
|
||||
- **技术问题**:查看 [13-部署问题排查手册.md](./13-部署问题排查手册.md)
|
||||
- **REDCap官方**:https://projectredcap.org/
|
||||
- **Docker问题**:查看 `redcap-docker-dev/README.md`
|
||||
|
||||
1200
docs/03-业务模块/Redcap/00-模块概览/02-REDCap对接总体方案.md
Normal file
1200
docs/03-业务模块/Redcap/00-模块概览/02-REDCap对接总体方案.md
Normal file
File diff suppressed because it is too large
Load Diff
1223
docs/03-业务模块/Redcap/00-模块概览/03-REDCap对接风险评估与技术挑战分析.md
Normal file
1223
docs/03-业务模块/Redcap/00-模块概览/03-REDCap对接风险评估与技术挑战分析.md
Normal file
File diff suppressed because it is too large
Load Diff
53
docs/03-业务模块/Redcap/00-模块概览/04-生产环境部署决策报告_ECS_vs_SAE.md
Normal file
53
docs/03-业务模块/Redcap/00-模块概览/04-生产环境部署决策报告_ECS_vs_SAE.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# **REDCap 生产环境部署:ECS vs SAE 深度决议报告**
|
||||
|
||||
## **1\. 核心结论:认可 ECS 优先策略**
|
||||
|
||||
针对 IIT Manager Agent 项目,我们决定将 REDCap 生产环境部署在 **ECS (Docker 模式)** 运行,而不是 SAE。
|
||||
|
||||
### **为什么我们“认错”并转向 ECS?**
|
||||
|
||||
在讨论 AI 后端时,SAE 的免运维特性很吸引人,但 REDCap 的三个“致命特性”决定了它在 SAE 上会极其痛苦:
|
||||
|
||||
1. **Cron 依赖(心跳丢失)**:REDCap 每分钟都需要运行一次 cron.php。在 SAE 中,你得额外买 SchedulerX 服务;在 ECS,只需一行 crontab 就能搞定且 100% 可靠。
|
||||
2. **Session 粘滞(掉线噩梦)**:REDCap 默认将会话存本地。SAE 是多实例的,如果没做 Redis 共享,用户登录后会反复掉线,2 人团队去修这个 Bug 会耗费大量时间。
|
||||
3. **文件系统 POSIX 依赖**:REDCap 像 10 年前的软件一样极其依赖本地文件夹读写。SAE 必须挂载 NAS,网络延迟会拖慢整个系统的响应。
|
||||
|
||||
## **2\. 深度对比:务实派的决策依据**
|
||||
|
||||
| 维度 | ECS \+ Docker (我们的选择) | SAE (Serverless) | 结论 |
|
||||
| :---- | :---- | :---- | :---- |
|
||||
| **部署成本** | **低**。入门级 ECS (2核4G) 约 1500元/年。 | **高**。SAE \+ NAS \+ 闲置费用可能更贵。 | **ECS 胜** |
|
||||
| **配置复杂度** | **极简**。只需运行 docker-compose.yml。 | **复杂**。需解决共享存储、Session同步、定时任务。 | **ECS 胜** |
|
||||
| **系统透明度** | **透明**。直接 docker logs 查看 PHP 日志。 | **黑盒**。云原生链路长,报错时排查难度大。 | **ECS 胜** |
|
||||
| **可移植性** | **最强**。这份 Docker 配置可以原封不动挪到医院内网。 | **差**。医院内网通常没有 SAE 这种环境。 | **ECS 胜** |
|
||||
|
||||
## **3\. 2 人团队的“生存之道”**
|
||||
|
||||
作为一个只有 2 人的团队,我们的时间应该花在 **Agent 的 Prompt 调优** 和 **业务逻辑** 上,而不是花在“调试云产品之间的连接”上。
|
||||
|
||||
* **ECS 方案**:你就像拥有了一台真正的电脑。文件在哪、日志在哪、数据库连没连上,你一眼就能看清。
|
||||
* **SAE 方案**:你会陷入“为什么挂载了 NAS 还是没写权限?”、“为什么 Cron 没触发?”这种与业务无关的琐事中。
|
||||
|
||||
## **4\. 最终定稿:混合架构蓝图**
|
||||
|
||||
我们将采取\*\*“混合云”\*\*的思路,发挥各自的长处:
|
||||
|
||||
### **4.1 数据平面 (Data Layer) \-\> 部署在 ECS**
|
||||
|
||||
* **组件**:REDCap (Apache \+ PHP 8.1)。
|
||||
* **方式**:使用 Docker-Compose 运行。
|
||||
* **存储**:附件存储在 ECS 挂载的云盘;数据库连接 **RDS MySQL**。
|
||||
* **优势**:保证了 EDC 系统的绝对稳定和传统运维的简便。
|
||||
|
||||
### **4.2 控制平面 (AI Agent Layer) \-\> 部署在 SAE**
|
||||
|
||||
* **组件**:Node.js 后端、Python 算法、AI 前端。
|
||||
* **方式**:Serverless 部署。
|
||||
* **优势**:利用 SAE 处理 AI 这种流量波动大、需要弹性伸缩的模块。
|
||||
|
||||
## **5\. 对后续开发的意义**
|
||||
|
||||
1. **本地环境即生产环境**:由于 ECS 跑的是 Docker,你在本地 03-REDCap本地部署方案.md 里写的代码,直接就能上线,没有任何“环境漂移”。
|
||||
2. **离线交付预演**:如果未来医院要求内网部署,我们已经有了一套完整的、基于 ECS/Docker 的交付包,这比 SAE 方案更容易被医院 IT 接受。
|
||||
|
||||
**当前状态**:Deployment Strategy Locked | **建议**:立即执行基于 ECS 的生产环境搭建。
|
||||
Reference in New Issue
Block a user