| .. | ||
| build.sh | ||
| docker-compose.yml | ||
| email.Dockerfile | ||
| gitdata.Dockerfile | ||
| gitpod.Dockerfile | ||
| gitsync.Dockerfile | ||
| migrate.Dockerfile | ||
| nginx.conf | ||
| push.sh | ||
| README.md | ||
| web.Dockerfile | ||
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. 启动完整开发环境
# 进入 docker 目录
cd docker
# 启动所有服务
docker-compose up -d
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f
2. 单独构建服务
# 构建 GitData API
docker build -f docker/gitdata.Dockerfile -t gitdata-api .
# 构建前端
docker build -f docker/web.Dockerfile -t gitdata-web .
3. 环境变量配置
创建 .env 文件配置环境变量:
# 数据库配置
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. 修改环境变量
# 复制示例配置
cp .env.example .env
# 编辑配置文件,修改密码等敏感信息
vim .env
2. 启动服务
# 使用生产配置启动
docker-compose -f docker-compose.yml up -d
# 查看服务状态
docker-compose ps
3. 数据备份
# 备份 PostgreSQL
docker exec gitdata-postgres pg_dump -U gitdata app > backup.sql
# 备份 MinIO 数据
docker cp gitdata-minio:/data ./minio-backup
常见问题
1. 服务启动失败
检查日志:
docker-compose logs <service-name>
2. 数据库连接失败
确保 PostgreSQL 健康检查通过:
docker-compose ps postgres
3. 端口冲突
修改 docker-compose.yml 中的端口映射:
ports:
- "8081:8080" # 修改宿主机端口