vcpkg-harbor
vcpkg-harbor
Section titled “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.
Features
Section titled “Features”- 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
Quick Start
Section titled “Quick Start”Using Docker Compose (Recommended)
Section titled “Using Docker Compose (Recommended)”# Clone the repositorygit clone https://github.com/rennerdo30/vcpkg-harbor.gitcd vcpkg-harbor
# Start with Docker Compose (includes MinIO)docker-compose up -dUsing pip
Section titled “Using pip”# Install vcpkg-harborpip install vcpkg-harbor
# Start with filesystem storageVCPKG_STORAGE_TYPE=filesystem vcpkg-harborConfigure vcpkg
Section titled “Configure vcpkg”# Set the binary cache URLexport VCPKG_BINARY_SOURCES="http,http://localhost:15151/{name}/{version}/{sha}"
# Install packages (will cache binaries)vcpkg install zlib boostArchitecture
Section titled “Architecture”graph TD
Client[vcpkg client] --> Harbor[vcpkg-harbor]
Harbor --> MinIO[(MinIO)]
Harbor --> S3[(S3)]
Harbor --> Azure[(Azure)]
style Client fill:#22d3ee,stroke:#0891b2,color:#000
style Harbor fill:#f97316,stroke:#ea580c,color:#fff
style MinIO fill:#94a3b8,stroke:#64748b,color:#000
style S3 fill:#94a3b8,stroke:#64748b,color:#000
style Azure fill:#94a3b8,stroke:#64748b,color:#000
Documentation
Section titled “Documentation”License
Section titled “License”MIT License - see LICENSE for details.