1.6 KiB
1.6 KiB
GitDataAI Docker
默认镜像仓库:harbor.gitdata.me/app
服务
| Dockerfile | 服务 | 端口 | 健康检查 |
|---|---|---|---|
gitdata.Dockerfile |
API 服务 | 8080 | /metrics |
gitpod.Dockerfile |
Git 协议 (HTTP/SSH/gRPC) | 8080, 2222, 50051 | /health |
gitsync.Dockerfile |
Git 同步 worker | 8081 | /health |
email.Dockerfile |
邮件 worker | 8083 | /health |
web.Dockerfile |
前端 | 80 | / |
构建
先编译 Rust 二进制,再打镜像:
# 编译全部 Rust 服务
cargo build --release
# 构建全部镜像 (默认推送到 harbor.gitdata.me/app)
./docker/build.sh
# 只构建指定服务
./docker/build.sh gitdata gitpod
# 自定义 tag
./docker/build.sh -t v1.2.0
# 自定义 registry
./docker/build.sh -r myreg.io/app -t dev
推送
# 推送全部 (默认 harbor.gitdata.me/app)
./docker/push.sh
# 推送指定服务
./docker/push.sh gitdata gitpod
# 自定义 tag / registry
./docker/push.sh -t v1.2.0
./docker/push.sh -r myreg.io/app -t dev
本地开发
使用 docker compose 启动全部服务(含依赖的 Postgres/Redis/Qdrant/NATS/MinIO):
docker compose -f docker/docker-compose.yml up -d
compose 默认从 harbor.gitdata.me/app 拉取镜像,可通过环境变量覆盖:
IMAGE_REGISTRY=myreg.io/app IMAGE_TAG=v1.2.0 \
docker compose -f docker/docker-compose.yml up -d
镜像结构
- Rust 服务:
debian:bookworm-slim+ 预编译二进制(~20MB) - 前端:多阶段构建
oven/bun+nginx:alpine - 数据库迁移在 gitdata 启动时自动执行(见 lib/migrate)