Skip to content

vhafdal/BaGetter

 
 

Repository files navigation

BaGetter 🥖🛒

BaGetter is a lightweight NuGet and symbol server, written in C#. It's forked from BaGet for progressive and community driven development.

Build status Docker image version Discord

🚀 Getting Started

With Docker:

  1. docker run -p 5000:8080 -v ./bagetter-data:/data bagetter/bagetter:latest
  2. Browse http://localhost:5000/ in your browser

With .NET:

  1. Install the .NET SDK
  2. Download and extract BaGetter's latest release
  3. Start the service with dotnet BaGetter.dll
  4. Browse http://localhost:5000/ in your browser

Manual search reindex command:

dotnet run --project src/BaGetter -- reindex search

With IIS (official microsoft documentation):

  1. Install the hosting bundle
  2. Publish the host project (src/BaGetter), not src/BaGetter.Web:
    • dotnet publish src/BaGetter/BaGetter.csproj -c Release -p:PublishProfile=FolderProfile
  3. Deploy the src/BaGetter/bin/Release/net10.0/publish/ folder to your server
  4. Ensure your IIS site's physical path points to the publish folder
  5. Confirm web.config exists in the publish output. If you only see bin/Release/net10.0/ and not publish/, you likely built instead of published.

You can also use the helper script from the repository root:

powershell -ExecutionPolicy Bypass -File scripts/Publish-IIS.ps1

For more information, please refer to the documentation.

📦 Features

  • Cross-platform: runs on Windows, macOS, and Linux!
  • ARM (64bit) support. You can host your NuGets on a device like Raspberry Pi!
  • Cloud native: supports Docker, AWS, Google Cloud, Alibaba CloudTencent Cloud
  • Offline support: Mirror a NuGet server to speed up builds and enable offline downloads
  • Private feed authentication: supports local users, API keys, and LDAP / Active Directory-backed feed access
  • Operational readiness: supports ETag-based HTTP caching, response compression, request rate limiting, security headers, and audit logging for package mutations
  • Search recovery tooling: supports manual and background search reindexing

For deployment checks and troubleshooting workflows, see the Operations Playbook.

🤝 Contributing

We welcome contributions! Check out the Contributing Guide to get started.

📄 License

This project is licensed under the MIT License.

📞 Contact

If you have questions, feel free to open an issue or join our Discord Server for discussions.

🤝🏼 Contributors

Thanks to everyone who helps to make BaGetter better!

About

A lightweight NuGet and symbol server

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C# 93.3%
  • HTML 4.6%
  • CSS 1.3%
  • Other 0.8%