エアギャップ / オンプレ
Ongrid はオフラインで動くようにまさに 1 つの自己完結タールボールとして出荷されます。apt install も、ターゲットホスト上のビルド時 Go モジュール fetch も、ランタイムでの Docker Hub プルもありません。タールボールを落として install.sh を実行すれば、動く manager + edge フリートが手に入ります。
エアギャップで遭遇するトレードオフは、LLM プロバイダー、RAG 用埋め込みモデル、継続的なアップグレードを巡るものです。このページがそのチェックリストです。
ステップ 1:リリースタールボールのダウンロード
インターネットがあるホストから最新リリース asset を取得:
gh release download v0.7.167 --repo ongridio/ongrid \
--pattern 'ongrid-*-linux-amd64.tar.xz'
gh release download v0.7.167 --repo ongridio/ongrid \
--pattern 'ongrid-*-linux-amd64.tar.xz.sha256'
sha256sum -c ongrid-v0.7.167-linux-amd64.tar.xz.sha256または make package で自分でタールボールをビルド。いずれにせよアーティファクトは単一の .tar.xz + その .sha256 です。
エアギャップチャネル(USB スニーカーネット、内部アーティファクトサーバー、署名済み S3 バケットなど)でターゲットホストに両方のファイルを移動してください。
ステップ 2:タールボールインストール
タールボールは自己完結ディレクトリに展開されます:
ongrid-v0.7.167-linux-amd64/
install.sh
upgrade.sh
docker-compose.yml
images/
ongrid.tar # docker image, saved
ongrid-web.tar
frontier.tar
mysql.tar # bundled so no Docker Hub pull
prometheus.tar
loki.tar
tempo.tar
grafana.tar
searxng.tar
bin/
linux-amd64/ongrid-edge
linux-arm64/ongrid-edge
darwin-amd64/ongrid-edge
darwin-arm64/ongrid-edge
linux-amd64/promtail
linux-arm64/promtail
linux-amd64/otelcol-contrib
linux-arm64/otelcol-contrib
linux-amd64/node_exporter
linux-arm64/node_exporter
linux-amd64/process_exporter
linux-arm64/process_exporter
edge/
apply-pending-upgrade.sh
.cache/
bge-base-en-v1.5/ # optional offline RAG embedding model実行:
tar -xf ongrid-v0.7.167-linux-amd64.tar.xz
cd ongrid-v0.7.167-linux-amd64
sudo ./install.shinstall.sh は各 images/*.tar をローカル docker にロードし、賢明な .env を書き、docker compose up -d でスタックを上げ、新 manager の URL を表示します。ホストには Docker Engine + Compose v2 が必要 —— Linux(サーバー) を参照。
チェックサムと初回起動を含む完全な手順は エアギャップインストール を参照。
ステップ 3:プライベートレジストリへのミラー(オプション)
プライベートコンテナレジストリ(Harbor / Artifactory / ECR / GCR)があり、docker load より docker pull のほうがよければ、バンドルされたイメージを一度プッシュ:
for img in images/*.tar; do
name=$(docker load -i "$img" | awk -F': ' '/Loaded image/ {print $2}')
registry_tag="registry.internal/${name}"
docker tag "$name" "$registry_tag"
docker push "$registry_tag"
doneそして各サービスを元イメージではなく registry.internal/... に向ける docker-compose.override.yml を書けば、タールボールを再出荷せずに N ホストにデプロイできます。将来のアップグレードは「新イメージタグを pull、docker compose up -d」になります。
ステップ 4:エアギャップネットワーク内の edge インストール
curl-pipe インストーラ(https://<manager>/install.sh | bash)は、edge が manager に届く限り(静的バンドル用ポート 443 + トンネル用ポート 40012)エアギャップネットワーク内でちゃんと動きます。インストーラはエージェントバイナリと 4 つのプラグインバイナリを https://<manager>/edge/ からダウンロードします。manager の nginx がバインドマウントされた ./bin/ ディレクトリから提供します。
edge が HTTPS で manager に届かないなら —— たとえば edge がポート 40012 のみ許可するネットワークセグメントにある場合 —— 手でバイナリをコピー:
# on each edge host
sudo install -m 0755 ongrid-edge /usr/local/bin/ongrid-edge
sudo mkdir -p /usr/local/lib/ongrid-edge
sudo install -m 0755 promtail otelcol-contrib node_exporter process_exporter \
/usr/local/lib/ongrid-edge/
# then write /etc/ongrid-edge/ongrid-edge.env and the systemd unit
# (see deploy/install/edge/install.sh for the exact unit content)または、より堅牢には:./bin/linux-*/ のコピーを持つ小さな内部 HTTPS ミラーを立て、フォークした install.sh をそれに向けてください。
ステップ 5:LLM プロバイダー
Ongrid は LLM をバンドルしません。エージェントカーネルは上流プロバイダー —— Anthropic、OpenAI、Zhipu、DeepSeek、Gemini、Kimi、または任意の OpenAI 互換リレー —— を manager のアウトバウンドインターネット接続経由で呼びます。エアギャップネットワークでは 3 つの選択肢があります:
- アウトバウンドプロキシ。 manager の env ブロックで
HTTPS_PROXY=http://your-proxy:3128を設定。すべてのプロバイダー呼び出しがプロキシを通る。 - セルフホスト OpenAI 互換リレー。 vLLM / TGI / Ollama / one-api をネットワーク内で走らせ、
ONGRID_OPENAI_BASE_URLをそれに向け、ONGRID_OPENAI_API_KEYをリレーが期待するものに設定。完全切断インストールで最も一般的なパターン。 - UI 内のカスタムプロバイダー。 Settings → Models → Custom (OpenAI 互換) で再起動なしで同じ配線。
中国内の Tencent Cloud ホスト型エンドポイントに対して Zhipu (GLM) を使いたければ、ONGRID_ZHIPU_BASE_URL をリージョナルエンドポイントに、ONGRID_ZHIPU_API_KEY をキーに設定 —— プロキシ不要、GLM は中国本土ネットワーク内で到達可能。
ステップ 6:オフライン RAG(埋め込みモデル)
ナレッジベース取り込みには埋め込みモデルが必要です。デフォルトで manager はインターネットを必要とする GLM 埋め込み API(embedding-3)を呼びます。完全オフラインデプロイメントには ローカル埋め込み プロファイルに切り替え:
ONGRID_EMBEDDING_PROVIDER=local
ONGRID_EMBEDDING_LOCAL_MODEL_PATH=/var/lib/ongrid/embeddings/bge-base-en-v1.5リリースタールボールは .cache/bge-base-en-v1.5/ 下に BAAI/bge-base-en-v1.5 モデル(〜400 MB)を出荷します。インストールスクリプトが初回起動で named ボリュームにコピーします。タールボールビルド時に make fetch-embedding-model をスキップするとモデルは欠落して埋め込みは失敗します —— そのステップを 1 回走らせて再パッケージしてください。
デフォルトの Ongrid 組み込み vault(github.com/ongridio/vault)は 公開 で、埋め込み RAG seed に出荷されるベースライン runbook を含みます。同期には GitHub に届く必要があります。エアギャップネットワークでは:
- vault を自前の内部 Git サーバーにベンダリングして
ONGRID_VAULT_REPO_URLを更新。 - または、vault 同期を完全スキップ —— 埋め込み seed(およそ 96 プレイブック)はバイナリ内に住み、常に利用可能です。
ステップ 7:アップグレード
2 つのパス:
- 同じタールボールメカニズム。 インターネット接続ホストで新タールボールをダウンロード、スニーカーネットで送り、
./upgrade.shを実行。これはブートストラップを除いたinstall.shです —— イメージロード +docker compose up -d。edge エージェントは次に再接続するときに、マッチするエージェント + プラグインバイナリを拾います(ADR-024 全バンドルステージング)。 - プライベートレジストリプル。 イメージをミラーしたなら(ステップ 3)、
docker compose pull && docker compose up -dで十分。edge は依然新しいエージェント + プラグインバイナリが必要で、manager の/edge/静的パスから fetch します —— タールボール出荷のbin/ディレクトリを入れ替えたとき自動更新されます。
エアギャップで動かないもの
- 組み込み vault 自動同期 —— ミラーなし。vault リポは GitHub にある。
- プロバイダーホスト型 LLM —— アウトバウンドプロキシまたはリレーなし。出荷されるローカル LLM はない。
- デフォルトの GLM 埋め込みプロファイル ——
localに切り替え(ステップ 6 参照)。 - 公開マーケットプレーススキルインストール(ADR-017) —— プライベートレジストリに向ける。
完全エージェントカーネル、アラート evaluator、テレメトリパイプライン、チャット UI を含むそれ以外すべては完全オフラインで動きます。