https://github.com/containerish/openregistry
OpenRegistry - A decentralised container registry fully compliant with OCI Distribution Specification
https://github.com/containerish/openregistry
container container-registry docker oci-distribution openregistry
Last synced: about 1 year ago
JSON representation
OpenRegistry - A decentralised container registry fully compliant with OCI Distribution Specification
- Host: GitHub
- URL: https://github.com/containerish/openregistry
- Owner: containerish
- License: apache-2.0
- Created: 2021-06-01T13:16:12.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-10-25T02:23:17.000Z (over 1 year ago)
- Last Synced: 2024-10-29T20:24:35.704Z (over 1 year ago)
- Topics: container, container-registry, docker, oci-distribution, openregistry
- Language: Go
- Homepage: https://openregistry.dev
- Size: 14.1 MB
- Stars: 62
- Watchers: 3
- Forks: 4
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE-2.0
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# OpenRegistry - An open, decentralized, and reliable Container Registry
## Checks and Badges
| Type | Status |
|------|--------|
| OCI - Push | [](https://github.com/containerish/openregistry/actions/workflows/oci-dist-spec-push.yml)|
| OCI - Pull | [](https://github.com/containerish/openregistry/actions/workflows/oci-dist-spec-pull.yml)|
| OCI - Content Management | [](https://github.com/containerish/openregistry/actions/workflows/oci-dist-spec-content-management.yml)|
| OCI - Content Discovery | [](https://github.com/containerish/openregistry/actions/workflows/oci-dist-spec-content-discovery.yml)|
| Linter | [](https://github.com/containerish/openregistry/actions/workflows/golangci-lint.yml)|
| CodeQL | [](https://github.com/containerish/OpenRegistry/actions/workflows/codeql-analysis.yml)|
| Freshping |
|
| Certifications |
|
> 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](https://github.com/containerish/OpenRegistry/releases)
## Introduction
OpenRegistry is an open source, decentralized container registry which is fully compliant with [OCI Container Distribution Specification](https://github.com/opencontainers/distribution-spec/blob/main/spec.md).
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](https://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:
### Sign-up:
Head over to [Parachute by OpenRegistry](https://parachute.openregistry.dev) 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](https://parachute.openregistry.dev)
### 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:
```bash
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:
```bash
docker pull openregistry.dev/janedoe/alpine:latest
```
### 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](./docs/contributing/development-environment-setup.md)