OpenRegistry - An open, decentralized, and reliable Container Registry
Checks and Badges
Type |
Status |
OCI - Push |
|
OCI - Pull |
|
OCI - Content Management |
|
OCI - Content Discovery |
|
CodeQL |
|
Freshping |
|
Linter |
|
Certifications |
|
Disclaimer: Please refrain from using master branch to run OpenRegistry in Production. The branch is highly experimental and not stable for Production use. Please only use the released versions
Introduction
OpenRegistry is an open source, decentralized container registry which is fully compliant with OCI Container Distribution Specification.
The specification provides similar capabilities as that of the Docker Registry HTTP API V2 protocol.
Why OpenRegistry?
For the longest time, we have relied on DockerHub to host and distribute our container images (both private and public). OpenRegistry tries to provide a decentralized alternative to that by running a community driven container registry, for People by People.
OpenRegitry uses AkashNetwork as it's compute layer and SkyNet for storage. Since AkashNetwork provides a spot like compute market, fault tolerance, Scalability and Resiliency are our priorities from day one.
Getting Started
Working with OpenRegistry is no different than working with any other container registry. Following are the steps to get started:
Sign-up:
Head over to Parachute by OpenRegistry and sign yourself up. The sign process is essential as pushing to container repositories is a restricted operation and requires proper authorization.
Currently we're only accepting registrations for a closed Beta program, Kindly register for Beta here
Push an Image:
When using Docker CLI, the images are pushed to DockerHub by default. For Pushing images to OpenRegistry instead, follow the below steps:
- change the name of your image, e.g if you have an image named janedoe/alpine:latest, change it like so:
docker tag janedoe/alpine:latest openregistry.dev/janedoe/alipne:latest
docker push openregistry.dev/janedoe/alpine:latest
Pull an Image:
Assuming you've pushed an image using the above method:
docker pull openregistry.dev/janedoe/alpine:latest
How to Run this project locally:
OpenRegistry is not Go Gettable right now because of a dependency issue with Go-Skynet. To build this project locally, please use the following method:
git clone https://github.com/containerish/OpenRegistry.git
make mod-fix
go build