<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: devitway</title>
    <description>The latest articles on DEV Community by devitway (@devitway).</description>
    <link>https://dev.to/devitway</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3822872%2F663e1d90-f2ba-4a00-bccc-af3c74e11584.jpeg</url>
      <title>DEV Community: devitway</title>
      <link>https://dev.to/devitway</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devitway"/>
    <language>en</language>
    <item>
      <title>Why I replaced Nexus with a 32MB binary</title>
      <dc:creator>devitway</dc:creator>
      <pubDate>Fri, 13 Mar 2026 18:15:25 +0000</pubDate>
      <link>https://dev.to/devitway/why-i-replaced-nexus-with-a-32mb-binary-470f</link>
      <guid>https://dev.to/devitway/why-i-replaced-nexus-with-a-32mb-binary-470f</guid>
      <description>&lt;p&gt;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.&lt;br&gt;
So I built &lt;strong&gt;NORA&lt;/strong&gt; — a multi-protocol artifact registry in Rust.&lt;/p&gt;

&lt;h2&gt;
  
  
  The numbers
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;NORA&lt;/strong&gt;: Startup &amp;lt;3s, RAM &amp;lt;100MB, Image 32MB, MIT license&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nexus&lt;/strong&gt;: Startup 30-60s, RAM 2-4GB, Image 600MB+, EPL/Commercial&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Artifactory&lt;/strong&gt;: Startup 30-60s, RAM 2-4GB, Image 1GB+, Commercial&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;One binary handles all of these:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Docker Registry v2&lt;/strong&gt; — full OCI spec, pull-through cache for Docker Hub/GHCR&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maven&lt;/strong&gt; — host JARs + proxy to Maven Central&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;npm&lt;/strong&gt; — private packages + proxy to npmjs.org&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cargo&lt;/strong&gt; — Rust crates hosting&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PyPI&lt;/strong&gt; — pip-compatible index&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it in 10 seconds
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-p&lt;/span&gt; 4000:4000 ghcr.io/getnora-io/nora:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;a href="http://localhost:4000/ui/" rel="noopener noreferrer"&gt;http://localhost:4000/ui/&lt;/a&gt; — that's it.&lt;/p&gt;

&lt;p&gt;Tech stack&lt;/p&gt;

&lt;p&gt;Built with Axum + Tokio. No database — just filesystem or S3. AtomicU64 for lock-free metrics, Tower middleware for auth and rate&lt;br&gt;
  limiting, streaming uploads with async background caching.&lt;/p&gt;

&lt;p&gt;Links&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/getnora-io/nora" rel="noopener noreferrer"&gt;https://github.com/getnora-io/nora&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs: &lt;a href="https://getnora.dev" rel="noopener noreferrer"&gt;https://getnora.dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Telegram: &lt;a href="https://t.me/getnora" rel="noopener noreferrer"&gt;https://t.me/getnora&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;MIT licensed, contributions welcome.&lt;/p&gt;

</description>
      <category>rust</category>
      <category>docker</category>
      <category>devops</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
