gitdataai/docker
2026-06-01 22:04:17 +08:00
..
build.sh chore: update docker configuration 2026-06-01 22:04:17 +08:00
docker-compose.yml chore: update docker configuration 2026-06-01 22:04:17 +08:00
email.Dockerfile chore: update docker configuration 2026-06-01 22:04:17 +08:00
gitdata.Dockerfile chore: update docker configuration 2026-06-01 22:04:17 +08:00
gitpod.Dockerfile chore: update docker configuration 2026-06-01 22:04:17 +08:00
gitsync.Dockerfile chore: update docker configuration 2026-06-01 22:04:17 +08:00
nginx.conf feat: 1.0 2026-05-30 01:38:40 +08:00
push.sh chore: update docker configuration 2026-06-01 22:04:17 +08:00
README.md chore: update docker configuration 2026-06-01 22:04:17 +08:00
web.Dockerfile chore: update docker configuration 2026-06-01 22:04:17 +08:00

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