cyrius44/portalcrane

By cyrius44

β€’Updated 10 days ago

Managing Docker Registry. It provides a interface to browse, manage images and tags

Image
Integration & delivery
0

6.0K

cyrius44/portalcrane repository overview

⁠🐳 Portalcrane

Portalcrane is a self-hosted Docker Registry Manager.
It provides a modern, intuitive interface to browse, search, and manage images and tags, with a staging pipeline including vulnerability scanning.


⁠Features

  • 🎨 Modern UI with light / dark / auto themes
  • πŸ” Local authentication (admin + per-user accounts) with optional OIDC support
  • πŸ‘₯ Multi-user management with granular pull / push permissions
  • πŸ“ Folder-based access control (per-user pull/push permissions on image namespaces)
  • πŸ“¦ Browse, search, and paginate images and tags
  • πŸ—‘οΈ Delete images or individual tags
  • 🏷️ Retag: add new tags to existing images
  • πŸš€ Staging pipeline: Search Docker Hub β†’ Pull β†’ Trivy CVE scan (optional) β†’ Push to registry
  • πŸ“Š Dashboard with live stats (image count, disk usage, largest image, user & admin counts)
  • πŸ” Advanced mode: detailed image metadata (layers, labels, env vars, architecture…)
  • 🌐 External registries: CRUD management + connectivity test
  • πŸ”„ Sync: push local images to external registries (full or per-image)
  • πŸ“‹ Audit logs: full history of API operations
  • πŸ”’ Registry proxy with authentication enforcement
  • ℹ️ About panel with version check against the latest GitHub release
  • 🐳 Single-container deployment (frontend + backend + registry in one image)

⁠Architecture

LayerTechnology
FrontendAngular 21 β€” Signals, Signal Forms, Zoneless, standalone components
StylingBootstrap 5 + Bootstrap Icons
BackendFastAPI + Python 3.14 (fully async)
ValidationPydantic v2
RegistryDistribution (CNCF) v3 embedded
Vulnerability scanningTrivy (embedded)
Image transferskopeo (daemon-less pull/push/copy)
ContainerSingle image β€” supervisord orchestrates all processes
Platformslinux/amd64

⁠Quick Start

⁠Docker CLI
docker run -d \
  --name portalcrane \
  -p 8080:8080 \
  -e ADMIN_USERNAME=admin \
  -e ADMIN_PASSWORD=yourpassword \
  -e SECRET_KEY=your-secret-key \
  -v portalcrane_data:/var/lib/portalcrane \
  cyrius44/portalcrane:latest

Open http://localhost:8080⁠ and log in with your admin credentials.

⁠License

MIT β€” see LICENSE⁠ for details.

Author: @cyr-ius⁠

Repository: https://github.com/cyr-ius/portalcrane⁠

⁠Screenshot

image

Tag summary

Content type

Image

Digest

sha256:163f93868…

Size

170.8 MB

Last updated

10 days ago

docker pull cyrius44/portalcrane