Configuration Guide

Configuration Methods

You can configure registries in two ways:

Environment Variables

Variable Description Default
CONFIG_FILE Path to registries configuration file (optional - setup wizard used if not provided) /app/data/registries.config.json
READ_ONLY Enable read-only mode (disable delete operations) false
PORT Port for the web interface 5000
TRIVY_ENABLED Enable vulnerability scanning true

Setup Wizard (First Run)

If no configuration file exists, the UI displays a setup wizard on first access:

Setup Wizard First Run
  1. Access the UI at http://localhost:5000
  2. Enter registry details:
    • Registry Name: Friendly name (e.g., "Local Registry")
    • Registry URL: API endpoint (e.g., http://localhost:5001)
    • Authentication: Enable if registry requires credentials
  3. Click "Test Connection" to verify
  4. Save configuration
  5. Configuration is saved to /app/data/registries.config.json

Manual Configuration File

For automated deployments, create a registries.config.json file before starting the UI:

Local Registry (No Authentication)

{
  "registries": [
    {
      "name": "Local Registry",
      "url": "http://localhost:5001",
      "auth": {
        "type": "none"
      }
    }
  ]
}

Registry with Basic Authentication

{
  "registries": [
    {
      "name": "Private Registry",
      "url": "https://registry.example.com",
      "auth": {
        "type": "basic",
        "username": "admin",
        "password": "secret"
      }
    }
  ]
}

Multiple Registries

{
  "registries": [
    {
      "name": "Local Registry",
      "url": "http://localhost:5001",
      "auth": {
        "type": "none"
      }
    },
    {
      "name": "Production Registry",
      "url": "https://registry.prod.example.com",
      "auth": {
        "type": "basic",
        "username": "admin",
        "password": "prod-secret"
      }
    }
  ]
}

Docker Compose Configuration

Complete example with registry and UI:

version: '3.8'

services:
  registry:
    image: registry:2
    ports:
      - "5001:5000"
    environment:
      REGISTRY_STORAGE_DELETE_ENABLED: "true"
    volumes:
      - registry-data:/var/lib/registry

  registry-ui:
    image: ghcr.io/vibhuvioio/docker-registry-ui:latest
    ports:
      - "5000:5000"
    environment:
      - CONFIG_FILE=/app/data/registries.config.json
      - READ_ONLY=false
    volumes:
      - ./data:/app/data
    depends_on:
      - registry

volumes:
  registry-data:

Security Considerations