在 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

  1. 在 baget.env 文件同级目录下创建一个名为 baget-data 的文件夹。BaGet 将使用它来持久化状态。
  2. 拉取 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,请参阅配置调试指南。