# GitDataAI Docker 配置 ## 文件说明 ### Dockerfile 文件 | 文件名 | 服务 | 说明 | |--------|------|------| | `gitdata.Dockerfile` | GitData API | 主 API 服务 | | `email.Dockerfile` | Email Service | 邮件发送服务 | | `gitpod.Dockerfile` | GitPod Service | Git 服务 | | `gitsync.Dockerfile` | GitSync Service | Git 同步服务 | | `migrate.Dockerfile` | Database Migration | 数据库迁移工具 | | `web.Dockerfile` | Web Frontend | React 前端应用 | ### 配置文件 | 文件名 | 说明 | |--------|------| | `docker-compose.yml` | 完整的开发环境配置 | | `nginx.conf` | Nginx 反向代理配置 | ## 快速开始 ### 1. 启动完整开发环境 ```bash # 进入 docker 目录 cd docker # 启动所有服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f ``` ### 2. 单独构建服务 ```bash # 构建 GitData API docker build -f docker/gitdata.Dockerfile -t gitdata-api . # 构建前端 docker build -f docker/web.Dockerfile -t gitdata-web . ``` ### 3. 环境变量配置 创建 `.env` 文件配置环境变量: ```bash # 数据库配置 POSTGRES_USER=gitdata POSTGRES_PASSWORD=your_secure_password POSTGRES_DB=app # MinIO 配置 MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=your_secure_password ``` ## 服务端口 | 服务 | 端口 | 说明 | |------|------|------| | Web Frontend | 80 | 前端访问入口 | | GitData API | 8080 | 主 API 服务 | | Git HTTP | 5023 | Git HTTP 访问 | | Git RPC | 5030 | Git RPC 服务 | | SSH | 5022 | SSH Git 访问 | | GitPod | 5082 | GitPod 服务 | | GitSync | 5083 | GitSync 健康检查 | | PostgreSQL | 5432 | 数据库 | | Redis | 6379 | 缓存 | | Qdrant | 6333 | 向量数据库 | | NATS | 4222 | 消息队列 | | MinIO | 9000/9001 | 对象存储 | ## 生产环境部署 ### 1. 修改环境变量 ```bash # 复制示例配置 cp .env.example .env # 编辑配置文件,修改密码等敏感信息 vim .env ``` ### 2. 启动服务 ```bash # 使用生产配置启动 docker-compose -f docker-compose.yml up -d # 查看服务状态 docker-compose ps ``` ### 3. 数据备份 ```bash # 备份 PostgreSQL docker exec gitdata-postgres pg_dump -U gitdata app > backup.sql # 备份 MinIO 数据 docker cp gitdata-minio:/data ./minio-backup ``` ## 常见问题 ### 1. 服务启动失败 检查日志: ```bash docker-compose logs ``` ### 2. 数据库连接失败 确保 PostgreSQL 健康检查通过: ```bash docker-compose ps postgres ``` ### 3. 端口冲突 修改 `docker-compose.yml` 中的端口映射: ```yaml ports: - "8081:8080" # 修改宿主机端口 ```