Skip to content

OpenRegistry - A decentralised container registry fully compliant with OCI Distribution Specification


Apache-2.0, MIT licenses found

Licenses found

Notifications You must be signed in to change notification settings


OpenRegistry - An open, decentralized, and reliable Container Registry

Checks and Badges

Type Status
OCI - Push OCI Push
OCI - Pull OCI Pull
OCI - Content Management OCI Content Management
OCI - Content Discovery OCI Content Discovery
Linter OCI Push
CodeQL CodeQL

Disclaimer: Please refrain from using the main branch to run OpenRegistry in Production. The branch is highly experimental and not stable for Production use. Please only use the released versions


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 Akash Network as it's compute layer and IPFS, Filebase, or Storj 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:


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
docker push

Pull an Image:

Assuming you've pushed an image using the above method:

docker pull

How to Run this project locally:

If you'd like to run OpenRegistry locally or contribute a change/feature/bug fix or code changes, please follow this guide on how to set it up for Development