Categories
Self-Hosted Developer Tools DevOps CI/CD Container Registry Package Management Artifact Registry Supply Chain SecurityStars
Forks
Watchers
Developer links
Nora
Public registries rate-limit your CI, log every pull, and pick the worst moment to go down; Nora replaces that dependency with a self-hosted artifact registry that hosts and caches seventeen package formats behind a single address. Point Docker, Maven, npm, pip, Cargo, and eleven other clients at one endpoint, and Nora serves your private artifacts while transparently caching upstream packages fetched from Docker Hub, Maven Central, npmjs, and crates.io. Each base image or library downloads once and is then served locally, so builds get faster, stop tripping rate limits, and survive upstream outages. Curation rules decide what is allowed to reach your builds: allowlists and blocklists filter packages by name, minimum release-age rules hold back freshly published versions, and new digests can wait in quarantine until approved. Anything you publish keeps its name: a hosted package is never silently replaced by an upstream package sharing it. Pipelines publish without stored secrets through OIDC identity from GitHub Actions and GitLab CI, and API tokens with read, write, and admin roles cover the rest. A web dashboard shows downloads, cache hit rates, storage usage, and recent activity for every registry, and audit logs plus Prometheus metrics feed your monitoring. For disconnected networks, a mirror command prefetches whatever your lockfiles name, an import tool migrates Artifactory or Nexus repositories, and backup and restore keep a spare copy. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Benefits
- Seventeen formats, one registry
- Docker images, Maven jars, npm and PyPI packages, Cargo crates, Go modules, and eleven more formats share one binary, one port, and one storage volume instead of a fleet of separate registries.
- Cache public packages locally
- Pull-through caching downloads each upstream image or package once and serves it from your server afterwards, cutting build times, dodging rate limits, and keeping pipelines green during registry outages.
- Supply-chain curation built in
- Allowlists, blocklists, minimum release-age rules, digest quarantine, and OSV vulnerability blocking decide which package versions may enter your builds, so a compromised release cannot flow straight into production.
- No database to operate
- A single 23 MB static binary idles at roughly 15 MB of memory and stores metadata in its data directory, so there is no PostgreSQL, Redis, or message broker to patch and back up.
Features
- OCI and Helm support
- Full OCI Distribution Spec 1.1 registry with chunked uploads, cross-repository blob mounts, bearer token auth, and Helm chart push and pull over the standard /v2/ API endpoints.
- OIDC pipeline identity
- GitHub Actions and GitLab CI publish with short-lived OIDC tokens that Nora validates against the provider JWKS, removing long-lived registry passwords from pipeline secrets entirely.
- S3 and GCS storage
- Artifacts live on local disk, any S3-compatible object store, or Google Cloud Storage, and garbage collection reclaims unreferenced layers per repository to keep storage usage predictable.
- Audit log and metrics
- Every registry action lands in an audit log, Prometheus metrics expose downloads, uploads, and cache behavior, and per-format rate limits keep one noisy client from starving the others.
- Air-gap and migration tools
- The mirror command prefetches artifacts named in your lockfiles for disconnected networks, while import migrates repositories from Artifactory or Nexus and backup and restore protect the data directory.