I use the Nexus free version. You can cache docker registries and other repos like apt/yum/pypi/etc.
It works pretty well, but could be overkill compared to some of the other options.
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
I use the Nexus free version. You can cache docker registries and other repos like apt/yum/pypi/etc.
It works pretty well, but could be overkill compared to some of the other options.
zot is the newer kid on the block, and a single binary single config file sort of affair.
Does docker, pypi, apt, ansible galaxy, etc. I use it at work as part of our undercloud for OpenStack. It's the go-to for StackHPC, too.
Gittea and Forgejo both have self hosted container registries.
Forgejo supports a ton of repos including docker / OCI images.
Apart from the registries you have in GitLab and GitHub if you are looking for something more generic like Docker Hub you have Quay (from RedHat). It works very well and has a pretty nice interface (especially the new one that is in testing).
I looked into that at one point, but 15$/month is quite steep just for that ( imo )
Well, if you want private images it is normal that they charge you for it. What I advise you to do is to make the images public and mount the private part as a volume. This way you can upload the images wherever you want without worrying.
Another option if you want the resulting image to have something private is to create as much as you can in a public image and have a script that adds the private part as the last layer.
I moved to quay.io years ago and have never looked back.
You can use (self hosted) gitlab as a registry storage. We do that locally so we have both code, pipeline and containers in the same place.
We're using a self hosted Nexus instance at work. You probably don't need all the features it offers, but it does its job really well. For free, too.
If you don't need fancy gui and authentication, registry is easy to set up and works really well: https://hub.docker.com/_/registry
Does registry still have that problem of making it practically impossible to do garbage collection on old images?
Try goharbor.io, that's what I use. I think (but I'm not sure) that Forgejo/Gitea and Gitlab can also cache images.
Can confirm, gitlab has a container registry built in, at least in the omnibus package installation.