Zum Inhalt

Offline-Installation

Für Server ohne ausgehenden Internetzugang. Du brauchst einen zweiten Rechner mit Internet, um das Offline-Paket zu holen.

Inhalt des Offline-Pakets

vesana-vX.Y.Z-offline.tar.gz enthält:

  • Alle Docker-Image-Tarballs
  • docker-compose.prod.yml
  • setup.sh
  • .env.example
  • Agent- und Collector-Binaries (Linux + Windows)
  • Compose-File-Manifest und Migrations-Verzeichnis

Schritt 1 — Paket holen

Auf einem Rechner mit Internet:

  • Variante A: Lizenzportal → Downloads → Offline-Paket
  • Variante B: Bestehende Online-Instanz: Admin → Updates → „Offline-Paket herunterladen"

Schritt 2 — Auf den Server übertragen

# z. B. per USB-Stick
mount /dev/sdb1 /mnt/usb
cp /mnt/usb/vesana-vX.Y.Z-offline.tar.gz /opt/
umount /mnt/usb

Oder per scp aus einem Netzwerksegment, das den Server erreicht.

Schritt 3 — Entpacken

sudo mkdir -p /opt/vesana && cd /opt/vesana
sudo tar xzf /opt/vesana-vX.Y.Z-offline.tar.gz

Schritt 4 — Docker-Images laden

for img in images/*.tar; do
  echo "Lade $img ..."
  sudo docker load < "$img"
done

Die Images stehen jetzt lokal in der Docker-Engine zur Verfügung. docker compose pull würde fehlschlagen — wird aber im Offline-Workflow nicht aufgerufen.

Schritt 5 — Umgebung einrichten

sudo ./setup.sh --offline

Die Offline-Variante des Setup-Scripts überspringt alle Netzwerk-Schritte und erwartet, dass die Images bereits geladen sind.

Oder manuell:

sudo cp .env.example .env
# .env editieren — Passwörter, SECRET_KEY, FIELD_ENCRYPTION_KEY, BASE_URL, REGISTRY_URL
sudo docker compose -f docker-compose.prod.yml up -d

Schritt 6 — Wizard durchlaufen

Browser auf einer Maschine im selben Netz öffnen:

https://<server-ip>

Wenn ein selbstsigniertes Zertifikat genutzt wird, akzeptiere die Browser-Warnung. Für saubere TLS: eigenes Cert in den nginx-Container mounten — siehe TLS / Reverse-Proxy.

Lizenz-Aktivierung offline

Online-Lizenzen brauchen einen Phone-Home an license.vesana.org, das im air-gapped Netz nicht erreichbar ist. Stattdessen:

  1. Im Lizenzportal: Lizenzen → Offline-Lizenz erstellen
  2. Kunden-UUID und gewünschte Tier eingeben
  3. Generierte Datei <kunde>-license.json herunterladen
  4. Per USB auf den Server übertragen
  5. In Vesana: Admin → Lizenz → Offline-Lizenz hochladen

Die Offline-Lizenz hat eine Laufzeit (typisch 1 Jahr) und muss vor Ablauf erneuert werden — der Server warnt 30 Tage vor Ablauf via Banner.

Updates offline

Updates kommen ebenfalls als Offline-Paket. Der Workflow ist identisch zur Erstinstallation, nur mit einem Update-Tarball statt einem Install-Tarball:

# Auf Rechner mit Internet:
license.vesana.org  Releases  Update-Paket herunterladen

# Auf Server:
scp vesana-update-vX.Y.Z.tar.gz root@server:/opt/vesana/

# In Admin-UI:
Admin  Updates  Offline-Paket hochladen  Update starten

Details: Updates → Offline-Update.

Was offline nicht funktioniert

Feature Auswirkung
Update-Check Kein automatischer Hinweis auf neue Versionen — manuell beim Anbieter prüfen
Mobile Push (Shared FCM) Funktioniert nicht — du brauchst ein eigenes Firebase-Projekt mit lokalem oder erreichbarem FCM-Endpunkt
AI mit Cloud-Provider Anthropic / externe APIs sind nicht erreichbar — nur Ollama lokal funktioniert
Wiki-Web-Suche Keine DuckDuckGo-Anfragen möglich — nur RAG aus dem Wiki

Anschluss