Zum Hauptinhalt springen

Installation

Diese Anleitung führt vom leeren System bis zur laufenden, noch uneingerichteten Insel. Rechnen Sie mit 30–60 Minuten, den Großteil davon wartet der Download der Container-Images.

Voraussetzungen prüfen​

  • 64-bit-System mit Docker und Docker Compose (docker compose version antwortet).
  • SSD als Datenlaufwerk — keine SD-Karte für die Datenbank.
  • Öffentliche IPv4-Adresse am Anschluss; Portweiterleitung 80 und 443 auf das System eingerichtet.
  • SMTP-Zugangsdaten Ihres Mail-Anbieters liegen bereit.
  • Das Onboarding-Paket von intraOnline liegt vor. Es enthält:
    • Ihre Node-Kennung und Ihr Node-Secret (das Secret wird Ihnen genau einmal übermittelt — bewahren Sie es wie ein Passwort auf),
    • den Zugang zur Container-Registry,
    • Ihre Web-Adresse (z. B. ihr-verein.intraonline.de),
    • die Vorlagen docker-compose.yml, node.env.example und Caddyfile.

Schritt 1: Verzeichnis anlegen und Vorlagen ablegen​

Legen Sie ein Arbeitsverzeichnis an (z. B. /opt/intraonline) und legen Sie die drei Vorlagen aus dem Onboarding-Paket hinein. Kopieren Sie dann die Beispiel-Umgebung:

cp node.env.example node.env

Schritt 2: node.env ausfüllen​

Die Datei erklärt jede Zeile selbst. Drei Gruppen von Werten:

  1. Eigene Angaben: Ihre Web-Adresse, Ihr SMTP-Zugang, Ihre Absender-Adresse.
  2. Frisch erzeugte Geheimnisse: Datenbank-Passwort, interne Schlüssel. Die Datei enthält für jeden Wert den passenden Erzeugungs-Befehl — verwenden Sie niemals Werte aus Beispielen oder von anderen Installationen.
  3. Aus dem Onboarding-Paket: LICENSE_NODE_ID und LICENSE_NODE_SECRET — damit weist sich Ihre Insel beim stündlichen Lizenz-Abruf aus.
Das Node-Secret ist ein Passwort

Wer das Secret kennt, kann sich gegenüber intraOnline als Ihre Insel ausgeben. Es gehört in die node.env und in Ihren Passwort-Speicher — nirgendwo sonst. Bei Verdacht auf ein Leck stellt intraOnline auf Zuruf ein neues aus (siehe Betrieb → Secret erneuern).

Schritt 3: Bei der Registry anmelden und starten​

docker login <registry-adresse-aus-dem-paket>
docker compose --env-file node.env up -d

Der erste Start lädt die Images und richtet die Datenbank ein — das dauert einige Minuten.

Schritt 4: Die drei Kontrollblicke​

1. Laufen alle Dienste?

docker compose --env-file node.env ps

Alle Dienste sollten running (bzw. healthy) zeigen.

2. Meldet sich die Insel bei intraOnline?

docker compose --env-file node.env logs backend | grep -i license

Erwartet ist license fetched, verified and stored: Ihre Insel weist sich mit den Zugangsdaten aus dem Onboarding-Paket aus und erhält ihre signierte Lizenz — auch schon vor der Freischaltung (die Lizenz enthält dann nur noch keine aktive Organisation, deshalb Lesemodus). Ob eine Organisation aktiv oder im Lesemodus ist, zeigt nicht dieses Protokoll, sondern die Verwaltungs-Seite. Ein abgewiesener Abruf (license fetch refused) bedeutet dagegen: Node-Kennung oder Secret stimmen nicht mit dem Onboarding-Paket überein.

3. Wird die Web-Adresse grün?

Beim ersten erfolgreichen Kontakt Ihrer Insel mit intraOnline wird Ihre Web-Adresse automatisch auf Ihren Anschluss gezeigt — Sie konfigurieren kein DNS. Unmittelbar danach besorgt sich der mitgelieferte Web-Server (Caddy) sein TLS-Zertifikat.

Erst rot, dann grün — das ist normal

In den ersten Minuten nach dem Start zeigt der Browser unter Ihrer Web-Adresse noch Zertifikatsfehler: Die Adresse entsteht erst mit dem ersten Kontakt, und das Zertifikat folgt ihr. Nach wenigen Minuten ist die Seite regulär per HTTPS erreichbar. Dauerhafte Fehler nach 15 Minuten sind dagegen ein Fall für die Diagnose.

Damit ist die Installation abgeschlossen — weiter geht es mit der Einrichtung: Betreiber-Konto und erste Organisation.