Skip to content

Registry Management

This guide shows you how to manage Docker Registries in ReadyStackGo to pull images from private registries.

ReadyStackGo supports pulling Docker images from any OCI-compliant registry. Through the Settings page, you can centrally manage registry credentials and automatically assign them to the correct registries using Image Patterns.

FeatureDescription
Add RegistryConfigure Docker Hub, GHCR, GitLab, Quay.io or custom registries
Manage CredentialsStore username/password or token for private registries
Image PatternsAutomatic assignment of images to registries via glob patterns
Default RegistryFallback registry for images without a pattern match
Edit RegistryModify name, URL, credentials and patterns after creation
Delete RegistryRemove registry configuration including credentials

When pulling an image, ReadyStackGo searches for credentials in the following order:

  1. Database Registries - Registries from Settings with matching Image Patterns
  2. DOCKER__CONFIGPATH - Path from environment variable or appsettings.json
  3. DOCKER_CONFIG - Standard Docker convention (directory)
  4. /root/.docker/config.json - Default path in Linux container
  5. No Auth - For public images

Open the Settings page from the sidebar navigation. You will find the Container Registries card there.

Settings page with Container Registries card


Click on the Container Registries card. On first access, an empty state is shown – no registries configured yet.

Empty state with no configured registries

Click Add Your First Registry or the Add Registry button in the top right.


Fill out the form. ReadyStackGo provides templates for well-known registries:

RegistryURL
Docker Hubhttps://index.docker.io/v1/
GitHub Container Registryhttps://ghcr.io
GitLab Container Registryhttps://registry.gitlab.com
Quay.iohttps://quay.io
CustomEnter any URL

Select a registry type from the dropdown – name and URL are filled automatically. Optionally configure Credentials (Username + Password/Token) and Image Patterns.

Registry form with Docker Hub and credentials filled in


After saving, the registry appears in the overview. Badges indicate the status:

  • Authenticated – Credentials are stored
  • Default – This registry is used as fallback

Registry list with newly created Docker Hub registry

From here you can edit registries, set as default, or delete them.


Click Edit on a registry to modify its name, URL, credentials, or image patterns.

Edit form of a registry with modified data


Click Delete on a registry. A confirmation page appears showing the registry details.

Delete confirmation with registry details and warning


Image Patterns determine which registry credentials are used for which images. They use glob-style syntax:

PatternDescriptionExample Matches
library/*Single path segmentlibrary/nginx, library/redis
myorg/**Any number of path segmentsmyorg/app, myorg/team/app
ghcr.io/**Registry-specificghcr.io/owner/repo
nginxExact matchOnly nginx
  • * matches any characters within one path segment
  • ** matches any characters across multiple path segments
  • Patterns are case-insensitive
  • Tags and digests are ignored during matching
RegistryImage PatternsUsed For
Docker Hub (Company)mycompany/*, mycompany/**Company images on Docker Hub
GitHub Container Registryghcr.io/**All GitHub Packages
Azure Container Registrymyacr.azurecr.io/**Azure-hosted images
Default (Docker Hub)(none - marked as default)All other public images

You can mark a registry as Default. This registry is used for all images that don’t match any pattern. Click Set Default in the registry list.


ReadyStackGo works with any OCI-compliant registry:

RegistryURL Format
Docker Hubhttps://index.docker.io/v1/
GitHub Container Registryhttps://ghcr.io
Azure Container Registryhttps://<name>.azurecr.io
Google Container Registryhttps://gcr.io
Amazon ECRhttps://<account>.dkr.ecr.<region>.amazonaws.com
Self-hostedhttps://registry.example.com

Failed to pull image 'mycompany/myimage:latest' and no local copy exists.
Error: pull access denied for mycompany/myimage

Causes:

  1. No registry credentials configured
  2. Wrong credentials
  3. Image pattern doesn’t match
  4. Image doesn’t exist in the registry

Solutions:

  1. Add a registry via Settings
  2. Configure an Image Pattern that matches your image
  3. Verify credentials
  4. Check the image name

If configured credentials are not being used:

  1. Check Image Patterns - Does the pattern match your image?
  2. Verify Pattern Syntax - Use * for one segment, ** for multiple
  3. More Specific Patterns - Does another registry have a more specific pattern?

For detailed credential resolution logs:

environment:
- Logging__LogLevel__ReadyStackGo.Infrastructure.Docker=Debug

  • Passwords are stored in the SQLite database (not encrypted at rest)
  • Restrict access to the ReadyStackGo instance
  • The database file should only be readable by the ReadyStackGo process
  • Use service accounts instead of personal credentials