Files
claude-relay-service/.github/DOCKER_HUB_SETUP.md
shaw 5c83cf1d53 feat: 添加 Docker Hub 自动构建和改进部署体验
- 支持环境变量预设管理员账号密码
- 添加 docker-entrypoint.sh 自动初始化脚本
- 配置 GitHub Actions 自动构建多平台镜像(amd64, arm64)
- 添加版本标签管理和自动发布流程
- 集成 Trivy 安全漏洞扫描
- 更新文档说明 Docker Hub 使用方法
- 优化 Docker 部署用户体验

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-19 00:49:04 +08:00

109 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Docker Hub 自动发布配置指南
本文档说明如何配置 GitHub Actions 自动构建并发布 Docker 镜像到 Docker Hub。
## 📋 前置要求
1. Docker Hub 账号
2. GitHub 仓库的管理员权限
## 🔐 配置 GitHub Secrets
在 GitHub 仓库中配置以下 secrets
1. 进入仓库设置:`Settings``Secrets and variables``Actions`
2. 点击 `New repository secret`
3. 添加以下 secrets
### 必需的 Secrets
| Secret 名称 | 说明 | 如何获取 |
|------------|------|---------|
| `DOCKERHUB_USERNAME` | Docker Hub 用户名 | 你的 Docker Hub 登录用户名 |
| `DOCKERHUB_TOKEN` | Docker Hub Access Token | 见下方说明 |
### 获取 Docker Hub Access Token
1. 登录 [Docker Hub](https://hub.docker.com/)
2. 点击右上角头像 → `Account Settings`
3. 选择 `Security``Access Tokens`
4. 点击 `New Access Token`
5. 填写描述(如:`GitHub Actions`
6. 选择权限:`Read, Write, Delete`
7. 点击 `Generate`
8. **立即复制 token**(只显示一次)
## 🚀 工作流程说明
### 触发条件
- **自动触发**:推送到 `main` 分支
- **版本发布**:创建 `v*` 格式的 tag`v1.0.0`
- **手动触发**:在 Actions 页面手动运行
### 镜像标签策略
工作流会自动创建以下标签:
- `latest`:始终指向 main 分支的最新构建
- `main`main 分支的构建
- `v1.0.0`:版本标签(当创建 tag 时)
- `1.0`:主次版本标签
- `1`:主版本标签
- `main-sha-xxxxxxx`:包含 commit SHA 的标签
### 支持的平台
- `linux/amd64`Intel/AMD 架构
- `linux/arm64`ARM64 架构(如 Apple Silicon, 树莓派等)
## 📦 使用发布的镜像
```bash
# 拉取最新版本
docker pull weishaw/claude-relay-service:latest
# 拉取特定版本
docker pull weishaw/claude-relay-service:v1.0.0
# 运行容器
docker run -d \
--name claude-relay \
-p 3000:3000 \
-v ./data:/app/data \
-v ./logs:/app/logs \
-e ADMIN_USERNAME=my_admin \
-e ADMIN_PASSWORD=my_password \
weishaw/claude-relay-service:latest
```
## 🔍 验证配置
1. 推送代码到 main 分支
2. 在 GitHub 仓库页面点击 `Actions` 标签
3. 查看 `Docker Build & Push` 工作流运行状态
4. 成功后在 Docker Hub 查看镜像
## 🛡️ 安全功能
- **漏洞扫描**:使用 Trivy 自动扫描镜像漏洞
- **扫描报告**:上传到 GitHub Security 标签页
- **自动更新 README**:同步更新 Docker Hub 的项目描述
## ❓ 常见问题
### 构建失败
- 检查 secrets 是否正确配置
- 确认 Docker Hub token 有足够权限
- 查看 Actions 日志详细错误信息
### 镜像推送失败
- 确认 Docker Hub 用户名正确
- 检查是否达到 Docker Hub 免费账户限制
- Token 可能过期,需要重新生成
### 多平台构建慢
这是正常的,因为需要模拟不同架构。可以在不需要时修改 `platforms` 配置。