Best / Container registries
Best open-source Container registries
The best self-hosted registry split in the c17.io catalog is Harbor for an Apache-2.0 CNCF image registry (the published Docker Hub path), Nexus Repository when the job is EPL-1.0 Maven/npm/generic artifacts rather than only images — /compare/harbor-vs-nexus, Forgejo when packages sit next to the GPL-3.0 git forge you already host — /best/git-hosting, and Gitea when you want that MIT forge registry. This is not Docker Hub's every Scout or Build Cloud SKU, GitHub Packages' every Actions cache, or JFrog Xray. A git host without packages stays on /best/git-hosting. A PaaS panel stays on /best/self-hosted-paas.
Open the stackStart on Railway
Ranked picks
1
HarborApache-2.0 CNCF registry (29,571 stars in the catalog) — the c17 Docker Hub path. /compare/harbor-vs-nexus.
When to pick it: Images you push, scan, and pull from CI.
29,571 stars in the catalog
2
Nexus RepositoryEPL-1.0 artifact repository (2,681 stars in the catalog). /compare/harbor-vs-nexus.
When to pick it: Maven, npm, or generic blobs if Harbor is images-only.
2,681 stars in the catalog
3
ForgejoGPL-3.0 forge packages already on /best/git-hosting (5,660 stars in the catalog).
When to pick it: A few packages next to the git host, not a dedicated registry.
5,660 stars in the catalog
4
GiteaMIT forge packages (58,536 stars in the catalog). /compare/gitea-vs-forgejo.
When to pick it: The MIT sibling if Forgejo is not the forge.
58,536 stars in the catalog
How they compare
| Tool | License | Self-host | Best for |
|---|---|---|---|
| Harbor | Apache License 2.0 | Medium | Images you push, scan, and pull from CI. |
| Nexus Repository | EPL-1.0 | Medium | Maven, npm, or generic blobs if Harbor is images-only. |
| Forgejo | GNU General Public License v3.0 | Easy | A few packages next to the git host, not a dedicated registry. |
| Gitea | MIT License | Easy | The MIT sibling if Forgejo is not the forge. |
Related pages
FAQ
- Harbor or Nexus?
- Harbor if you want the published Docker Hub image registry. Nexus if the job is Maven/npm — /compare/harbor-vs-nexus.
- Is this GitHub Packages?
- GitHub Packages stays on /replace/github-packages (Nexus for artifacts, Harbor for images).
- Is this Docker Desktop?
- Desktop and Scout stay behind. This page is the registry.
- Are these free?
- Harbor is Apache-2.0. Nexus public is EPL-1.0. Forgejo is GPL-3.0. Gitea is MIT. You pay hosting. Template users never pay c17.
- How do I deploy it?
- Open /stacks/harbor-registry. Persist blobs. Push one image.
Stack of the Week
Get one stack a week that replaces a SaaS bill.