finds.dev← search

// the find

loic-sharma/BaGet

★ 2,788 · C# · MIT · updated Jul 2024

A lightweight NuGet and symbol server

BaGet is a self-hosted NuGet and symbol server you can drop in front of your .NET build pipeline. It supports SQLite, SQL Server, PostgreSQL, and MySQL for the package index, plus cloud blob storage (Azure, AWS, GCP, Alibaba) for the actual .nupkg files. Aimed at teams that need a private feed or want to mirror nuget.org for offline/air-gapped builds.

The storage backend abstraction is genuinely well-designed — you can mix-and-match database and blob store independently (SQLite index + S3 storage works fine). The separate BaGet.Protocol library is a clean NuGet v3 client you can pull into other projects without dragging in the server. Read-through caching from nuget.org is a real time-saver for air-gapped CI environments. The project structure is straightforward enough that extending it — adding auth middleware, custom indexing logic — doesn't require archaeology.

Last meaningful commit was mid-2024 and the issues list is full of stale PRs, so you're effectively adopting maintenance yourself. There's no built-in access control beyond a single API key — no per-package visibility, no org/team scoping, which limits it to small trusted teams. The Azure Table storage backend predates the modern Azure SDK and will need migration work if you run into deprecations. Symbol server support exists but the documentation is thin enough that getting it working with Visual Studio source stepping is trial and error.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →