# docker-proxy **Repository Path**: zhReimu/docker-proxy ## Basic Information - **Project Name**: docker-proxy - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-28 - **Last Updated**: 2026-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Docker Proxy Docker Proxy 是一个基于 Go 的镜像代理服务,内置一个由 Vite + React 构建的管理后台。 ## 依赖 - Go `1.25.6` - Node.js `22` - `pnpm`,建议通过 `corepack enable` 启用 - `go-task`,用于统一执行构建、测试和前端依赖安装 ## 安装依赖 ```bash corepack enable task deps task frontend-deps ``` ## 本地开发 启动后端: ```bash task dev ``` 默认监听 `http://127.0.0.1:8080`。 ## 首次启动 如果数据库文件不存在,或者用户表还是空的,首次启动时必须同时提供 `BOOTSTRAP_ADMIN_USERNAME` 和 `BOOTSTRAP_ADMIN_PASSWORD`,用于初始化后台管理员账户;否则会报: ```text bootstrap application: bootstrap database state: bootstrap admin credentials are required when users table is empty ``` 直接运行二进制时可以这样启动: ```bash BOOTSTRAP_ADMIN_USERNAME=admin \ BOOTSTRAP_ADMIN_PASSWORD=admin123 \ ./dist/docker-proxy --listen :8080 --db data/docker-proxy.db ``` 如果只是本地开发,也可以这样运行: ```bash BOOTSTRAP_ADMIN_USERNAME=admin \ BOOTSTRAP_ADMIN_PASSWORD=admin123 \ task dev ``` 初始化完成后,后续只要继续使用同一个数据库文件,就不需要重复提供这两个环境变量。 启动前端开发服务器: ```bash pnpm --dir web/admin dev ``` 前端开发服务器会把 `/api`、`/healthz`、`/version` 和 `/v2` 反代到本地后端。默认目标是 `http://127.0.0.1:8080`,也可以通过环境变量覆盖: ```bash ADMIN_API_TARGET=http://127.0.0.1:5001 pnpm --dir web/admin dev ``` ## 构建 构建完整项目: ```bash task build ``` 该命令会先构建 `web/admin`,再将前端产物嵌入 Go 服务并输出到 `dist/`。 `web/admin/dist` 不再提交到 git。会编译 Go 服务的流程应先生成前端产物,因此建议统一使用 `task build`、`task dev`、`task test`,或显式先运行 `task frontend-build`。 仅构建前端: ```bash pnpm --dir web/admin build ``` ## 测试 ```bash task test ``` 如果只验证前端改动: ```bash pnpm --dir web/admin lint ```