137 lines
2.6 KiB
Markdown
137 lines
2.6 KiB
Markdown
# 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 <service-name>
|
|
```
|
|
|
|
### 2. 数据库连接失败
|
|
|
|
确保 PostgreSQL 健康检查通过:
|
|
```bash
|
|
docker-compose ps postgres
|
|
```
|
|
|
|
### 3. 端口冲突
|
|
|
|
修改 `docker-compose.yml` 中的端口映射:
|
|
```yaml
|
|
ports:
|
|
- "8081:8080" # 修改宿主机端口
|
|
``` |