Harbor で github.com/av/harbor は、Docker Compose を使用してローカル AI サービスを組み立てる、オープンソースの CLI およびコンパニオン アプリです。基本的な ハーバーアップ すでに接続されている Ollama および Open WebUI を開始できます。サービス ハンドルを追加すると、検索、音声、画像生成、ゲートウェイ、可観測性、その他のコンポーネントを同じスタックに配線できます。このプロジェクトには Apache-2.0 ライセンスが付与されています。
これは、CNCF Harbor コンテナー レジストリではありません。 ゴーハーバー/ハーバー。また、LLM、セキュリティ境界、または管理された運用プラットフォームでもありません。これは、独立して維持されている多くのイメージを高速に統合するレイヤーです。 Harbor は構成作業を軽減します。オペレータは依然として、イメージの出自、公開ポート、認証、GPU 容量、モデル ライセンス、永続データ、アップグレード、およびすべてのサービスの脆弱性を所有しています。

ローカル AI スタックは 1 つのアプリケーションではなくネットワークです
ブラウザ/コーディングクライアント
|
v
[Open WebUI / API ゲートウェイ]
|
.-----+----------+--------------。
vvv
[Ollama] [llama.cpp] [vLLM] モデル推論
| | |
「--------------+--------------」
|
.----------+----------。
vv
[SearXNG] [スピーチ] ツール / スピーチ
|
インターネット
Docker ネットワーク ≠ 信頼できるネットワーク
ローカルホスト ≠ 自動的にプライベートになります
Harbor は、コンシューマが内部サービス名と予期される API パスによってプロバイダーを見つけられるように、フラグメントの構成とサービス間の構成を選択します。その利便性によりトラスト グラフが拡張されます。Web UI はモデル バックエンド、検索サービス、および音声エンジンに到達できます。プラグインまたはエージェントはさらに多くのエンドポイントを呼び出す可能性があります。サービスを追加する前にデータ フローをインベントリします。
サービスの役割とそれぞれが導入する決定
| レイヤー | Harbor によって文書化された例 | オペレーターの判断 |
|---|---|---|
| 推論バックエンド | Ollama、llama.cpp、vLLM、SGLang など | モデル、量子化、GPU、コンテキスト、ライセンス、および API エクスポージャ |
| フロントエンド | Open WebUI および代替チャット インターフェイス | 認証、ユーザー、履歴、アップロード、ツール |
| ゲートウェイ/ルーター | LiteLLM、Bifrost、Harbor ブースト | キー、フォールバック、ログ、クォータ、プロバイダー ルーティング |
| 検索・検索 | SearXNG、リサーチおよびRAGサービス | アウトバウンドトラフィック、インデックスプライバシー、引用およびプロンプトインジェクション |
| メディア | スピーチ、ComfyUI および音声/デザイン サービス | モデルの権利、GPU 競合、生成されたメディアのレビュー |
| エージェント/ワークフロー | Dify、n8n、コーディング/エージェント サービス | ツールの権限、認証情報、サンドボックス化、および副作用 |
| プロキシ/アクセス | Traefik と内蔵トンネル | TLS、ホスト名、認証、インターネットへの露出 |
レビュー可能なサプライ チェーンを使用してインストールする
公式資料には、インストール スクリプトと Docker ベースの操作が示されています。次のようなコマンド カール ... |バッシュ 便利ですが、変更可能なネットワーク コンテンツをすぐに実行します。制御された使用を行うには、スクリプトをダウンロードして検査し、コミット/タグを固定して、実行前にリポジトリの所有権を確認します。選択したサービスの Dockerfile と Compose 定義を確認します。
などのコンテナタグ 最新の 再現性がありません。安定した環境のためにイメージ ダイジェストを固定し、Harbor のバージョンを記録し、有効な Compose 構成をエクスポートします。ポリシーに基づいて画像とソフトウェア部品表をスキャンします。公式イメージには依然として脆弱なベースレイヤーが含まれている可能性があります。
| アーティファクト | 記録 | なぜ |
|---|---|---|
| Harbor CLI/アプリ | バージョン、コミット、インストーラーのハッシュ | オーケストレーション動作を再現する |
| 構成の作成 | レンダリング/排出されたファイル名と環境名 | 実際に何が実行されたかを知る |
| コンテナイメージ | レジストリ、リポジトリ、ダイジェスト | サイレントタグドリフトを防止 |
| モデル | ソース、リビジョン、ハッシュ、量子化、ライセンス | 品質、安全性、法的根拠 |
| プロフィール | ローカルファイルとチェックサムを確認しました | プロファイルはエンドポイントとシークレットを変更できる |
GPUとメモリの計画
Harbor は機能を検出し、サポートされているコンテナーに GPU リソースを渡すことができますが、互換性のないワークロードを適合させることはできません。モデルの重み、KV キャッシュ、実行時のオーバーヘッド、同時リクエストを見積もります。正常にロードされたモデルでも、要求されたコンテキストで、または ComfyUI と音声サービスが VRAM をめぐって競合すると、失敗する可能性があります。
| ワークロード | 容量ドライバー | テスト |
|---|---|---|
| シングルユーザーチャット | モデルの重み + 1 つの KV キャッシュ | 最初のトークンまでの時間とターゲット コンテキストでのトークン/秒 |
| ロングコンテキスト RAG | KV キャッシュとプロンプト前処理 | 現実的なドキュメント サイズでのピーク VRAM/RAM と遅延 |
| 複数のユーザー | バッチ処理、キュー、キャッシュの断片化 | P50/P95 レイテンシと負荷時の拒否されたリクエスト |
| 画像生成 | 拡散モデルと解像度 | LLM バックエンドがアクティブな間の競合 |
| 音声パイプライン | 音声の長さ、モデル、リアルタイム要素 | エンドツーエンドのキャプチャから応答までの遅延 |
メモリ、CPU、GPU、ディスク クォータを実用的に設定します。ワークステーションの温度と電源を監視します。 「ローカル」が無料を意味すると仮定することは避けてください。受け入れられたタスクごとのコストには、ハードウェアの減価償却、電気、ストレージ、エンジニアリング、およびアイドル容量が含まれます。
ポートと認証
別のホストが開発サービスに到達する必要がない限り、開発サービスをループバックにバインドします。 Docker で公開されたポートは、ホスト ファイアウォールに関する想定をバイパスできます。起動後にリスナーをリストし、別のデバイスからテストします。多くのローカル LLM エンドポイントは、信頼できるマシンを期待しているため、ダミーの API キーを受け入れないか、受け入れません。これらをそのまま LAN やインターネットに公開しないでください。
このプロジェクトは、認証なしでサービスをインターネットにトンネリングするのは安全ではないことを明示的に警告しています。治療する 港のトンネル 暴露イベントとして: 強力な ID、TLS、レート制限、リクエスト サイズ制限、ログ、および狭いターゲットが必要です。デフォルトの資格情報を使用して、生の vLLM/Ollama エンドポイントまたは管理 UI をトンネリングしないでください。
| 露出 | 最小限の制御 | 残留リスク |
|---|---|---|
| ループバックのみ | 主催者アカウントのセキュリティ | 悪意のあるローカルプロセス/ブラウザリクエスト |
| 信頼できるLAN | ファイアウォール、認証、およびセグメント化されたサブネット | 侵害されたピアと弱い Wi-Fi |
| リバースプロキシ/VPN | SSO/MFA、TLS、およびアクセス ポリシー | プロキシの構成ミスとセッションの盗用 |
| 公共トンネル | 上記すべてに加えて、不正行為からの保護と監視を行います | インターネットスキャン、コスト/DoS、モデル抽出 |
シークレットとサービス間の信頼
ゲートウェイと UI では、ホストされたモデル、検索、またはストレージのために API キーが必要になる場合があります。 Git から除外される管理対象ストアまたは保護された環境ファイルにシークレットを置きます。サービス固有の低スコープのキーを優先し、それらをローテーションします。効果的なコンテナ環境とマウントされたファイルを検査します。両方が Compose プロジェクトを共有しているという理由だけで、UI はバックエンド キーを受け取るべきではありません。
OpenAI 互換の API は、同一の認証やセマンティクスではなく、インターフェイスの互換性を作成します。ローカルで機能するダミー キーを実際のアクセス制御として再利用してはなりません。各クライアント/バックエンドのペアのストリーミング、ツール呼び出し、構造化出力、モデル名、制限およびエラー動作を確認します。
永続データ、バックアップ、削除
各ボリュームをマップします: モデル キャッシュ、チャット データベース、アップロードされたドキュメント、ベクトル インデックス、生成されたイメージ、ログ、ゲートウェイ テレメトリ。何が生き残るかを決める ダウン、アップグレードとプロファイルの変更。ディスクとバックアップを暗号化します。同じ固定サービスを使用して復元をテストします。
- 置き換え可能なモデル キャッシュを置き換え不可能なユーザー データから分離します。
- 可能な場合は、アプリケーション データベース内の API キーをバックアップしないでください。
- チャットとアップロードされたドキュメントの保存期間を設定します。削除はベクター インデックスとサムネイルを対象とする必要があります。
- サービスを削除する前に、文書化された形式でデータをエクスポートし、ボリュームのクリーンアップを確認します。
プロファイルは実行可能な構成です
Harbor プロファイルはシナリオの構成を保存し、URL からインポートできます。プロファイルは、イメージのバージョン、エンドポイント、引数、および場合によっては認証情報を変更できます。信頼できないリモート プロファイルを直接適用しないでください。シークレットをダウンロード、検査、固定、削除します。プロファイルのレビューをコード変更のように扱います。
次のようなプロファイルを維持します オフラインプライベート, GPUチャット そして ラグテスト 明示的なサービスリストと予算を使用します。数十のコンテナをサイレントに起動し、攻撃対象領域を拡大する 1 つのデフォルト プロファイルが増え続けることは避けてください。
Web RAG は信頼できないコンテンツ チャネルを追加します
Open WebUI、SearXNG、および LLM を組み合わせた Harbor スタックは、Web を検索し、結果をコンテキストとして使用できます。 Web テキストには、プロンプト インジェクションや虚偽の主張が含まれる場合があります。取得したコンテンツを信頼できないデータとしてラベル付けし、ツールを制限し、URL を保存し、引用を要求します。ページ命令でシークレットにアクセスしたり、管理エンドポイントを呼び出したりすることを許可しないでください。
LLM がローカルにある場合でも、検索クエリとフェッチされたページはマシンから送信されます。プライバシーに関する主張の際には、この例外を文書化してください。プロキシと DNS のログにより、ユーザーの意図が暴露される可能性があります。
一度に 1 つのレイヤーをアップグレードします
| 変更 | カナリアの証拠 | アセットのロールバック |
|---|---|---|
| Harbor 更新 | レンダリングされた Compose の差分テストとスモーク テスト | 以前の CLI/バージョンおよび構成 |
| サービスイメージ | スキーマ、認証、UI、統合チェック | 以前のダイジェストとボリュームのスナップショット |
| モデル | 品質、ツール呼び出し、遅延のベンチマーク | 以前のモデルのハッシュ |
| GPUドライバー/ランタイム | すべてのバックエンドがターゲットのワークロードをロードして維持します | 正常なホストイメージ/ドライバ |
| プロフィール | ポート、シークレット、データフローの差分 | バージョン管理された以前のプロファイル |
移行前に状態をバックアップし、書き込みを停止し、互換性をテストします。 「コンテナが起動する」だけでは十分ではありません。既知のプロンプトを送信し、RAG 取得を実行し、ツール呼び出しをテストし、ユーザー/履歴の永続性を確認します。
イジェクトを卒業パスとして使用する
ハーバーイジェクト 選択したサービスと変数のスタンドアロン Compose 表現を生成できます。これは、実験的な組み合わせが重要になる場合に役立ちます。つまり、出力を確認し、フローティング タグを置き換え、シークレットを外部化し、ヘルス チェック、バックアップ、監視と所有権を定義し、通常のインフラストラクチャとして管理します。
排出は自動の製品強化ではありません。生成された Compose は実験の仮定を反映しています。運用環境には、Kubernetes または別のスケジューラー、外部データベース、高可用性、自動スケーリング、監査ログ、およびテスト済みの災害復旧が必要な場合があります。
評価スコアカード
| 次元 | 測定する | 合格問題 |
|---|---|---|
| 設定値 | クリーンなホストから正常に動作するまでの時間 | Harbor は反復可能なセットアップ時間を大幅に短縮しますか? |
| 信頼性 | コールド スタート、再起動、依存関係の回復の失敗 | 別のオペレーターがそれを回復できるでしょうか? |
| 品質 | ピン留めされたモデル/設定のタスクベンチマーク | 受け入れられた結果は十分ですか? |
| パフォーマンス | レイテンシ、スループット、VRAM、キュー | 実際の同時負荷を満たしていますか? |
| セキュリティ | ポート、認証、シークレット、スキャン、データ フロー | 各サービスの権限は正当ですか? |
| 携帯性 | クリーンなホストでの取り出しと復元 | データを失わずにスタックを Harbor のままにすることができますか? |
代替案
| オプション | ベストフィット | トレードオフと Harbor |
|---|---|---|
| Harbor (av) | 事前に接続された多くのローカル AI サービスを探索する | 急速に変化する大規模なサービス カタログ |
| Ollama + Open WebUI 手動 | シンプルで安定したローカルチャット | 抽象化が少なく監査が容易になり、手動配線が増える |
| LM Studio | デスクトップファーストモデルのダウンロードとチャット/API | マルチサービスの少ない Compose オーケストレーション |
| 社内で構築された Docker Compose | 小規模なプロダクション所有のスタック | より初期のエンジニアリング、より鮮明な最小表面 |
| Kubernetes/Helm | マルチノード実稼働プラットフォーム | 運用の複雑さがはるかに高い |
| マネージド モデル/API プラットフォーム | チームはGPUインフラストラクチャを回避 | 使用コスト、アップロード、プロバイダーの依存関係 |
よくある質問
これは Harbor コンテナー レジストリですか?
いいえ、このリストは次のことを指します。 AV/港、ローカル AI スタック オーケストレーター。レジストリプロジェクトは ゴーハーバー/ハーバー.
Harbor は LLM ですか?
いいえ。モデル サーバー、UI、サポート ツールをダウンロード/実行して接続します。
無料ですか?
このプロジェクトには Apache-2.0 ライセンスが付与されています。モデル、ホストされた API、電気、ハードウェア、サードパーティのサービスには費用がかかる場合があります。
ローカルってプライベートって意味ですか?
選択したすべてのサービス、モデル、ツール、ストレージがローカルに残り、安全に構成されている場合のみ。検索、クラウド API、およびトンネルは外部フローを作成します。
リモートで公開できますか?
このプロジェクトにはトンネリングとプロキシのオプションが含まれていますが、インターネットへの露出について警告しています。認証された VPN/リバース プロキシ コントロールを使用し、未加工の未認証サービスを決して公開しないでください。
本番環境に対応していますか?
これは優れた探索/統合レイヤーです。実稼働の準備が整っているかどうかは、選択したサービスに加えて、固定、セキュリティ、監視、バックアップ、サポートによって決まります。
どうすれば移住できますか?
取り出しワークフローを開始 Compose ファイルとして使用し、それを強化して独立して操作します。
一次情報源
- 公式 Harbor リポジトリ、サービス概要、ライセンス
- 公式インストールガイド
- 公式 CLI リファレンス
- 公式バックエンドガイド
- 公式ローカル Web RAG ガイド
- Docker Engine のセキュリティに関するドキュメント
- Docker Compose 環境変数のプラクティス
- OWASP 即時注入ガイダンス
- 曖昧さ回避のための CNCF Harbor レジストリ
最終レビュー日は 2026 年 7 月 26 日です。Harbor とそのサービス カタログは迅速に移行します。オーケストレーター、レンダリングされた Compose、イメージ、モデル、プロファイルを固定し、変更後にセキュリティと互換性のチェックを再実行します。
