Zum Inhalt springen

Opfield installieren

Das öffentliche Installationsprogramm bereitet den Host vor, installiert bei Bedarf Docker, startet den vollständigen Opfield-Stack und übergibt die Konfiguration an den Browser. Für eine normale Erstinstallation müssen Sie weder eine Compose-Datei erstellen noch Docker manuell installieren.

Methode Geeignet für Was Sie prüfen und ausführen
Öffentliches Installationsprogramm – empfohlen Den kürzesten unterstützten Weg und normale Produktions-Updates Sie können das Installationsprogramm prüfen oder einen Probelauf ausführen; es installiert bei Bedarf Docker, prüft signierte Release-Metadaten und erstellt den vollständigen Stack
Manuelle Installation Sicherheitsprüfungen, die es nicht erlauben, ein heruntergeladenes Skript direkt in eine Shell zu leiten Sie installieren Docker, wählen die Release-Version, prüfen die Compose-Grundlage, erzeugen Secrets und starten jeden Dienst selbst; die Digest-Prüfung ist optional

Beide Methoden stellen dieselbe Opfield-Grundlage bereit. Wählen Sie die manuelle Installation ohne Installationsskript, wenn Ihre Richtlinie verlangt, dass jedes heruntergeladene Artefakt und jeder Befehl separat geprüft wird.

Wählen Sie einen dedizierten Linux-Host oder eine VM, die die Kapazitätsanforderungen erfüllt. Die automatische Docker-Einrichtung unterstützt die Familien Debian, Ubuntu, Fedora, CentOS und RHEL. Außerdem benötigen Sie:

  • ein Konto mit Root-Zugriff oder funktionierendem sudo;
  • ausgehenden Internetzugang zum Opfield-Update-Dienst, zum Lizenzdienst (license.opfield.dev), zu Container-Registries und zu den Paket-Repositories von Docker; Opfield registriert sich nach dem ersten Start beim Lizenzdienst, und eine Installation, die einen kostenpflichtigen Tarif hat oder hatte, autorisiert dort jedes Update;
  • curl und OpenSSL;
  • einen Plan für die endgültige Opfield-URL und den DNS-Eintrag;
  • eingehenden Zugriff auf den Web-Listener und den Relay-Pfad, wie unter Ports und Netzwerkpfade beschrieben.

Sie benötigen keine vorinstallierte Docker Engine und kein Docker Compose. Ist eine funktionierende Docker-Installation vorhanden, verwendet das Installationsprogramm sie weiter. Andernfalls richtet es das offizielle Paket-Repository von Docker ein, installiert Docker Engine und das Compose-v2-Plugin und startet den Docker-Dienst. Auf Hosts mit kollidierenden Distributions- oder Podman-Kompatibilitätspaketen kann der Docker-Installationsschritt diese Pakete ersetzen. Verwenden Sie daher einen dedizierten Opfield-Host statt einer Maschine mit fremden Workloads.

Verbinden Sie sich mit dem ausgewählten Host und führen Sie aus:

Terminal-Fenster
curl -fsSL https://get.opfield.dev | bash

Wählen Sie bei einer neuen interaktiven Installation, wie Opfield auf Port 3000 lauschen soll:

  • Internes HTTPS ist die Voreinstellung. Opfield verwendet ein Zertifikat, das von seiner eigenen System CA ausgestellt wird.
  • HTTP ist geeignet, wenn ein vertrauenswürdiger Reverse Proxy TLS terminiert und die interne Strecke bewusst unverschlüsselt ist.

Bei einer nicht interaktiven Installation wird HTTPS automatisch gewählt. Sie können die Wahl ausdrücklich angeben:

Terminal-Fenster
# Internal HTTPS, also the default
curl -fsSL https://get.opfield.dev | bash -s -- --https
# HTTP behind a trusted TLS-terminating proxy
curl -fsSL https://get.opfield.dev | bash -s -- --http

Wenn Sie das ausgewählte signierte Release und die geplanten Aktionen prüfen möchten, ohne den Host zu verändern, führen Sie einen Probelauf aus:

Terminal-Fenster
curl -fsSL https://get.opfield.dev | bash -s -- --dry-run

Um die Konsole von Anfang an unter einem öffentlichen Namen bereitzustellen, geben Sie --domain und --acme-email zusammen an:

Terminal-Fenster
curl -fsSL https://get.opfield.dev | bash -s -- --domain console.example.com --acme-email [email protected]

Opfield stellt die Konsole dann unter https://console.example.com auf Port 443 bereit, mit einem Let’s-Encrypt-Zertifikat, das es über HTTP-01 auf Port 80 bezieht und selbst verlängert. Port 80 leitet ansonsten auf HTTPS um, und Port 3000 funktioniert weiterhin. Solange der Name nicht auf diesen Host zeigt, verwendet die Konsole auf Port 443 das Zertifikat der System CA. Die öffentliche URL wird https://<domain>.

