Cyberpunk Docker Registry Interface
π³ Docker Registry | π Web UI | β‘ Fast | π¨ Beautiful | π Secure
CyberDock is a sleek, cyberpunk-themed Docker Registry with an integrated web interface. It combines a fully compliant OCI Distribution registry with a beautiful, real-time UI for managing your container images.
The intention is to provide a simple, secure, and efficient way to replay and manage your Docker images.
| Registry Features | Content Support |
|---|---|
|
|
| Web Interface | Security |
|
|
Docker image is a simple way to get started.
# Run on port 5000 (both registry and UI)
docker run -d --name cyberdock -p 5000:5000 mattrogers/cyberdock:latestAccess points:
- Registry API: https://localhost:5000/v2/
- Admin UI: https://localhost:5000/admin/
- Root (/) redirects to /admin/
If you have a mac π host and want to work around the port conflicts:
# Single-port mode on custom port
docker run -d --name cyberdock -p 5005:5000 mattrogers/cyberdock:latest
# Access at https://localhost:5005/admin/CyberDock now runs both the registry and admin UI on a single port by default, simplifying deployment:
./cyberdock -p 5000Path-based routing:
/v2/*- Docker Registry API (for docker push/pull)/admin/*- Web UI for managing the registry/api/*- Management API endpoints/static/*- Static assets for the UI/- Redirects to/admin/
Deploy CyberDock to your Kubernetes cluster using metallb for load balancing. You can add your cert via the UI, by default generates a self-signed cert. You'll need to restart the pod to apply the new cert.
kubectl apply -f kubernetes/cyberdock.yamlcurl -k -X POST https://cyberdock:5000/api/purgeThe Docker client works seamlessly with both single-port and dual-port modes.
Add to your Docker daemon configuration:
{
"insecure-registries": ["localhost:5000"]
}docker tag your-image:tag localhost:5000/your-image:tag
docker push localhost:5000/your-image:tagdocker pull localhost:5000/your-image:tagCommand line flags:
# Single-port mode (default)
-p PORT # Run both registry and UI on single port (default: 5000)
# Dual-port mode (legacy)
-r PORT # Set registry port (default: 5000)
-g PORT # Set web UI port (default: 5001)Note: When both -r and -g are specified, CyberDock automatically switches to dual-port mode for backward compatibility.
-
0.3.4d:
- Fixed bugs in UI showing incorrect storage totals.
-
0.3.3d:
- Fixed tag update bug that prevented pushing latest tags over existing images
- Enhanced support for multi-level repository paths (org/team/project)
- Improved layer deduplication - shared layers now properly preserved during updates
- Added comprehensive path validation across all registry operations
-
0.3.2d:
- Added single-port mode as default deployment option
- Fixed /admin routing in single-port mode
- Simplified deployment with path-based routing
- Added certificate management UI (upload custom certs or generate new ones)
- Maintained backward compatibility with dual-port mode
-
0.3.1d:
- Added project group and name to the UI (issue #3)
-
0.3.0d:
- Added storage efficiency analysis
- Added image density metric
- Added repository health metric
- Added total layers and average layers per image metrics
- Added layer distribution chart
- Bugfixes for dashes and long names

