Skip to content

vcpkg-harbor

Binary cache server for vcpkg with plugin-based storage backends

vcpkg-harbor is a high-performance binary cache server designed for Microsoft’s vcpkg package manager. It allows teams to share pre-built C++ packages, dramatically reducing build times.

  • Multiple Storage Backends: MinIO, AWS S3, Azure Blob, Google Cloud Storage, or local filesystem
  • Plugin Architecture: Easy to add custom storage backends
  • Web Dashboard: Monitor cache statistics and browse packages
  • Prometheus Metrics: Built-in metrics endpoint for monitoring
  • Authentication: Token and HTTP Basic authentication support
  • High Performance: Async Python with streaming uploads/downloads
Terminal window
# Clone the repository
git clone https://github.com/rennerdo30/vcpkg-harbor.git
cd vcpkg-harbor
# Start with Docker Compose (includes MinIO)
docker-compose up -d
Terminal window
# Install vcpkg-harbor
pip install vcpkg-harbor
# Start with filesystem storage
VCPKG_STORAGE_TYPE=filesystem vcpkg-harbor
Terminal window
# Set the binary cache URL
export VCPKG_BINARY_SOURCES="http,http://localhost:15151/{name}/{version}/{sha}"
# Install packages (will cache binaries)
vcpkg install zlib boost
┌─────────────────┐ ┌─────────────────┐
│ vcpkg client │────▶│ vcpkg-harbor │
└─────────────────┘ └────────┬────────┘
┌────────────┼────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ MinIO │ │ S3 │ │ Azure │
└─────────┘ └─────────┘ └─────────┘

MIT License - see LICENSE for details.