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.

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

  1. Navigate to Settings in the sidebar
  2. Click Add Registry
  3. Fill in the fields:
FieldDescription
NameDisplay name (e.g., “Docker Hub - Company”)
URLRegistry URL (e.g., https://index.docker.io/v1/)
UsernameOptional - for private registries
PasswordOptional - for private registries
Image PatternsOptional - Glob patterns for automatic matching
  1. Click Save

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:

  1. Open the registry in Settings
  2. Enable Set as Default
  3. Save

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