This content originally appeared on DEV Community and was authored by devitway
Every artifact registry I've used is bloated. Nexus wants 4GB RAM. Artifactory is even heavier. I just want to store Docker images and Maven JARs.
So I built NORA — a multi-protocol artifact registry in Rust.
The numbers
NORA: Startup <3s, RAM <100MB, Image 32MB, MIT license
Nexus: Startup 30-60s, RAM 2-4GB, Image 600MB+, EPL/Commercial
Artifactory: Startup 30-60s, RAM 2-4GB, Image 1GB+, Commercial
What it does
One binary handles all of these:
- Docker Registry v2 — full OCI spec, pull-through cache for Docker Hub/GHCR
- Maven — host JARs + proxy to Maven Central
- npm — private packages + proxy to npmjs.org
- Cargo — Rust crates hosting
- PyPI — pip-compatible index
Try it in 10 seconds
docker run -p 4000:4000 ghcr.io/getnora-io/nora:latest
Open http://localhost:4000/ui/ — that's it.
Tech stack
Built with Axum + Tokio. No database — just filesystem or S3. AtomicU64 for lock-free metrics, Tower middleware for auth and rate
limiting, streaming uploads with async background caching.
Links
- GitHub: https://github.com/getnora-io/nora
- Docs: https://getnora.dev
- Telegram: https://t.me/getnora
MIT licensed, contributions welcome.
This content originally appeared on DEV Community and was authored by devitway
devitway | Sciencx (2026-03-13T18:15:25+00:00) Why I replaced Nexus with a 32MB binary. Retrieved from https://www.scien.cx/2026/03/13/why-i-replaced-nexus-with-a-32mb-binary/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.