为啥花精力开源 kkRepo
开源初衷:
- 正好解决自己公司的问题,然后发现这个还是普遍存在的问题,且这个领域纯开源的几乎么有,都是带有商业性质的开源。所以我就开源了
- 开源 2 个月后,就收获了多家公司包括几个上市公司已经在生产环境无缝替换 Nexus 到 kkRepo 了,而且也收获了好几个海外公司使用,Docker 镜像下载也超 1.5k 了。
- 虽然这个项目是纯开源的,但是我希望以这个项目的价值,通过解决企业级的问题,可以让企业反哺下项目,所以我开通了 github 的捐赠渠道,然后以此促进项目持续健康发展下去。
- 开源后,被更多人使用,会发现更多问题,得到更多人的支持,创造更大的价值,让人生更有意义
- 之前开源的 kkFileView 已经走过了我上面这条路
这就是我会花精力开源 kkRepo 的全部。
kkRepo 是什么?
kkRepo 是一款社区驱动、完全开源的自托管制品仓库,目标是解决 Sonatype Nexus Community Edition 在格式支持、容量限制、迁移和高可用部署等方面的痛点。
项目围绕 Nexus 的客户端协议、权限模型和 /repository/<repo>/... URL 布局实现兼容,并提供存量仓库、制品、用户、角色和权限迁移能力,尽量让原有客户端配置和 CI 工作流保持不变。
目前已经支持 20+ 种仓库格式和代理类型:
Maven 、npm 、PyPI 、Go 、Helm 、Cargo/Rust 、Dart/Pub 、Composer/PHP 、Terraform 、Swift Package Registry 、Ansible Galaxy 、Conda 、APT/Debian 、Conan 2 、Alpine/APK 、R/CRAN 、Hugging Face Models 、Docker/OCI 、NuGet 、RubyGems 、Yum 和 Raw 。
不同格式根据官方协议支持 hosted 、proxy 或 group 仓库。

