Skip to main content
Version: 9.x

Custom / Self-Hosted Registry

🔐 Setup Required

The custom registry module allows connecting to any self-hosted, private, or third-party OCI-compliant registry.


⚙️ Configuration Variables​

WUD_REGISTRY_CUSTOM_{registry_name}_URL
Requiredurl

Registry base URL (e.g. http://localhost:5000 or https://registry.local)

Allowed values:Valid HTTP/HTTPS URL
WUD_REGISTRY_CUSTOM_{registry_name}_AUTH
Optionalstring

Direct Base64-encoded username:password string

Allowed values:Base64-encoded username:password (mutually exclusive with LOGIN/PASSWORD)
WUD_REGISTRY_CUSTOM_{registry_name}_ICON
Optionalstringdefault: si-opencontainersinitiative

Icon displayed in the user interface, compatible with Iconify identifiers (e.g. mdi:server, si-gitlab).

WUD_REGISTRY_CUSTOM_{registry_name}_LOGIN
Optionalstring

Username (for Basic / htpasswd authentication)

Allowed values:Required when password is provided
WUD_REGISTRY_CUSTOM_{registry_name}_PASSWORD
Optionalstring

Password (for Basic / htpasswd authentication)

Allowed values:Required when username is provided
WUD_REGISTRY_CUSTOM_{registry_name}_TOKEN
Optionalstring

Access token sent as Authorization: Bearer <token>

Allowed values:Bearer token (mutually exclusive with LOGIN/PASSWORD and AUTH)

🚀 Examples​

Anonymous Local Registry​

services:
whatsupdocker:
image: getwud/wud
environment:
- WUD_REGISTRY_CUSTOM_LOCAL_URL=http://localhost:5000

Anonymous OCI Registry Requiring a Dynamic Token​

Some OCI-compliant registries (e.g. docker.elastic.co) require an anonymous Bearer token even for fully public images. When no LOGIN/PASSWORD, AUTH, or TOKEN is configured, WUD automatically follows the registry's own WWW-Authenticate challenge to fetch a short-lived token before pulling — no extra configuration is needed.

services:
whatsupdocker:
image: getwud/wud
environment:
- WUD_REGISTRY_CUSTOM_ELASTIC_URL=https://docker.elastic.co

Bearer Token Authentication​

Use TOKEN when the registry accepts a bearer token directly. Do not combine it with LOGIN, PASSWORD, or AUTH.

services:
whatsupdocker:
image: getwud/wud
environment:
- WUD_REGISTRY_CUSTOM_LOCAL_URL=https://registry.example.com
- WUD_REGISTRY_CUSTOM_LOCAL_TOKEN=personal-access-token

Authenticated Private Registry​

services:
whatsupdocker:
image: getwud/wud
environment:
- WUD_REGISTRY_CUSTOM_LOCAL_URL=https://registry.example.com
- WUD_REGISTRY_CUSTOM_LOCAL_LOGIN=admin
- WUD_REGISTRY_CUSTOM_LOCAL_PASSWORD=secret_password