CRUI
Project type: Open source
Container registries are easy to push to and painful to browse. CRUI is a thin, read-only web UI over the Docker Registry V2 API — browse repositories, list tags, inspect manifests, drill into layer digests — with optional auth and a single Docker container to deploy.
The Challenge
Poking around a private registry usually means running curl against the V2 API or paying for a hosted registry UI. Teams want a small, browse-only tool that works against any V2-compliant registry without granting write access or standing up a full-featured registry frontend.
Our Approach
- Next.js 16 App Router with Server Components calling the Docker Registry V2 API server-side — credentials never reach the browser
- Optional session-based auth — works against public registries by default, prompts for credentials when the registry requires them
- Manifest browser parses the OCI image spec and surfaces layer digests, sizes, and media types
- Vitest for unit and component tests, Playwright for end-to-end registry browsing flows
- shadcn/ui + Radix + Tailwind v4 with dark mode
- Ships as a single Docker container with zero external dependencies
What It Achieved
- One container replaces "ssh in and curl the registry API"
- Safe by design — the UI literally cannot write to the registry
- Works against any V2-compliant registry, public or private
- Covered by Playwright tests so registry-browsing behaviour doesn't regress
Tech Stack
Next.js 16React 19TypeScriptDocker Registry V2 APIVitestPlaywrightshadcn/uiRadix UITailwind CSS v4Docker
Need a focused developer tool built in days, not months?
If there's a small internal pain point eating your team's time, we'll ship a fix.
Book a discovery call