Erste Schritte

Einen kvellman-Origin betreiben und in rund zehn Minuten den ersten Windows-Client daraus installieren lassen.

Was ist kvellman?

kvellman ist ein selbst gehostetes, winget-kompatibles Paket-Repository. Sie tragen es als zusätzliche winget-Quelle ein — die winget-CLI fragt es exakt so ab wie die offizielle Microsoft-Quelle. Der Origin ist der Server, den Sie betreiben: die Admin-Oberfläche, die winget-Source-API und die Installer-Auslieferung. Clients sind unveränderte winget-Installationen — auf der Windows-Seite installiert sich nichts außer der Quellenregistrierung.

Was Sie brauchen

Einen Host, der einen Container ausführen kann, einen darauf zeigenden DNS-Namen und vertrauenswürdiges HTTPS. winget verweigert REST-Quellen, die nicht über HTTPS mit einem vertrauenswürdigen Zertifikat laufen — bei neueren winget-Versionen auch für localhost.

1. Origin starten (Docker)

Die Community-Edition läuft aus einem einzelnen docker compose-Stack (App + PostgreSQL). Mit einer auf Ihren Host zeigenden Domain und offenen Ports 80/443:

git clone <open-core-repo> kvellman && cd kvellman
cp .env.deploy.example .env.deploy   # DOMAIN, NUXT_SESSION_PASSWORD, POSTGRES_PASSWORD setzen
docker compose --env-file .env.deploy up -d

Datenbank-Migrationen laufen beim Start automatisch. Öffnen Sie https://ihre-domain — beim ersten Aufruf wird das Admin-Konto angelegt.

2. Site-Token anlegen

In der Weboberfläche: Admin → Site-Tokens → einen anlegen. Der Token wird Teil der URL, über die Clients diese Quelle erreichen. Was ein Site-Token wirklich steuert, steht unter Sites.

3. Ein Paket hinzufügen

Zwei Wege, ein Paket in den Katalog zu bringen:

  • Aus dem Upstream-Katalog importieren (Pakete → Import), oder
  • Selbst anlegen: Paket erstellen und ein Manifest hochladen.

In beiden Fällen ist eine neue Version für Clients erst sichtbar, wenn sie freigegeben ist — öffnen Sie die Version und geben Sie sie frei (Pakete → Ihr Paket → die wartende Version). Das ist der Schritt, der am häufigsten übersehen wird: Ein importiertes Paket, das im Dashboard auftaucht, aber bei winget search nichts liefert, braucht fast immer nur die Freigabe.

4. Quelle auf einem Client eintragen

winget verlangt HTTPS für eine REST-Quelle. Auf einem Windows-Client (PowerShell):

winget source add --name kvellman --type Microsoft.Rest --arg "https://ihre-domain/api/<site-token>"
winget search --source kvellman <begriff>
winget install --source kvellman <Paket.Kennung>

Das war's — Clients installieren interne Software jetzt über Ihre eigene winget-Quelle.

Nächste Schritte

  • Konzepte — das Vokabular, das der Rest der Doku voraussetzt.
  • Pakete & Manifeste — Import, Overlays, Freigabe, Installer-Ablage.
  • Sites — Site-Tokens, URL-Platzhalter, weitere Clients anbinden.
  • Benutzer & Rollen — Konten, Audit-Log, SSO/MFA.
  • Edge-Nodes — Standorte aus einem lokalen Cache bedienen.
  • Deployment — die Reverse-Proxy-Anforderung, Konfiguration, Betrieb.