在 Docker 上运行 BaGet
配置 BaGet
创建一个名为 baget.env 的文件来存储 BaGet 的配置:
# 以下配置是用于发布包的 API 密钥。
# 您应该将其更改为一个秘密值以保护服务器安全。
ApiKey=NUGET-SERVER-API-KEY
Storage__Type=FileSystem
Storage__Path=/var/baget/packages
Database__Type=Sqlite
Database__ConnectionString=Data Source=/var/baget/baget.db
Search__Type=Database
完整的配置列表请参阅 BaGet 配置指南。
提示
baget.env 文件以环境变量的形式存储 BaGet 的配置。要了解这些配置的工作原理,请参阅 ASP.NET Core 的配置文档。
运行 BaGet
- 在
baget.env文件同级目录下创建一个名为baget-data的文件夹。BaGet 将使用它来持久化状态。 - 拉取 BaGet 最新的 Docker 镜像:
docker pull loicsharma/baget
现在您可以运行 BaGet:
docker run --rm --name nuget-server -p 5555:80 --env-file baget.env -v "$(pwd)/baget-data:/var/baget" loicsharma/baget:latest
发布包
使用以下命令发布您的第一个包:
dotnet nuget push -s http://localhost:5555/v3/index.json -k NUGET-SERVER-API-KEY package.1.0.0.nupkg
使用以下命令发布您的第一个符号包:
dotnet nuget push -s http://localhost:5555/v3/index.json -k NUGET-SERVER-API-KEY symbol.package.1.0.0.snupkg
警告
发布包的默认 API 密钥是 NUGET-SERVER-API-KEY。您应该将其更改为一个秘密值以保护服务器安全。参见配置 BaGet。
浏览包
您可以在浏览器中打开 http://localhost:5555/ 来浏览包。
还原包
您可以使用以下包源来还原包:
http://localhost:5555/v3/index.json
一些有用的指南:
符号服务器
您可以使用以下符号位置来加载符号:
http://localhost:5555/api/download/symbols
对于 Visual Studio,请参阅配置调试指南。