{"id":26040306,"url":"https://github.com/scoful/pocker","last_synced_at":"2025-09-08T14:43:02.097Z","repository":{"id":279161719,"uuid":"937521400","full_name":"scoful/pocker","owner":"scoful","description":"一个基于 Next.js 开发的全栈 Docker 镜像仓库管理私服，支持一键部署到Vercel。解决国内 Pull 镜像困难问题。","archived":false,"fork":false,"pushed_at":"2025-07-15T13:48:30.000Z","size":666,"stargazers_count":32,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-15T17:45:18.895Z","etag":null,"topics":["docker","docker-registry","dockerhub","next-js"],"latest_commit_sha":null,"homepage":"https://pocker4u.vercel.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scoful.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-23T09:04:28.000Z","updated_at":"2025-07-15T13:48:33.000Z","dependencies_parsed_at":"2025-02-24T06:22:25.484Z","dependency_job_id":"b5254d43-539f-47ee-9a8e-7b5cdb3dc42f","html_url":"https://github.com/scoful/pocker","commit_stats":null,"previous_names":["scoful/pocker"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/scoful/pocker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scoful%2Fpocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scoful%2Fpocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scoful%2Fpocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scoful%2Fpocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scoful","download_url":"https://codeload.github.com/scoful/pocker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scoful%2Fpocker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274201109,"owners_count":25240203,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-registry","dockerhub","next-js"],"created_at":"2025-03-07T12:09:19.196Z","updated_at":"2025-09-08T14:43:02.058Z","avatar_url":"https://github.com/scoful.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Pocker\n\n**_让每个人都有自己的 Docker 私服，Make Docker Great Again。_**\n\n一个基于 Next.js 开发的全栈 Docker 镜像仓库管理系统，专为将 Docker Hub\n镜像高效转存至华为云容器镜像服务（SWR）而设计。\n\n支持一键部署，彻底解决镜像拉取缓慢问题，保障数据安全，让您完全掌控自己的 Docker\n数据，我的 Docker 我做主。\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\".github/screenShots/3.png\" alt=\"3\" width=\"800\" /\u003e\n\u003c/div\u003e\n\n## 体验地址\n- https://pocker4u.vercel.app/\n- 访问密钥：pocker4u\n\n## 快速开始\n\n### 部署\n\n本项目支持通过 Vercel\n一键部署，部署过程中需要配置环境变量，请看下一步简化版本或[详细图文步骤在线文档](https://pocker-doc.vercel.app/)\n\n[![](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fscoful%2Fpocker\u0026env=ACCESS_KEY,GITHUB_TOKEN,HUAWEICLOUD_AK,HUAWEICLOUD_SK,NEXT_PUBLIC_HUAWEICLOUD_USERNAME,HUAWEICLOUD_PASSWORD\u0026envDescription=%E4%B8%8A%E9%9D%A2%E7%9A%84%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E8%8E%B7%E5%8F%96%E6%96%B9%E6%B3%95%E8%AF%B7%E7%9C%8B%E2%86%92\u0026envLink=https%3A%2F%2Fpocker-doc.vercel.app%2FquickStart%2FstepTwo\u0026project-name=pocker\u0026repository-name=pocker)\n\n### 获取环境变量\n**建议查看[获取环境变量在线文档](https://pocker-doc.vercel.app/quickStart/stepTwo)**\n- ACCESS_KEY，系统登录凭证，请设置一个安全的密钥值，用于系统身份验证和访问控制\n- GITHUB_TOKEN，访问[GitHub令牌设置](https://github.com/settings/tokens/new)创建一个新的访问令牌，有效期建议设置为永久，**_注意：权限仅需勾选 workflow 即可_**\n- HUAWEICLOUD_AK，访问[华为云控制台](https://console.huaweicloud.com/iam/)获取ak，创建一个新的“用户组”并只授予**SWR FullAccess**权限，然后在这个用户组下创建一个新的“用户”，**_注意：创建时只需授予 SWR FullAccess 权限即可_**\n- HUAWEICLOUD_SK，访问[华为云控制台](https://console.huaweicloud.com/iam/)获取sk，**_注意：与HUAWEICLOUD_AK配套使用，同样只需授予 SWR FullAccess 权限_**\n- NEXT_PUBLIC_HUAWEICLOUD_USERNAME，访问[华为云容器镜像服务](https://console.huaweicloud.com/swr)获取**长期有效登录指令**，通过上一步获取的AK和SK获取，只需要-u的值\n- HUAWEICLOUD_PASSWORD，访问[华为云容器镜像服务](https://console.huaweicloud.com/swr)获取**长期有效登录指令**，通过上一步获取的AK和SK获取，只需要-p的值\n\n### 配置自动更新\n\n1. 打开你在 Vercel 上部署后获得的项目地址，进入\"GitHub 配置\"菜单下的\"配置自动更新\"，填写您在 Vercel 上部署的项目名称（例如：pocker）。该项目名可在\n   Vercel 控制台查看，它对应着您 GitHub 账号下的一个私有仓库。\n2. 打开 Vercel 项目控制面板，进入 Settings → Environment → 点击 Production，跳转后把 Branch Tracking 的 master 改成 main\n   ，最后保存\n3. 完成以上配置后，系统将自动同步最新功能和更新\n\n### 修改 Vercel 环境变量（可选）\n**每次修改后要重新部署才能生效**\n1. 在 Vercel 项目控制面板中，进入 Settings → Environment Variables 页面\n2. 可以看到上述配置的所有环境变量\n3. 修改后，点击 Redeploy 重新部署项目\n4. 部署完成后即可开始使用系统，尽情体验吧！\n\n## 系统截图\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\".github/screenShots/1.png\" alt=\"1\" width=\"1500\" /\u003e\n  \u003cimg src=\".github/screenShots/2.png\" alt=\"2\" width=\"1500\" /\u003e\n\u003c/div\u003e\n\n## 详细文档\n\n- [在线文档](https://pocker-doc.vercel.app/)\n\n## 主要功能\n\n- 🔐 密钥验证登录\n- 🌍 支持多区域切换，轻松获取全球各地的容器镜像资源，目前支持全球23个地方节点\n- 📦 镜像仓库管理\n    - 创建/删除镜像仓库\n    - 搜索镜像\n    - 公开/私有仓库切换\n- 🏷️ 标签管理\n    - 查看镜像标签列表\n    - 创建新标签（基于已有镜像）\n    - 删除标签\n    - 搜索标签\n    - 复制标签pull地址\n- 👥 命名空间管理\n    - 创建/删除命名空间\n    - 查看命名空间列表\n- 📊 用量统计查看\n    - 查看命名空间数量、镜像仓库数量、标签数量、存储空间大小、下行流量大小\n- ⚙️ GitHub Actions 自动化\n    - 自动创建/配置用于中转的 GitHub 仓库\n    - 自动配置用于中转的工作流\n    - 查看构建日志\n- 🌓 支持暗黑模式\n- 🎯 新手引导功能\n- 🔄 自动版本检测与更新：支持新版本提醒，可选择自动更新模式，开启后系统将自动静默完成更新\n\n## 技术栈\n\n- Next.js (Pages Router)\n- Tailwind CSS\n- Driver.js (新手引导)\n- GitHub API\n- 华为云 SDK\n\n## 环境要求\n\n- Node.js 16+\n- 华为云账号密钥\n- GitHub 账号密钥\n\n## 开发\n\n```bash\n# 安装依赖\nnpm install\n\n# 开发环境运行\nnpm run dev\n\n# 构建\nnpm run build\n\n# 生产环境运行\nnpm start\n```\n\n## TODO\n\n- ~~开发阿里云版本(已放弃,因阿里云免费版不支持SDK调用)~~\n- ~~开发腾讯云版本（已完成，但发现速度受限，已放弃）~~\n- 开发华为云版（已完成）\n\n\n## 许可证\n\nMIT\n\n## ❤️ 支持项目\n\n如果这个项目对你有帮助，欢迎请作者喝杯瑞幸，一杯在手，幸运共有 ☕\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"http://scoful-picgo.oss-ap-southeast-1.aliyuncs.com/picgo/wx.jpg\" alt=\"微信\" width=\"300\" /\u003e\n  \u003cimg src=\"http://scoful-picgo.oss-ap-southeast-1.aliyuncs.com/picgo/zfb.jpg\" alt=\"支付宝\" width=\"300\" /\u003e\n\u003c/div\u003e\n\n## Star 趋势\n\n[![Stargazers over time](https://starchart.cc/scoful/pocker.svg?variant=adaptive)](https://starchart.cc/scoful/pocker)\n\nYou are my ![Visitor Count](https://profile-counter.glitch.me/scoful/count.svg)th visitor\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscoful%2Fpocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscoful%2Fpocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscoful%2Fpocker/lists"}