ConfigurationRegistriesCustom
CUSTOM (Self-hosted Docker Registry)
The custom registry lets you configure a self-hosted Docker Registry integration.

The custom registry lets you configure a self-hosted Docker Registry integration.
Variables
| Env var | Required | Description | Supported values | Default value when missing |
|---|---|---|---|---|
DD_REGISTRY_CUSTOM_{REGISTRY_NAME}_URL | 🔴 | Registry URL (e.g. https://registry.example.com) | ||
DD_REGISTRY_CUSTOM_{REGISTRY_NAME}_LOGIN | ⚪ | Login (when htpasswd auth is enabled on the registry) | DD_REGISTRY_CUSTOM_{REGISTRY_NAME}_PASSWORD must be defined | |
DD_REGISTRY_CUSTOM_{REGISTRY_NAME}_PASSWORD | ⚪ | Password (when htpasswd auth is enabled on the registry) | DD_REGISTRY_CUSTOM_{REGISTRY_NAME}_LOGIN must be defined | |
DD_REGISTRY_CUSTOM_{REGISTRY_NAME}_AUTH | ⚪ | Base64-encoded login:password string | DD_REGISTRY_CUSTOM_{REGISTRY_NAME}_LOGIN/PASSWORD must not be defined | |
DD_REGISTRY_CUSTOM_{REGISTRY_NAME}_CAFILE | ⚪ | Path to custom CA certificate file | ||
DD_REGISTRY_CUSTOM_{REGISTRY_NAME}_INSECURE | ⚪ | Disable HTTPS certificate validation (plain HTTP is selected by the registry URL scheme) | true, false | false |
DD_REGISTRY_CUSTOM_{REGISTRY_NAME}_CLIENTCERT | ⚪ | Path to client certificate file for mTLS | ||
DD_REGISTRY_CUSTOM_{REGISTRY_NAME}_CLIENTKEY | ⚪ | Path to client key file for mTLS | DD_REGISTRY_CUSTOM_{REGISTRY_NAME}_CLIENTCERT must be defined |
Examples
Use a registry hostname that resolves from inside the Drydock container;
localhost would refer to Drydock itself. The URL scheme selects HTTP or HTTPS. INSECURE=true only disables certificate validation for HTTPS—it does not enable HTTP or make a hostname reachable. Always use HTTPS when registry credentials are configured.Configure for anonymous access
services:
drydock:
image: codeswhat/drydock
...
environment:
- DD_REGISTRY_CUSTOM_PRIVATE_URL=https://registry.example.comdocker run \
-e "DD_REGISTRY_CUSTOM_PRIVATE_URL=https://registry.example.com" \
...
codeswhat/drydockConfigure for Basic Auth
services:
drydock:
image: codeswhat/drydock
...
environment:
- DD_REGISTRY_CUSTOM_PRIVATE_URL=https://registry.example.com
- DD_REGISTRY_CUSTOM_PRIVATE_LOGIN=john
- DD_REGISTRY_CUSTOM_PRIVATE_PASSWORD=doedocker run \
-e "DD_REGISTRY_CUSTOM_PRIVATE_URL=https://registry.example.com" \
-e "DD_REGISTRY_CUSTOM_PRIVATE_LOGIN=john" \
-e "DD_REGISTRY_CUSTOM_PRIVATE_PASSWORD=doe" \
...
codeswhat/drydockConfigure multiple custom registries
services:
drydock:
image: codeswhat/drydock
...
environment:
- DD_REGISTRY_CUSTOM_PRIVATE1_URL=https://registry-one.example.com
- DD_REGISTRY_CUSTOM_PRIVATE1_LOGIN=john
- DD_REGISTRY_CUSTOM_PRIVATE1_PASSWORD=doe
- DD_REGISTRY_CUSTOM_PRIVATE2_URL=https://registry-two.example.com
- DD_REGISTRY_CUSTOM_PRIVATE2_LOGIN=jane
- DD_REGISTRY_CUSTOM_PRIVATE2_PASSWORD=doedocker run \
-e "DD_REGISTRY_CUSTOM_PRIVATE1_URL=https://registry-one.example.com" \
-e "DD_REGISTRY_CUSTOM_PRIVATE1_LOGIN=john" \
-e "DD_REGISTRY_CUSTOM_PRIVATE1_PASSWORD=doe" \
-e "DD_REGISTRY_CUSTOM_PRIVATE2_URL=https://registry-two.example.com" \
-e "DD_REGISTRY_CUSTOM_PRIVATE2_LOGIN=jane" \
-e "DD_REGISTRY_CUSTOM_PRIVATE2_PASSWORD=doe" \
...
codeswhat/drydock