Um eine bestehende Installation umzuziehen, installiert --restore <file> die Opfield-Version, die einen Konfigurationsexport erstellt hat, in ein neues Verzeichnis und stellt den Export dort wieder her; --public-url und --grpc-target legen die Adressen des neuen Hosts ohne Rückfrage fest.

Das Standard-Installationsverzeichnis ist /opt/opfield, und das Compose-Projekt heißt opfield. Das Installationsprogramm prüft das ausgewählte Release, schreibt die Umgebung und die Compose-Grundlage, bezieht unveränderliche Anwendungs- und Relay-Images, legt persistenten Speicher an und startet Opfield, PostgreSQL, Redis, das lokale Relay-Mitglied und die private interne Registry, die von den unterstützten Build-Abläufen benötigt wird. PostgreSQL, Redis und die Registry sind per Digest festgelegt und werden zuerst vom Opfield-Image-Mirror auf ghcr.io bezogen, mit Docker Hub als Ausweichquelle.

Behandeln Sie diesen Host als Teil der vertrauenswürdigen Computing-Basis von Opfield. Die Anwendung erhält bewusst die Kontrolle über den Docker-Host für signierte Updates, Wiederherstellung, Housekeeping und optionale verwaltete Dienste. Isolieren Sie Opfield in einer eigenen VM oder auf einem dedizierten vertrauenswürdigen Host; betreiben Sie dort keine fremden Workloads und legen Sie dort keine fremden Zugangsdaten ab.

Sobald der Stack fehlerfrei läuft, gibt das Terminal Folgendes aus:

  • die zu öffnende URL;
  • den Fingerabdruck der Opfield System CA;
  • einen einmaligen Einrichtungscode, der 24 Stunden gültig ist;
  • einen Reset-Befehl, der einen Ersatzcode ausstellt, falls die Einrichtung abläuft.

Der Einrichtungscode im Klartext wird einmal angezeigt und weder in .env noch in der Datenbank gespeichert. Geben Sie ihn nur auf der Opfield-Einrichtungsseite ein; fügen Sie ihn nicht in Chats, Tickets, Logs oder Screenshots ein. Der Browser-Assistent konfiguriert die kanonische URL, die Endpunkte des Node-Netzwerks, die Authentifizierung, den ersten Administrator, das strukturierte Logging und optional AI Workspace. Die Einrichtung benötigt keine kostenpflichtige Lizenz; das strukturierte Logging bleibt deaktiviert, bis die Lizenz es enthält (Business und Enterprise).

Fahren Sie nach Abschluss des Installationsprogramms mit der Ersteinrichtung fort.

Die Installation ist abgeschlossen, wenn sich die Einrichtungsseite im Browser öffnet und der Stack fehlerfreie Dienste meldet. Für eine Prüfung auf Betreiberebene:

Terminal-Fenster
cd /opt/opfield
sudo docker compose ps

Jeder benötigte Dienst sollte laufen. Sie können außerdem den lokalen Health-Endpunkt entsprechend dem gewählten Transport prüfen:

Terminal-Fenster
curl -kfsS https://127.0.0.1:3000/health
# or, for an HTTP installation:
curl -fsS http://127.0.0.1:3000/health

Fügen Sie keine Produktions-Nodes hinzu, bevor der Assistent abgeschlossen ist, die kanonische URL stimmt und eine normale Anmeldung gelingt.

Lesen Sie /tmp/opfield-install.log und die abschließende Meldung des Installationsprogramms, bevor Sie es erneut versuchen. Ein erneuter Versuch ist sicher, nachdem ein Netzwerk-, Paket-, Festplatten- oder Registry-Problem behoben wurde; das Installationsprogramm erkennt eine bestehende, von ihm verwaltete Bereitstellung und bewahrt bei Updates die gespeicherte Opfield-Konfiguration. Eine neue Installation, die vor der Anzeige des Einrichtungscodes abgebrochen ist, wird beim nächsten Lauf fortgesetzt, statt als bestehende Bereitstellung behandelt zu werden.

Wenn Dienste erstellt wurden, Opfield aber nicht fehlerfrei startet, prüfen Sie den Compose-Status und begrenzte Logs aus /opt/opfield, statt Volumes zu löschen oder Zugangsdaten neu zu erzeugen. Bewahren Sie .env, PostgreSQL, Identität und Zustand von Relay, das Volume app_data und den Master-Verschlüsselungsschlüssel. Das Entfernen dieser Artefakte macht aus einem behebbaren Installationsproblem einen Verlust von Daten oder Identität.