Docker Registry

Deploy Docker Registry on a VPS in One Click

DevOps, CI/CD & containers

Private Docker image registry for storing and distributing containers without Docker Hub's public limits.

  • Ready in ~2 min
  • Free installation
  • We handle the setup
At a glance
Version
registry:2
Operating system
Ubuntu Server 24.04 LTS
Minimum RAM
1 GB
License
Apache 2.0
Addressing
IPv4, IPv6
GitHub
11,000
Deployment~2 min
Open source & self-hosted
VPS plans

Choose a VPS plan for Docker Registry

Blazing-fast NVMe drives and powerful processors. Take a ready-made plan or build the configuration yourself.
Minex
Perfect for personal projects and small websites.
€3.20/mo
Save €0.80 per month

  • 1 vCPU core
  • 1 GB DDR5 RAM
  • 20 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • 1 TB traffic
Basex
A great balance of power and affordable price.
€4.80/mo
Save €1.20 per month

  • 2 vCPU cores
  • 2 GB DDR5 RAM
  • 40 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • 2 TB traffic
Most popular
Corex
For growing applications and businesses.
€7.20/mo
Save €1.80 per month

  • 4 vCPU cores
  • 4 GB DDR5 RAM
  • 50 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • Unlimited traffic
Midex
Resources for high-load projects.
€9.60/mo
Save €2.40 per month

  • 4 vCPU cores
  • 6 GB DDR5 RAM
  • 60 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • Unlimited traffic
Proex
Maximum power and scalability.
€12.00/mo
Save €3.00 per month

  • 6 vCPU cores
  • 8 GB DDR5 RAM
  • 70 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • Unlimited traffic
Scalex
Resources for scaling.
€16.00/mo
Save €4.00 per month

  • 6 vCPU cores
  • 10 GB DDR5 RAM
  • 150 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • Unlimited traffic
Maxex
A large reserve of power.
€44.00/mo
Save €11.00 per month

  • 8 vCPU cores
  • 16 GB DDR5 RAM
  • 200 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • Unlimited traffic
Apex
The top configuration.
€79.99/mo
Save €20.00 per month

  • 16 vCPU cores
  • 32 GB DDR5 RAM
  • 400 GB NVMe SSD
  • Full root access
  • 1 dedicated IPv4
  • Unlimited traffic

What you can do with Docker Registry

Docker Registry (distribution) is the open-source implementation of the OCI Distribution Specification, maintained by the CNCF and shipped as the official registry:2 image. It's built for engineering teams and DevOps setups that need a private place to push and pull container images from CI/CD pipelines — GitLab CI, GitHub Actions, Jenkins — without depending on a third-party registry for every build. A Docker Registry self hosted deployment stores images and layers directly on infrastructure the team already controls.

Unlike Docker Hub or managed cloud registries, it ships with no rate limits, no image retention policies dictated by a vendor, and no forced public visibility for private projects. Because it's a stateless HTTP service with pluggable storage, running it on a vps for Docker Registry gives full control over disk allocation, garbage collection scheduling, and network exposure — details a shared SaaS registry abstracts away.

The applications screen of the control panel with one-click install

Docker Registry features

A server surrounded by app icons — applications running on a VPS

Docker Registry runs as a single lightweight service with no database dependency, exposing everything through the OCI Distribution HTTP API v2.

01

Pluggable storage backends

Stores layers on local filesystem, S3, Azure Blob, Google Cloud Storage, or Swift, chosen via config.yml.

02

htpasswd basic authentication

Restricts push/pull access with a bcrypt-hashed password file, no external identity provider required.

03

TLS-ready HTTP API

Serves image manifests and blobs over HTTPS when paired with a certificate, matching what a Docker Registry vps docker setup typically needs behind a proxy.

04

Webhook notifications

Fires HTTP callbacks on push events, useful for triggering downstream deployment jobs.

05

Garbage collection command

Reclaims disk space from untagged and deleted layers via a dedicated CLI subcommand.

06

Manifest and tag listing API

Lets scripts and CI tools query repository contents programmatically without a UI.

07

Pull-through cache mode

Can proxy and cache images from an upstream registry to speed up repeated pulls, useful when this hosting for Docker Registry doubles as a local mirror.

Requirements

Which server to run it on

Minimum requirements for Docker Registry and the configuration worth starting with.
Minimum
  • CPU1 vCPU
  • Minimum RAM1 GB
  • Disk20 GB
Recommended
VPS Basex
  • CPU2 vCPU
  • Minimum RAM2 GB
  • Disk40 GB

Installation is free — you only pay for the server

Getting started

How to deploy Docker Registry

Three steps and the app is running on your server.
Step 1
Choose a server

