Deployment
Origin mit Docker hinter Caddy oder vorhandenem Traefik betreiben, plus Edge-Nodes.
winget verlangt HTTPS
Eine winget-REST-Quelle muss über HTTPS mit vertrauenswürdigem Zertifikat laufen (bei neueren
winget-Versionen auch für localhost). Plane TLS für jeden Endpunkt, mit dem Clients sprechen.
Origin via Docker
Der Community-Stack ist App + PostgreSQL. Zwei Reverse-Proxy-Varianten sind dabei:
- Caddy (
docker-compose.yml) — automatisches Let's Encrypt für eine öffentliche Domain. - Vorhandener Traefik (
docker-compose.traefik.yml) — ohne Caddy; die App hängt sich in Traefiks Netz und wird per Labels geroutet. Ideal, wenn Port 80/443 schon von Traefik belegt ist.
# hinter vorhandenem Traefik:
docker compose -f docker-compose.traefik.yml --env-file .env.deploy up -d
Setze KVELLMAN_IMAGE auf ein vorgebautes Image (woanders gebaut und in eine Registry gepusht), um
nicht auf einem kleinen Server zu bauen; Migrationen laufen beim Container-Start automatisch.
Edge-/Mirror-Nodes (Enterprise)
Ein Standort kann einen headless Edge-Node betreiben, der die winget-API und Installer-Downloads lokal ausliefert und bei Bedarf von der Origin cached. Clients tragen den Node als Quelle ein; die erste Installation zieht über den Node, der Rest aus dem LAN. Nodes enrollen sich bei der Origin (Einmal-Key → dauerhafte mTLS-Identität) und werden zentral gesteuert (Paket-Scope, Installer-Filter, Push/Vorab-Spiegeln, Health).
Telemetrie & Schalter
Repository-Nutzungstelemetrie (Suchen, Manifest-Abrufe, Downloads) ist standardmäßig aus und wird per Umgebungsvariable aktiviert. Gleiches Muster gilt für den Upstream-Katalog-Sync und einen GitHub-Token für Importe.
Die vollständige Schritt-für-Schritt-Anleitung (Origin, Edge-Node unter WSL, TLS für LAN/localhost, Registry-Workflow) steht in
DEPLOYMENT.mdim Open-Core-Repository.