Harbor bei github.com/av/harbor ist eine Open-Source-CLI und Begleit-App, die lokale KI-Dienste mit Docker Compose zusammenstellt. Ein Basic Hafen auf kann Ollama und Open WebUI bereits verbunden starten; Durch das Hinzufügen von Service-Handles können Suche, Sprache, Bilderzeugung, Gateways, Beobachtbarkeit und andere Komponenten im selben Stapel verknüpft werden. Das Projekt ist Apache-2.0 lizenziert.
Dies ist nicht die CNCF-Containerregistrierung Harbor unter Goharbor/Hafen. Es handelt sich auch nicht um ein LLM, eine Sicherheitsgrenze oder eine verwaltete Produktionsplattform. Es handelt sich um eine schnelle Integrationsschicht rund um viele unabhängig gepflegte Bilder. Harbor reduziert den Konfigurationsaufwand; Der Betreiber ist weiterhin Eigentümer der Bildherkunft, offengelegter Ports, Authentifizierung, GPU-Kapazität, Modelllizenzen, persistenter Daten, Upgrades und der Schwachstellen aller Dienste.

Ein lokaler KI-Stack ist ein Netzwerk, nicht eine einzelne Anwendung
Browser/Coding-Client
|
v
[Open WebUI / API Gateway]
|
.------+---------+--------------.
v v v
[Ollama] [llama.cpp] [vLLM] Modellinferenz
| | |
'----------------+--------------'
|
.---------+----------.
v v
[SearXNG] [Speaches] Tools / Rede
|
Internet
Docker-Netzwerk ≠ vertrauenswürdiges Netzwerk
lokaler Host ≠ automatisch privat
Harbor wählt Fragmente erstellen und dienstübergreifende Konfiguration aus, damit Verbraucher Anbieter anhand des internen Dienstnamens und des erwarteten API Pfads finden können. Dieser Komfort erweitert den Vertrauensgraphen: Eine Web-Benutzeroberfläche kann ein Modell-Backend, einen Suchdienst und eine Sprachmaschine erreichen; Plugins oder Agenten rufen möglicherweise noch mehr Endpunkte auf. Führen Sie eine Bestandsaufnahme der Datenflüsse durch, bevor Sie Dienste hinzufügen.
Servicerollen und die Entscheidung, die jeder einführt
| Schicht | Beispiele dokumentiert von Harbor | Betreiberentscheidung |
|---|---|---|
| Inferenz-Backend | Ollama, llama.cpp, vLLM, SGLang und andere | Modell, Quantisierung, GPU, Kontext, Lizenz und API Belichtung |
| Frontend | Open WebUI und alternative Chat-Schnittstellen | Authentifizierung, Benutzer, Verlauf, Uploads und Tools |
| Gateway/Router | LiteLLM, Bifrost, Harbor Boost | Schlüssel, Fallbacks, Protokolle, Kontingente und Provider-Routing |
| Abrufen/Suchen | SearXNG, Forschungs- und RAG-Dienste | Ausgehender Datenverkehr, Index-Datenschutz, Zitate und sofortige Injektion |
| Medien | Reden, ComfyUI und Sprach-/Designdienste | Modellrechte, GPU-Konflikt und Überprüfung generierter Medien |
| Agent/Workflow | Dify, n8n, Codierungs-/Agentendienste | Tool-Autorität, Anmeldeinformationen, Sandboxing und Nebenwirkungen |
| Proxy/Zugriff | Traefik und eingebauter Tunnel | TLS, Hostnamen, Authentifizierung und Internetpräsenz |
Installieren Sie mit einer überprüfbaren Lieferkette
Offizielle Materialien zeigen Installationsskripte und Docker-basierten Betrieb. Ein Befehl wie Locken ... | bash ist praktisch, führt aber veränderliche Netzwerkinhalte sofort aus. Laden Sie zur kontrollierten Verwendung das Skript herunter, überprüfen Sie es, pinnen Sie ein Commit/Tag an und überprüfen Sie den Repository-Eigentümer, bevor Sie es ausführen. Überprüfen Sie die Dockerfiles- und Compose-Definitionen für die ausgewählten Dienste.
Container-Tags wie z spätestens sind nicht reproduzierbar. Fixieren Sie Image-Digests für eine stabile Umgebung, zeichnen Sie die Version von Harbor auf und exportieren Sie die effektive Compose-Konfiguration. Scannen Sie Bilder und Software-Stücklisten gemäß Ihrer Richtlinie. Ein offizielles Image kann immer noch eine anfällige Basisschicht enthalten.
| Artefakt | Aufnahme | Warum |
|---|---|---|
| Harbor CLI/App | Versions-, Commit- und Installer-Hash | Orchestrierungsverhalten reproduzieren |
| Konfiguration erstellen | Namen gerenderter/ausgeworfener Dateien und Umgebungen | Wissen Sie, was tatsächlich gelaufen ist |
| Containerbild | Registry, Repository und Digest | Verhindern Sie eine stille Tag-Drift |
| Modell | Quelle, Revision, Hash, Quantisierung und Lizenz | Qualität, Sicherheit und legale Herkunft |
| Profil | Lokale Datei und Prüfsumme überprüft | Profile können Endpunkte und Geheimnisse ändern |
GPU- und Speicherplanung
Harbor kann Funktionen erkennen und GPU-Ressourcen an unterstützte Container übergeben, aber es kann keine inkompatiblen Workloads fit machen. Schätzen Sie Modellgewichte, KV-Cache, Laufzeit-Overhead und gleichzeitige Anforderungen. Ein Modell, das erfolgreich geladen wird, schlägt möglicherweise immer noch im angeforderten Kontext fehl oder wenn ComfyUI und Sprachdienste um VRAM konkurrieren.
| Arbeitsbelastung | Kapazitätstreiber | Testen |
|---|---|---|
| Einzelbenutzer-Chat | Modellgewichte + ein KV-Cache | Zeit bis zum ersten Token und Token/Sekunde im Zielkontext |
| Langkontext-RAG | KV-Cache und schnelle Vorverarbeitung | Spitzen-VRAM/RAM und Latenz bei realistischer Dokumentgröße |
| Mehrere Benutzer | Batch-, Warteschlangen- und Cache-Fragmentierung | P50/P95-Latenz und abgelehnte Anfragen unter Last |
| Bilderzeugung | Diffusionsmodell und Auflösung | Konflikt, während das LLM-Backend aktiv ist |
| Sprachpipeline | Audiodauer, Modell und Echtzeitfaktor | End-to-End-Capture-to-Response-Latenz |
Legen Sie Speicher-, CPU-, GPU- und Festplattenkontingente fest, wo es sinnvoll ist. Überwachen Sie Temperatur und Stromversorgung auf einer Workstation. Gehen Sie nicht davon aus, dass „lokal“ kostenlos bedeutet: Beziehen Sie Hardware-Abschreibung, Strom, Speicher, Technik und ungenutzte Kapazität in die Kosten pro angenommener Aufgabe ein.
Ports und Authentifizierung
Binden Sie Entwicklungsdienste an Loopback, es sei denn, ein anderer Host muss sie erreichen. Von Docker veröffentlichte Ports können Annahmen über eine Host-Firewall umgehen. Listener nach dem Start auflisten und von einem anderen Gerät aus testen. Viele lokale LLM-Endpunkte akzeptieren Dummy- oder keine API-Schlüssel, weil sie eine vertrauenswürdige Maschine erwarten; Setzen Sie sie nicht unverändert einem LAN oder Internet aus.
Das Projekt warnt ausdrücklich davor, dass das Tunneln eines Dienstes ins Internet ohne Authentifizierung unsicher ist. Behandeln Hafentunnel als Expositionsereignis: erfordern eine starke Identität, TLS, Ratenbegrenzungen, Begrenzungen der Anforderungsgröße, Protokolle und ein enges Ziel. Tunneln Sie niemals einen unformatierten vLLM/Ollama-Endpunkt oder eine Administrator-Benutzeroberfläche mit Standardanmeldeinformationen.
| Belichtung | Minimale Kontrolle | Restrisiko |
|---|---|---|
| Nur Loopback | Sicherheit des Host-Kontos | Schädlicher lokaler Prozess/Browseranforderung |
| Vertrauenswürdiges LAN | Firewall, Authentifizierung und segmentiertes Subnetz | Kompromittierter Peer und schwaches WLAN |
| Reverse-Proxy/VPN | SSO/MFA, TLS und Zugriffsrichtlinie | Proxy-Fehlkonfiguration und gestohlene Sitzung |
| Öffentlicher Tunnel | Alles oben Genannte plus Missbrauchsschutz und -überwachung | Internet-Scanning, Kosten/DoS und Modellextraktion |
Geheimnisse und dienstübergreifendes Vertrauen
Gateways und Benutzeroberflächen benötigen möglicherweise API-Schlüssel für gehostete Modelle, Suche oder Speicherung. Legen Sie Geheimnisse in einem verwalteten Speicher oder einer geschützten Umgebungsdatei ab, die von Git ausgeschlossen ist. Bevorzugen Sie dienstspezifische Schlüssel mit geringem Gültigkeitsbereich und rotieren Sie diese. Überprüfen Sie die effektive Containerumgebung und die bereitgestellten Dateien. Eine Benutzeroberfläche sollte keinen Backend-Schlüssel erhalten, nur weil beide ein Compose-Projekt teilen.
OpenAI-kompatible APIs schaffen Schnittstellenkompatibilität, nicht identische Authentifizierung oder Semantik. Ein lokal funktionierender Dummy-Schlüssel darf nicht als echte Zugangskontrolle wiederverwendet werden. Überprüfen Sie Streaming, Toolaufrufe, strukturierte Ausgabe, Modellnamen, Grenzwerte und Fehlerverhalten für jedes Client/Backend-Paar.
Permanente Daten, Backups und Löschung
Ordnen Sie jedes Volume zu: Modell-Cache, Chat-Datenbank, hochgeladene Dokumente, Vektorindizes, generierte Bilder, Protokolle und Gateway-Telemetrie. Entscheide, was überlebt unten, Upgrades und Profiländerungen. Verschlüsseln Sie Festplatten und Backups. Testen Sie die Wiederherstellung mit denselben angehefteten Diensten.
- Trennen Sie austauschbare Modellcaches von unersetzlichen Benutzerdaten.
- Sichern Sie API-Schlüssel nicht in Anwendungsdatenbanken, wenn dies vermeidbar ist.
- Aufbewahrung für Chat und hochgeladene Dokumente festlegen; Die Löschung sollte Vektorindizes und Miniaturansichten umfassen.
- Exportieren Sie vor dem Entfernen eines Dienstes Daten in einem dokumentierten Format und bestätigen Sie die Datenträgerbereinigung.
Profile sind ausführbare Konfigurationen
Harbor-Profile speichern die Konfiguration für Szenarien und können von einer URL importiert werden. Ein Profil kann Image-Versionen, Endpunkte, Argumente und potenzielle Anmeldeinformationen ändern. Wenden Sie niemals direkt ein nicht vertrauenswürdiges Remote-Profil an. Geheimnisse herunterladen, prüfen, anheften und entfernen; Behandeln Sie die Profilüberprüfung wie eine Codeänderung.
Pflegen Sie Profile wie z offline-privat, GPU-Chat und Lappentest mit expliziten Servicelisten und Budgets. Vermeiden Sie ein ständig wachsendes Standardprofil, das stillschweigend Dutzende Container startet und die Angriffsfläche vergrößert.
Web RAG fügt einen Kanal für nicht vertrauenswürdige Inhalte hinzu
Ein Harbor-Stack, der Open WebUI, SearXNG und ein LLM kombiniert, kann das Web durchsuchen und Ergebnisse als Kontext verwenden. Webtexte können prompte Einwürfe und falsche Behauptungen enthalten. Kennzeichnen Sie abgerufene Inhalte als nicht vertrauenswürdige Daten, schränken Sie Tools ein, behalten Sie URLs bei und verlangen Sie Zitate. Erlauben Sie Seitenanweisungen nicht, auf Geheimnisse zuzugreifen oder administrative Endpunkte aufzurufen.
Auch Suchanfragen und abgerufene Seiten verlassen die Maschine, selbst wenn das LLM lokal ist. Dokumentieren Sie diese Ausnahme in jedem Datenschutzanspruch. Proxy- und DNS-Protokolle können die Absicht des Benutzers offenlegen.
Aktualisieren Sie jeweils eine Ebene
| Veränderung | Kanarische Beweise | Rollback-Asset |
|---|---|---|
| Harbor Aktualisierung | Gerendert. Komponieren Sie Diff- und Smoke-Tests | Vorherige CLI/Version und Konfiguration |
| Servicebild | Schema-, Authentifizierungs-, UI- und Integrationsprüfungen | Vorheriger Digest und Volume-Snapshot |
| Modell | Qualitäts-, Tool-Call- und Latenz-Benchmark | Hash des Vorgängermodells |
| GPU-Treiber/Laufzeit | Alle Backends laden und halten die Zielarbeitslast aufrecht | Bekanntermaßen funktionierendes Host-Image/Treiber |
| Profil | Port-, Secret- und Datenflussunterschiede | Versioniertes vorheriges Profil |
Sichern Sie den Status, stoppen Sie Schreibvorgänge und testen Sie die Kompatibilität vor einer Migration. „Containerstarts“ reicht nicht aus: Senden Sie bekannte Eingabeaufforderungen, führen Sie einen RAG-Abruf durch, testen Sie Toolaufrufe und überprüfen Sie die Benutzer-/Verlaufspersistenz.
Verwenden Sie Auswerfen als Abschlusspfad
Hafenauswurf kann eine eigenständige Compose-Darstellung ausgewählter Dienste und Variablen erstellen. Dies ist wertvoll, wenn eine experimentelle Kombination wichtig wird: Überprüfen Sie die Ausgabe, ersetzen Sie Floating-Tags, externalisieren Sie Geheimnisse, definieren Sie Gesundheitsprüfungen, Backups, Überwachung und Besitz und verwalten Sie sie dann als normale Infrastruktur.
Beim Auswerfen handelt es sich nicht um eine automatische Produktionshärtung. Generated Compose spiegelt die Annahmen des Experiments wider. Für die Produktion sind möglicherweise Kubernetes oder ein anderer Planer, externe Datenbanken, Hochverfügbarkeit, automatische Skalierung, Prüfprotokollierung und getestete Notfallwiederherstellung erforderlich.
Bewertungs-Scorecard
| Dimension | Messen | Frage bestehen |
|---|---|---|
| Setup-Wert | Zeit vom sauberen Host bis zum funktionierenden Szenario | Reduziert Harbor die wiederholbare Einrichtungszeit erheblich? |
| Zuverlässigkeit | Kaltstart, Neustarts und fehlgeschlagene Abhängigkeitswiederherstellung | Kann ein anderer Betreiber es wiederherstellen? |
| Qualität | Aufgaben-Benchmark für angeheftete Modelle/Einstellungen | Sind akzeptierte Ergebnisse ausreichend? |
| Leistung | Latenz, Durchsatz, VRAM und Warteschlange | Erfüllt es die tatsächliche gleichzeitige Last? |
| Sicherheit | Ports, Authentifizierung, Geheimnisse, Scans und Datenflüsse | Ist die Autorität jedes Dienstes gerechtfertigt? |
| Portabilität | Auswerfen und auf einem sauberen Host wiederherstellen | Kann der Stapel Harbor ohne Datenverlust verlassen? |
Alternativen
| Option | Beste Passform | Kompromiss versus Harbor |
|---|---|---|
| Harbor (av) | Erkundung vieler vorverkabelter lokaler KI-Dienste | Großer, sich schnell ändernder Servicekatalog |
| Ollama + Open WebUI manuell | Einfacher stabiler lokaler Chat | Weniger Abstraktion und einfachere Prüfung, mehr manuelle Verkabelung |
| LM Studio | Download und Chat des Desktop-First-Modells/API | Weniger Multi-Service-Compose-Orchestrierung |
| Docker Compose wurde im eigenen Haus entwickelt | Kleiner produktionseigener Stapel | Mehr anfängliches Engineering, klarere Minimaloberfläche |
| Kubernetes/Helm | Produktionsplattform mit mehreren Knoten | Viel höhere betriebliche Komplexität |
| Verwaltetes Modell/API Plattform | Teams meiden GPU-Infrastruktur | Nutzungskosten, Uploads und Anbieterabhängigkeit |
Häufig gestellte Fragen
Ist das die Containerregistrierung Harbor?
Nein. Diese Auflistung weist darauf hin Av/Hafen, ein lokaler AI-Stack-Orchestrator. Das Registrierungsprojekt ist Goharbor/Hafen.
Ist Harbor ein LLM?
Nein. Es lädt Modellserver, Benutzeroberflächen und unterstützende Tools herunter, führt sie aus und verbindet sie.
Ist es kostenlos?
Das Projekt ist Apache-2.0 lizenziert. Modelle, gehostete APIs, Strom, Hardware und Dienste von Drittanbietern können Geld kosten.
Bedeutet lokal privat?
Nur wenn alle ausgewählten Dienste, Modelle, Tools und Speicher lokal und sicher konfiguriert bleiben. Suche, Cloud-APIs und Tunnel erzeugen externe Flüsse.
Kann ich es aus der Ferne anzeigen?
Das Projekt umfasst Tunnel- und Proxy-Optionen, warnt jedoch vor einer Gefährdung durch das Internet. Verwenden Sie authentifizierte VPN-/Reverse-Proxy-Kontrollen und legen Sie niemals rohe, nicht authentifizierte Dienste offen.
Ist es produktionsreif?
Es handelt sich um eine hervorragende Explorations-/Integrationsschicht. Die Produktionsbereitschaft hängt von den ausgewählten Diensten sowie Ihrem Pinning, Ihrer Sicherheit, Überwachung, Backups und Ihrem Support ab.
Wie kann ich wegwandern?
Verwenden Sie den Auswurf-Workflow als erste Compose-Datei, härten Sie ihn dann aus und betreiben Sie ihn unabhängig.
Primärquellen
- Offizielles Harbor-Repository, Serviceübersicht und Lizenz
- Offizielle Installationsanleitung
- Offizielle CLI-Referenz
- Offizieller Backend-Leitfaden
- Offizieller lokaler Web-RAG-Leitfaden
- Dokumentation zur Sicherheit der Docker Engine
- Docker Compose-Umgebungsvariablenpraktiken
- OWASP-Anleitung zur sofortigen Injektion
- CNCF Harbor-Registrierung zur Begriffsklärung
Zuletzt überprüft am 26. Juli 2026. Harbor und sein Servicekatalog entwickeln sich schnell weiter. Fixieren Sie den Orchestrator, gerenderte Compose, Bilder, Modelle und Profile und führen Sie nach Änderungen erneut Sicherheits- und Kompatibilitätsprüfungen durch.