Take a plan with enough disk headroom — image layers accumulate quickly, and Docker Registry has no built-in size cap of its own.

Step 2
Pick the app

Select Docker Registry to install Docker Registry on vps as a pre-configured registry:2 container, ready to accept push/pull traffic.

Step 3
Get your credentials

Get the registry URL along with the initial htpasswd credentials needed for docker login.

Why us

Why Host Docker Registry on Leneex

Speed, protection and support you can rely on — on every plan, with no hidden limits.
Deployment speed
A registry with no database and no complex install path goes live in minutes — critical when a broken CI/CD pipeline is waiting on somewhere to push the next image.
Free installation
Teams often spin up a separate registry per project, environment, or client — zero setup cost matters when multiplying instances rather than running just one.
DDoS protection
When the registry serves pull requests to remote CI runners or distributed build agents, an exposed push/pull endpoint becomes a target — protection keeps image distribution available under load.
Control and support
Docker Registry ships without a web UI or built-in RBAC, so storage paths, htpasswd files, and TLS certs are managed directly at the OS level — root access is what makes that configuration possible.
99.9% uptime with SLA compensation
A release pipeline that can't pull its base image doesn't deploy — registry downtime blocks every dependent build, not just one service.
Flexible payment
Agencies running registries for multiple client projects can bill infrastructure per client or consolidate it, with invoicing that fits either model.
What to choose

Docker Registry: Self-Hosted vs Cloud — Which to Choose

Docker Registry has no official managed cloud tier of its own — Docker Hub, GHCR, ECR, and similar services are separate products, not an "official Docker Registry Cloud." The comparison below contrasts a self-hosted instance against typical managed container registry services in that category.
Ready-made SaaS
Self-hosted on LeneexRecommended
Resources and limitsShared infrastructure, rate limits on anonymous and free-tier pullsDedicated disk and bandwidth, no pull-rate throttling
Control and accessNo server access; storage and network config abstracted awayRoot access to storage backend, config.yml, and TLS setup
Feature limitsPrivate repo count, retention, or webhook features often gated by plan tierFull API, garbage collection, and webhook config available by default
ScalingScaling tied to a subscription tier's storage/bandwidth quotaAdd disk or move storage backend on demand
CostPer-seat or per-GB pricing that grows with private repos and trafficFixed VPS price regardless of image volume or pull count
Who it fitsSmall teams wanting zero maintenance and are fine with usage-based limitsTeams with steady CI/CD traffic wanting predictable cost and full config control

Since no official Docker Registry Cloud exists to compare against, self-hosting is simply the practical way to run this registry with full control over storage and access — not a discount alternative to a paid tier that doesn't exist. It suits teams already comfortable managing a Linux server for CI/CD infrastructure.

Frequently Asked Questions about Docker Registry on VPS

What people ask most about Docker Registry and our servers.

  • Yes — pull each image from the old registry, retag it with the new registry's address, and push; a script can loop through repositories using the source registry's catalog API to automate the transfer.

  • Images remain on disk as long as the volume fits within the new plan's storage limit; if the existing data exceeds it, free up space with garbage collection before downgrading or the registry may run out of disk to accept new pushes.

  • The registry itself requires TLS for docker login to work over the public internet, so this needs confirming before launch.

  • It depends more on concurrent push/pull volume and image sizes than user count, since Docker Registry has no per-user licensing — a minimal plan comfortably serves a handful of active CI pipelines pushing moderate-sized images.

  • Leneex keeps the one-click deployment available for redeployment with current image versions, but applying updates to a running instance and testing compatibility with existing stored images is the user's responsibility.

What's already configured out of the box

The one-click deployment runs the official registry:2 container with image layers stored on a persistent volume, so data survives container restarts. The container restarts automatically after a host reboot. By default, registry:2 listens on port 5000 inside the container.

First login and authentication

Docker Registry has no web admin panel of its own — all interaction happens through the docker login, docker push, and docker pull commands, or through the HTTP API directly. Run docker login <your-registry-domain> from any machine with Docker installed, enter the provided credentials once, and Docker caches the token locally for subsequent pushes and pulls.

Storage and cleanup

Every pushed image adds layers to the storage volume, and deleting a tag through the API does not immediately free disk space — it only removes the reference. Actual space reclamation requires running the registry's built-in garbage collection command against its config file, ideally with the registry temporarily set to read-only mode to avoid inconsistencies during the sweep. Because there's no UI for browsing what's stored, listing repositories and tags means querying the /v2/_catalog and /v2/<name>/tags/list API endpoints directly, or using a lightweight third-party frontend pointed at the same instance.

Deploy Docker Registry in about 2 minutes

Choose a server — we do the rest: install, configure and send you the credentials.