Freedom251 › Artifact repository software
BaGet

What BaGet is
BaGet is a free, open-source NuGet and symbol server for hosting packages and debugging symbols. It runs on Windows, macOS, and Linux and can be self-hosted on a computer, Docker, Azure, AWS, Google Cloud, or Alibaba Cloud. Developers publish NuGet and symbol packages, then restore them through BaGet’s NuGet V3 service index. A symbol download endpoint can be configured for Visual Studio debugging. Read-through caching can index packages from nuget.org, supporting faster builds and restores in offline scenarios. Uploaded packages may use Azure Blob Storage or Amazon S3, while package information can use MySQL, SQLite, SQL Server, PostgreSQL, or Azure Table Storage. Publishing can require an API key. BaGet does not support private feeds that require authentication to access packages. By default, deletion unlists packages rather than permanently removing them, so unlisted versions remain downloadable by ID and version. Reusing an existing package ID and version is rejected unless overwrites are enabled. The project is MIT licensed, and BaGet.Protocol provides a NuGet client for package discovery and downloads.
Who it suits
It suits developers and teams needing a self-hosted, cross-platform NuGet feed and symbol service.
What it does well
- Free, open-source, and MIT licensed
- Runs across Windows, macOS, and Linux
- Supports multiple cloud and database deployments
- Provides NuGet V3 restoration and symbol downloads
- Offers read-through caching for offline restores
What to know first
- Private authenticated feeds are not supported
- Deletion unlists packages instead of hard-deleting
- Package overwrites are rejected by default
- Publishing security uses basic API-key access
Verdict
BaGet supplies core NuGet hosting, symbol serving, caching, and flexible deployment options without a license fee. Teams should account for its unsupported private feeds and default package deletion and overwrite behavior.
Facts from BaGet's own pages
- Client SDK
- The `BaGet.Protocol` package provides a NuGet client for listing versions, downloading packages, finding metadata, and searching. · loic-sharma.github.io, 11 Oct 2026
- Cloud storage
- The documentation describes using Azure Blob Storage or Amazon S3 to store uploaded packages. · loic-sharma.github.io, 4 Oct 2026
- Database options
- BaGet supports MySQL, SQLite, SQL Server, PostgreSQL, and Azure Table Storage for package information. · loic-sharma.github.io, 4 Oct 2026
- Deletion behavior
- By default, package deletion requests unlist packages rather than hard-delete them; unlisted packages can still be downloaded by ID and version. · loic-sharma.github.io, 4 Oct 2026
- Deployment
- BaGet can run on a computer or with Docker, Azure, AWS, Google Cloud, and Alibaba Cloud. · loic-sharma.github.io, 11 Oct 2026
- License
- The project repository identifies its license as MIT. · github.com, 11 Oct 2026
- NuGet client integration
- Packages can be restored from BaGet using its NuGet V3 service index. · loic-sharma.github.io, 4 Oct 2026
- Offline use
- Read-through caching can mirror packages from nuget.org to speed builds and enable restores in offline scenarios. · loic-sharma.github.io, 11 Oct 2026
- Package deletion
- By default, package deletion requests unlist packages, which remain downloadable by package ID and version. · loic-sharma.github.io, 11 Oct 2026
- Package overwrites
- BaGet rejects uploads when a package ID and version already exist unless package overwrites are enabled in configuration. · loic-sharma.github.io, 11 Oct 2026
- Package publishing
- Users can publish NuGet packages and symbol packages with the `dotnet nuget push` command. · loic-sharma.github.io, 11 Oct 2026
- Package restore
- Packages can be restored from BaGet using its NuGet v3 package source endpoint. · loic-sharma.github.io, 11 Oct 2026
- Private feeds
- The documentation says private feeds requiring users to authenticate before accessing packages are not supported. · loic-sharma.github.io, 11 Oct 2026
- Publishing security
- An API key can be configured to require a key when users publish packages. · loic-sharma.github.io, 11 Oct 2026
- Purpose
- BaGet is a lightweight, open-source NuGet and symbol server. · loic-sharma.github.io, 11 Oct 2026
- Self-hosting
- BaGet can run on a computer, Docker, Azure, AWS, Google Cloud, or Alibaba Cloud. · loic-sharma.github.io, 4 Oct 2026
- Storage databases
- BaGet supports MySQL, SQLite, SQL Server, PostgreSQL, and Azure Table Storage for package information. · loic-sharma.github.io, 11 Oct 2026
- Supported operating systems
- The project says BaGet runs on Windows, macOS, and Linux. · github.com, 11 Oct 2026
- Symbol server
- BaGet provides a symbol download endpoint that can be configured in Visual Studio. · loic-sharma.github.io, 11 Oct 2026
Where BaGet stands on Freedom251
- Artifact repository software#15 of 64