2025-07-06 12:52:27 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:52:27 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:52:27 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00
2025-07-06 12:45:37 -04:00

Docker Registry Browser - Production Deployment

A modern, responsive web interface for browsing Docker registries with support for both Docker v2 and OCI manifest formats.

Features

  • Browse repositories and tags
  • View detailed image information (layers, environment, labels, etc.)
  • Copy docker pull commands
  • Push command generator with examples
  • Dark/Light mode toggle
  • Fully responsive design
  • Support for OCI and Docker v2 manifests
  • Multi-platform image support

Quick Start

Option 1: Docker Run

docker run -d \
  --name docker-registry-browser \
  -p 8080:80 \
  --add-host=host.docker.internal:host-gateway \
  -e REGISTRY_HOST=localhost:5000 \
  -e REGISTRY_PROTOCOL=http \
  your-dockerhub-username/docker-registry-browser:latest

Option 2: Docker Compose

git clone https://github.com/your-username/docker-registry-browser.git
cd docker-registry-browser
docker-compose up -d

Option 3: Build from Source

git clone https://github.com/your-username/docker-registry-browser.git
cd docker-registry-browser
docker build -t docker-registry-browser .
docker run -d -p 8080:80 --add-host=host.docker.internal:host-gateway docker-registry-browser

Unraid Installation

  1. In Unraid, go to Apps tab
  2. Search for "Docker Registry Browser"
  3. Click Install
  4. Configure the settings and click Apply

Method 2: Manual Template

  1. In Unraid, go to Docker tab
  2. Click Add Container
  3. Set Template to the template URL or upload the XML template
  4. Configure the required settings
  5. Click Apply

Method 3: Docker Compose (Unraid 6.12+)

  1. Install the "Compose Manager" plugin
  2. Create a new compose stack with the provided docker-compose.yml
  3. Deploy the stack

Configuration

Environment Variables

Variable Default Description
REGISTRY_HOST localhost:5000 Docker registry hostname and port
REGISTRY_PROTOCOL http Protocol (http/https)
REGISTRY_USERNAME - Registry username (optional)
REGISTRY_PASSWORD - Registry password (optional)

Unraid Configuration

Setting Default Description
WebUI Port 8080 Port for web interface
Registry Host localhost:5000 Your registry address
Registry Protocol http http or https
Registry Username - Optional authentication
Registry Password - Optional authentication

Usage

  1. Access the web interface at http://your-server:8080
  2. Browse repositories on the left panel
  3. Select a repository to view its tags
  4. Click the info button to view detailed image information
  5. Use the menu for push commands and settings
  6. Toggle dark/light mode using the theme button in the toolbar

Features Guide

Dark Mode

  • Toggle between light and dark themes using the moon/sun icon in the toolbar
  • Theme preference is saved locally and persists between sessions
  • All UI components are properly themed for optimal visibility in both modes

Browsing Images

  • Repository list shows all available repositories
  • Click a repository to load its tags
  • Search repositories using the search field
  • View tag details by clicking the info button

Push Commands

  • Access via the menu (three dots) in the toolbar
  • Get step-by-step instructions for pushing images
  • Copy commands to clipboard
  • Includes multi-architecture build instructions

Image Details

  • View comprehensive image information
  • See layer details, environment variables, labels
  • Check image size, architecture, and creation date
  • Inspect exposed ports and volumes

Troubleshooting

Registry Connection Issues

Problem: Cannot connect to registry Solution:

  1. Verify REGISTRY_HOST is correct
  2. Check if registry is accessible from container
  3. For local registries, ensure --add-host=host.docker.internal:host-gateway is set

CORS Issues

Problem: API requests blocked by CORS Solution: The nginx configuration includes CORS headers, but ensure your registry allows cross-origin requests

Authentication Issues

Problem: 401 Unauthorized errors Solution: Set REGISTRY_USERNAME and REGISTRY_PASSWORD environment variables

Manifest Issues

Problem: "OCI index found" errors Solution: This should be resolved in the current version which supports OCI manifests

Development

Building

# Install dependencies
npm install

# Development server
npm start

# Build for production
npm run build

# Build Docker image
docker build -t docker-registry-browser .

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

Health Check

The container includes a health check endpoint at /health that returns:

  • 200 OK with "healthy" response when running properly
  • Checks every 30 seconds with 3 retries

Security

  • Runs as non-root user (nginx:nginx)
  • Includes security headers
  • No sensitive data stored in container
  • Registry credentials passed via environment variables

License

MIT License - see LICENSE file for details.

Changelog

v1.0.0

  • Initial release
  • Support for Docker v2 and OCI manifests
  • Responsive design
  • Push command generation
  • Dark/Light mode
  • Multi-platform image support
Description
No description provided
Readme MIT 198 KiB
Languages
TypeScript 44.6%
SCSS 26.9%
HTML 19.4%
JavaScript 5.6%
Shell 2.3%
Other 1.2%