EN
Log in Create an account

How to set up Docker Registry on Saplo (private image registry without Docker Hub limits)

Your own private Docker image registry under your domain, with a browser UI for repositories, tags, and layers, without a Docker Hub account and without pull rate limits. Step-by-step guide on how to set up Docker Registry on Saplo.

Grzegorz Kalmus ·

Docker Hub's free plan offers one private repository and image download limits. Any additional images or higher pull rates require a paid Pro or Team plan, charged per user per month. Docker Registry on Saplo is your own private storage for built Docker images under your domain, with a simple browser interface for viewing repositories, tags, and layers, with no repository limits and no download limits. Below is a step-by-step guide on how to set up Docker Registry on Saplo.

Why your own registry instead of Docker Hub

Docker Hub is convenient to start with, but it has two weaknesses that your own registry eliminates:

  • the free Docker Hub plan only provides one private repository, each subsequent private image requires a paid Pro plan (from about $5 per month) or Team (from about $9 per month per user) if more people are working on the project,
  • pull rate limits restrict how many times a day your CI/CD pipeline or production server can pull an image, which, with frequent deployments and many instances of the same application, can realistically block a deployment at the worst possible moment,
  • images built in a company's CI/CD and stored in someone else's public cloud are data beyond your control, even if the repository is marked as private.

Docker Registry on Saplo is the official registry:2 image (Docker Distribution) together with a browser UI, both in one Docker container on your Box. No one counts repositories or downloads, and the total cost is just the cost of the Box itself, regardless of how many images and how many times a day your pipeline pulls them.

Requirements

To set up Docker Registry on Saplo, you need:

  • A Box with Docker enabled (the engine automatically enables it during installation from the catalog; container nesting, which Saplo has by default, is required),
  • A minimum of 512 MB RAM free on the Box and 10 GB disk space for images. The cheapest plan that supports this is Box S for $29 per year,
  • A domain or *.saploapp.pl subdomain included in the price of every plan, under which the registry and UI will be hosted,
  • A separate database is NOT required. The registry stores built images in the application's data volume, not in an SQL database.

You can find a full description of the application and its location in the catalog on the Docker Registry on Saplo page.

Step-by-step installation

  1. In the Saplo panel, go to App Catalog and select Docker Registry.
  2. Select a Box with at least 512 MB of free RAM and 10 GB of free disk space, and a domain or subdomain for the registry.
  3. Confirm the installation. The engine generates a random administrator password, saves it as a bcrypt hash (the only format supported by the Docker registry in htpasswd authorization mode), sets up two containers, registry from the official registry:2 image and registry-ui from the joxit/docker-registry-ui image, and waits until the UI actually responds via HTTP before considering the installation complete.
  4. The UI acts as a reverse proxy to the registry API on the same port and domain, so docker login, docker push and docker pull work directly at the application's address, without additional ports and without CORS configuration.
  5. Administrator login credentials (login, password) are saved to the DOCKER-REGISTRY-SETUP.txt file in the application directory.

First use

  1. Read your login and password from the DOCKER-REGISTRY-SETUP.txt file in the application directory (login is admin by default, password is randomly generated during installation).
  2. Log in from your local Docker with the command docker login your-domain.saploapp.pl and provide the login and password from the file.
  3. Tag the image at the registry address, for example docker tag my-image:latest your-domain.saploapp.pl/my-image:latest, and push it with the command docker push.
  4. Go to the domain address in your browser, log in with the same username and password, and browse repositories, tags, and layers in the joxit/docker-registry-ui UI.
  5. On the production server or in the CI/CD pipeline, pull the image with the command docker pull your-domain.saploapp.pl/my-image:latest, after logging in with the same Account.

Docker Registry on Saplo vs. Docker Hub

Docker Hub Free Docker Hub Pro/Team Docker Registry on Saplo
Private repositories limit one unlimited unlimited
Pull rate limit yes, for anonymous and free accounts higher, but still counted none
Where images are stored on Docker Inc servers on Docker Inc servers on your Box
Cost $0, but with limits from about $5 per user per month the cost of the Box itself (from $29 per year)

FAQ

Do I need a Docker Hub account or another public registry? No, Saplo's Docker Registry is completely self-contained. Logging into docker login uses the username and password generated during installation, without requiring an account with an external provider.

Is there a limit to the number of images or downloads? No, the only limit is the disk space of your Box, which you purchase with your plan.

Can I change the administrator password? Yes, you generate a new bcrypt hash using a one-off httpd:2.4-alpine container (docker run --rm httpd:2.4-alpine htpasswd -Bbn user password), replace the htpasswd file in the application directory, and restart the registry container.

Does the registry require a separate database? No, images and their metadata are stored in the registry container's data volume, without the need for a separate MySQL or Postgres database.

Can I delete old images and tags? Yes, image deletion is enabled (REGISTRY_STORAGE_DELETE_ENABLED) and available directly from the UI in your browser, without needing SSH access.

If you're currently paying for Docker Hub Pro or Team just to have more than one private repository, contact us. We'll help you set up your own registry.

  • #CI/CD
  • #DevOps
  • #Docker
  • #Guide