Air-Gapped-Installation
Ongrid ist darauf ausgelegt, vollständig offline zu installieren. Jedes Release-Tarball liefert:
- Das
ongrid-Manager-Docker-Image, - Das
ongrid-web(Frontend + nginx) Docker-Image, - Das
singchia/frontier-Broker-Docker-Image, - Die vier Edge-Plugin-Binaries (
promtail,otelcol-contrib,node_exporter,process_exporter) fürlinux/amd64undlinux/arm64, - Per-arch
ongrid-edge-Binaries, - Das optionale Offline-Embedding-Modell (
fast-bge-small-zh-v1.5) für die Wissensbasis, wenn Siemake fetch-embedding-modelvormake packageausgeführt haben.
Nichts wird zur Installationszeit aus Docker Hub, GitHub oder einer Vendor-API gezogen. Die einzigen externen Abhängigkeiten zur Laufzeit sind die LLM-API-Endpunkte, die Sie konfiguriert haben — für ein vollständig air-gapped Setup richten Sie diese auf ein on-prem vLLM / Ollama / OpenRouter-Relay aus.
Diese Seite deckt den Workflow für Umgebungen ab, die das öffentliche Internet nicht erreichen können.
Das Tarball auf einem verbundenen Host herunterladen
Auf einer Workstation, die Internet hat:
VER=v0.7.159
gh release download "$VER" \
--repo ongridio/ongrid \
-p 'ongrid-*-linux-amd64.tar.xz*'Sie bekommen zwei Dateien:
ongrid-v0.7.159-linux-amd64.tar.xz # ~380 MB (xz compressed)
ongrid-v0.7.159-linux-amd64.tar.xz.sha256 # the sidecarGitHub-Uploads über Clash
Große Release-Assets werden über Clash-Proxies auf halber Strecke reset. Wenn Sie herunterladen und das Tarball kurz endet, versuchen Sie es mit NO_PROXY=objects.githubusercontent.com direkt. Verifizieren Sie immer die sha256 (siehe nächster Schritt).
Die sha256 verifizieren
Bevor Sie irgendetwas anderes tun:
sha256sum -c ongrid-v0.7.159-linux-amd64.tar.xz.sha256
# → ongrid-v0.7.159-linux-amd64.tar.xz: OKWenn das fehlschlägt, fahren Sie nicht fort. Neu herunterladen.
Auf den Air-Gapped-Host transferieren
Welcher Weg auch immer an Ihrem Standort genehmigt ist. USB-Stick, internes Artefakt-Repo, SFTP durch eine Jumpbox. Die zwei Dateien reisen zusammen; Sie können die sha256 nach dem Transfer erneut verifizieren.
# On the destination host:
sha256sum -c ongrid-v0.7.159-linux-amd64.tar.xz.sha256Installation
Dasselbe wie die Server-Installation — keine Flags für Air-Gapped erforderlich, der Installer reicht nie hinaus:
tar xf ongrid-v0.7.159-linux-amd64.tar.xz
cd ongrid-v0.7.159-linux-amd64
sudo ./install.shinstall.sh tut:
docker loadder drei gebündelten Images (images/ongrid.tar,images/frontier.tar,images/ongrid-web.tar).- Konfigurationen lagern, Host-Datenverzeichnisse einrichten, das selbstsignierte TLS-Zertifikat generieren (verwendet lokales
openssl; keine externe CA nötig). .envaus dem Template verdrahten, starke zufällige Secrets in-place generieren, nachONGRID_PUBLIC_URLfragen.docker compose up -d,/healthzpollen.
Sie sollten keine „downloading..."-Log-Zeilen sehen.
Die Install-URL on-prem hosten
Wenn Edges sich selbst installieren, machen sie curl https://<manager>/install.sh | bash. Das install.sh, das sie fetchen, wird vom Manager selbst bedient — konkret von nginx aus /opt/ongrid/edge/install.sh. Es gibt keine GitHub- oder andere externe Abhängigkeit im Edge-Install-Pfad.
Dasselbe nginx bedient:
| Pfad auf nginx | Was |
|---|---|
/install.sh | Das Edge install.sh-Skript. |
/edge/ongrid-edge-linux-amd64 | Das Edge-Agent-Binary. |
/edge/ongrid-edge-linux-arm64 | Dasselbe, arm64. |
/edge/promtail-linux-amd64 | Plugin-Binary. |
/edge/otelcol-contrib-linux-amd64 | Plugin-Binary. |
/edge/node_exporter-linux-amd64 | Plugin-Binary. |
/edge/process_exporter-linux-amd64 | Plugin-Binary. |
/edge/apply-pending-upgrade.sh | ADR-024 ExecStartPre-Hook. |
/edge/edge-bundle-linux-amd64-<ver>.tar.gz | Upgrade-Bundle. |
/edge/edge-bundle-linux-amd64-<ver>.tar.gz.sha256 | Sidecar. |
All das landet in /opt/ongrid/edge/, wenn install.sh läuft, und wird vom nginx-Container read-only bedient. Nichts anderes ist erforderlich.
Edge-Installation (air-gapped)
Der Standard-Einzeiler funktioniert, solange die Edge den Manager erreichen kann:
curl -k -sSL https://manager.internal/install.sh | sudo bash -s -- \
--access-key=AK_xxxxxxxxxxxxxxxx \
--secret-key=SK_yyyyyyyyyyyyyyyy \
--server-edge-addr=manager.internal:40012 \
--server-http-addr=manager.internal:443Wenn Sie einen Edge-Host haben, der den Manager nicht direkt erreichen kann, aber kann einen internen Artefakt-Mirror erreichen, können Sie:
- Die
/install.sh- und/edge/*-Pfade des Managers auf Ihren internen Webserver spiegeln. - Den Einzeiler auf die URL dieses Mirrors ausrichten.
- Der Agent braucht immer noch
--server-edge-addrund--server-http-addr, die auf den echten Manager zeigen — der Mirror hostet nur die Install-Artefakte, nicht den Tunnel.
Das ist nützlich für „die Edge kann mit dem Manager nur über TCP 40012 + eine kuratierte Menge von Ports sprechen"-Setups, wo TCP 443 zum Manager nicht verfügbar ist, aber ein Corporate-Webserver es ist.
Datenebene braucht immer noch HTTPS zum Manager
Logs und Traces pushen direkt von jeder Edge an https://<manager>/loki/api/v1/push und https://<manager>/v1/traces. Wenn Ihre Edge den Manager auf 443 nicht erreichen kann, werden diese Plugins fehlschlagen. Der Agent selbst sieht gesund aus (er braucht nur 40012), aber die Datenebene wird still sein — stellen Sie sicher, dass 443 auf dem Edge → Manager-Pfad offen ist.
Air-Gapped Model-Provider
Die Default-ONGRID_*_API_KEY=-Slots zeigen auf Vendor-URLs (OpenAI, Anthropic, Zhipu, …). Um air-gapped zu bleiben, konfigurieren Sie einen Custom (OpenAI-kompatibel)-Provider in Settings → Models, der auf Ihr on-prem-Relay zeigt:
- vLLM —
OPENAI_API_BASE=http://vllm.internal:8000/v1mit einem DummyOPENAI_API_KEY. - Ollama —
OPENAI_API_BASE=http://ollama.internal:11434/v1. - LocalAI / LMStudio — gleiches Muster.
- OpenRouter (on-prem) — Ihre Relay-Base-URL einfügen.
Der Agent kümmert sich nicht; das OpenAI-kompatible Wire-Format ist universell. Dann den neuen Provider als Default provider setzen, sodass alle Back-End-Aufrufe (Alarm-Untersuchung, Übersetzen, Zusammenfassen) ihn verwenden.
Siehe den Custom (OpenAI-kompatibel)-Eintrag unter Modelle in der Seitenleiste.
Air-Gapped Wissensbasis (Vault-Sync ohne GitHub)
Der eingebaute Vault synchronisiert sich beim ersten Boot von github.com/ongridio/vault. Air-Gapped-Sites können GitHub nicht erreichen. Zwei Optionen:
Option A — Vault inline ausliefern
Das Release-Tarball enthält einen Baseline-Snapshot des Vaults als Teil des Images. Beim ersten Boot kopiert der Manager ihn direkt in Qdrant — kein Netzwerk nötig. Sie bekommen die Baseline (letzter vollständig öffentlicher Sync zur Release-Tag-Zeit), sehen aber keine neuen Playbooks, bis Sie den Manager upgraden.
Option B — Das Vault-Repo intern spiegeln
- Auf einem verbundenen Host den öffentlichen Vault klonen:bash
git clone --bare https://github.com/ongridio/vault.git - Auf Ihren internen Git-Server pushen:bash
git push --mirror git@git.internal:ops/vault.git - In Settings → Knowledge → Vault die Sync-URL auf
git@git.internal:ops/vault.gitsetzen und einen SSH-Deploy-Key einfügen. Der Manager verwendetGIT_SSH_COMMANDzum Binden des Schlüssels — siehe ADR-023.
Der Manager re-syncht den Vault on-Demand aus der UI (Button „Sync vault"). Jeder Pull ist ein git fetch gegen das konfigurierte Remote; es gibt keinen GitHub-spezifischen Code im Pfad.
Upgrades, air-gapped
Genauso wie die Erstinstallation, kein Internet zur Installationszeit nötig. Der Fluss:
- Auf der verbundenen Workstation:
gh release download v0.7.160 ...und sha256 verifizieren. - Das Tarball transferieren.
- Auf dem Air-Gapped-Host:bash
tar xf ongrid-v0.7.160-linux-amd64.tar.xz cd ongrid-v0.7.160-linux-amd64 sudo ./upgrade.sh - Aus der UI, Edges → Upgrade all — Edges fetchen das neue Bundle von
https://<manager>/edge/edge-bundle-linux-amd64-v0.7.160.tar.gzund wenden es über den Standard-ADR-024-Stage-then-Swap-Fluss an.
Es gibt keinen Schritt, der Internet jenseits der Workstation braucht, die das Tarball herunterlädt.
Siehe Upgrade für die blutigen Details.
Was als Nächstes
- Modelle / Custom (OpenAI-kompatibel) — ein vLLM / Ollama / on-prem-Relay als Default-Provider verdrahten (siehe Modelle in der Seitenleiste).
- Wissensbasis-Fähigkeit — was der Vault enthält und wie Sie Ihre eigenen Runbooks hinzufügen.
- On-Prem-Plattform — breitere Notizen zu On-Prem- / Air-Gapped-Bereitstellungen einschließlich SELinux, benutzerdefinierten CAs, ausgehendem Proxy.