selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Docker Distribution Registry logo

Self-host Docker Distribution Registry

3.1.1

OCI-compliant container image registry

ReleaseOpen SourceApache-2.0
Updated2 years ago
LanguageDockerfile
Setup difficultyModerate
Stars
358
Ports
5000 (HTTP registry API), 443 (HTTPS registry API (when TLS configured))
Docker
registry
Install with Docker

What is Docker Distribution Registry?

Distribution Registry is an open-source container registry implementing the OCI Distribution Specification. It runs as a stateless, scalable server for storing and sharing container images. You can deploy it locally for development or configure it for production use with TLS encryption, access controls, various storage options like S3 or Azure, Redis caching, and mirroring capabilities. Major platforms use it as their foundation.

Should you self-host Docker Distribution Registry?

Docker Distribution Registry scores 61/100 on selfhost.directory (how scoring works) and ranks #6 of 12 in Container Registry. It has 358 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Dockerfile.

Its closest alternative on selfhost.directory is Harbor (80/100, 29 631 stars). It scores higher overall, so compare the two before you pick. See Docker Distribution Registry vs Harbor side by side.

Features

  • Basic authentication (htpasswd)
  • Docker Swarm / Kubernetes deployment
  • Garbage Collection
  • Multiple Storage Drivers
  • Notifications/webhooks
  • OCI Distribution Specification compliance
  • Prometheus Metrics
  • Pull-through cache (mirror)
  • TLS with Let's Encrypt support
  • Token authentication (delegated)

Docker Distribution Registry README

How to install Docker Distribution Registry

Install Docker Distribution Registry with Docker

Docker installed on host
Environment variables
REGISTRY_HTTP_ADDR, REGISTRY_HTTP_TLS_CERTIFICATE, REGISTRY_HTTP_TLS_KEY, REGISTRY_AUTH, REGISTRY_AUTH_HTPASSWD_PATH, REGISTRY_AUTH_HTPASSWD_REALM, REGISTRY_STORAGE_*

$ docker run -d -p 5000:5000 --restart=always --name registry registry:3

Quick start for testing; production requires TLS and authentication

More in Container Registry

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…