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 versionantwortet). - 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.exampleundCaddyfile.
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:
- Eigene Angaben: Ihre Web-Adresse, Ihr SMTP-Zugang, Ihre Absender-Adresse.
- 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.
- Aus dem Onboarding-Paket:
LICENSE_NODE_IDundLICENSE_NODE_SECRET— damit weist sich Ihre Insel beim stündlichen Lizenz-Abruf aus.
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.
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.