Administration
Dieser Bereich beschreibt die grundlegende Verwaltung und Konfiguration der edulution Plattform nach der Installation.
2.2.1 SSL-Zertifikate sichern
Es ist wichtig, Ihre SSL-Zertifikate regelmäßig zu sichern:
# Backup erstellen
tar -czf ssl-backup-$(date +%Y%m%d).tar.gz -C /srv/docker/edulution-ui/data/traefik ssl/
# Backup wiederherstellen
tar -xzf ssl-backup-20240115.tar.gz -C /srv/docker/edulution-ui/data/traefik/
Let's Encrypt Zertifikate können jederzeit neu generiert werden und müssen nicht zwingend gesichert werden.
2.3 Ports und Firewall
Die edulution Plattform verwendet folgende Ports:
| Port | Protokoll | Beschreibung |
|---|---|---|
| 80/tcp | HTTP | Weiterleitung zu HTTPS |
| 443/tcp | HTTPS | Web-Interface (edulution Plattform) |
| 143/tcp | IMAP | E-Mail unverschlüsselt (nur intern) |
| 993/tcp | IMAPS | E-Mail verschlüsselt (SSL/TLS) |
Firewall-Konfiguration (UFW):
# Ports öffnen
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 993/tcp
# IMAP nur intern erlauben
ufw allow from 10.0.0.0/8 to any port 143
2.4 Updates
2.4.1 edulution Plattform aktualisieren
Erstellen Sie vor jedem Update einen Snapshot Ihrer VM!
Um die edulution Plattform zu aktualisieren:
-
Wechseln Sie in das edulution Plattform Verzeichnis:
cd /srv/docker/edulution-ui -
Laden Sie die neuesten Container-Images:
docker compose pull -
Starten Sie die Container neu:
docker compose up -d -
Überprüfen Sie, ob alle Container laufen:
docker compose ps
Das Update dauert in der Regel nur wenige Minuten. Die edulution Plattform bleibt während des Updates kurz nicht erreichbar.
2.4.2 Nach dem Update
Nach einem Update sollten Sie:
- Die Funktionalität der edulution Plattform testen
- Die Logs auf Fehler prüfen:
docker compose logs -f --tail=50 - Bei Problemen können Sie über den VM-Snapshot zurückrollen
Beim ersten Start nach dem Update verschlüsselt die API die gespeicherten Schlüssel und Passwörter mit einem Master-Schlüssel. Sichern Sie diesen Schlüssel unbedingt zusammen mit der Datenbank – siehe Master-Key-Verschlüsselung.
2.5 Erste Anmeldung und Konfiguration
2.5.1 Anmeldung als global-admin
Nach der erfolgreichen Installation können Sie sich an der edulution Plattform anmelden:
- Öffnen Sie einen Webbrowser und navigieren Sie zur edulution Plattform-URL
- Melden Sie sich als global-admin an, um Konfigurationen vorzunehmen
Verwenden Sie für die erste Anmeldung immer den global-admin Account, um alle administrativen Funktionen nutzen zu können.
2.5.2 Dashboard-Übersicht
Nach der erfolgreichen Anmeldung gelangen Sie zum Dashboard:
Das Dashboard bietet Ihnen:
- Überblick über alle installierten Services
- Schnellzugriff auf wichtige Funktionen
- Systemstatus und Benachrichtigungen
- Navigation zu den Einstellungen
2.5.3 Einstellungen aufrufen
Die Einstellungen finden Sie in der rechten Seitenleiste:
Über die Seitenleiste haben Sie Zugriff auf:
- Container-Verwaltung
- App Store
- Systemkonfiguration
- Benutzerverwaltung
2.5.4 App Store - Apps installieren
Der App Store ist der zentrale Ort für die Installation neuer Anwendungen:
- Klicken Sie in der Seitenleiste auf App Store
- Sie sehen eine Übersicht aller verfügbaren Apps
App-Status verstehen:
| Status | Beschreibung |
|---|---|
| Verfügbar (farbig) | App kann per Klick installiert werden |
| Installiert (ausgegraut) | App ist bereits installiert und aktiv |
App installieren:
- Klicken Sie auf eine verfügbare App
- Bestätigen Sie die Installation
- Warten Sie, bis die Installation abgeschlossen ist
- Die App erscheint dann ausgegraut als "Installiert"
Installierte Apps sind sofort über das Dashboard oder die Navigation verfügbar.
2.5.5 App-Installation und Konfiguration
App installieren:
- App auswählen: Klicken Sie auf das Icon der gewünschten App im App Store
- Hinzufügen: Klicken Sie unten links auf Hinzufügen
- Grundkonfiguration: Ein Popup öffnet sich, in dem Sie folgende
Einstellungen vornehmen können:
- Name: Anzeigename der App im Menü
- Icon: Symbol für die App-Darstellung
Nach der Installation:
- Die App erscheint im rechten Menü (Navigation)
- Die App-Einstellungen finden Sie in der linken Seitenleiste (Einstellungen)
- Über die Einstellungen können Sie weitere Konfigurationen vornehmen
Erweiterte Konfiguration in den App-Einstellungen:
Nach der Installation können Sie in den App-Einstellungen folgende Parameter anpassen:
- Position: Reihenfolge der App im Menü
- Berechtigungen: Wer die App sehen und nutzen kann
Berechtigungen vergeben:
Die App-Berechtigung kann auf verschiedene Weise eingeschränkt werden:
| Berechtigung | Beschreibung |
|---|---|
| Alle Benutzer | App ist für alle sichtbar |
| Linuxmuster Gruppen | App nur für ausgewählte Klassen/Gruppen (z.B. 5a, 10b, Lehrer-AG) |
| Linuxmuster Rollen | App nur für spezifische Rollen: • teacher (Lehrkräfte)• student (Schüler)• schooladministrator (Schuladministrator)• globaladministrator (Global-Administrator) |
Beispiel Info Board Konfiguration:
Das Screenshot zeigt die Berechtigungseinstellungen für das Info Board. Hier können Sie präzise festlegen, welche Benutzergruppen oder Rollen Zugriff auf die jeweilige App haben.
Integration mit Linuxmuster: Die edulution Plattform nutzt die vorhandenen Gruppen und Rollen aus Ihrem Linuxmuster-System. Sie müssen keine separaten Berechtigungen pflegen.
2.6 App-Typen und Konfiguration
2.6.1 App Frame - Externe Webseiten einbinden
Mit dem App Frame können Sie externe Webseiten direkt in die edulution Plattform einbetten.
Konfiguration eines App Frames:
- Wählen Sie App Frame aus dem App Store
- Geben Sie die URL der zu framenden Seite ein
- Konfigurieren Sie Name und Berechtigungen
Wichtiger Hinweis: Die externe Webseite muss das Einbetten in Frames erlauben. Seiten mit strikten X-Frame-Options oder Content-Security-Policy können nicht geframt werden.
Beispiele für App Frame Nutzung:
- Speiseplan der Schulkantine
- Vertretungsplan
- Externe Lernplattformen
- Schulspezifische Dienste
Technische Voraussetzungen:
- Die Ziel-URL muss über HTTPS erreichbar sein
- Die Webseite darf keine Frame-Embedding-Beschränkungen haben
- Die Seite sollte responsive Design unterstützen
Testen Sie App Frames zunächst in einem Browser-Tab, um sicherzustellen, dass die Seite korrekt angezeigt wird.
2.7 KI-Chat konfigurieren
Die edulution Plattform unterstützt OpenAI, Anthropic, Google Gemini, Ollama
und OpenAI-kompatible Dienste. Ergänzen Sie die Variablen des gewünschten
Anbieters in der .edulution.env im Installationsverzeichnis
/srv/docker/edulution-ui.
Die Freigabe des KI-Chats für einzelne Nutzergruppen konfigurieren Sie anschließend unter Einstellungen → Chat (KI-Chat).
2.7.1 Unterstützte Anbieter
| Anbieter | AI_PROVIDER | Benötigte anbieterspezifische Variable |
|---|---|---|
| OpenAI API (GPT-Modelle) | openai | OPENAI_API_KEY |
| Anthropic (Claude) | anthropic | ANTHROPIC_API_KEY |
| Google Gemini | google | GOOGLE_GENERATIVE_AI_API_KEY |
| Ollama | ollama | AI_OLLAMA_BASE_URL |
| OpenAI-kompatibler Dienst oder Gateway | openai-compatible | AI_BASE_URL und je nach Dienst AI_API_KEY |
Pro Installation kann nur ein Anbieter gleichzeitig ausgewählt werden.
Alle Einträge in AI_MODELS müssen deshalb zum gewählten AI_PROVIDER
gehören.
Die Anbindung erfolgt über die OpenAI API, nicht über eine Anmeldung bei ChatGPT. Ein ChatGPT-Abonnement enthält nicht automatisch API-Nutzung. Dafür werden ein separater OpenAI-API-Schlüssel und eine gesonderte API-Abrechnung benötigt.
2.7.2 Gemeinsame Variablen
| Variable | Beschreibung |
|---|---|
AI_PROVIDER | Anbieter: openai, anthropic, google, ollama oder openai-compatible |
AI_MODELS | Kommaseparierte Modell-IDs, die im KI-Chat ausgewählt werden können |
AI_MODEL | Standardmodell; wird automatisch zusätzlich zur Modellauswahl hinzugefügt |
AI_SYSTEM_PROMPT | Optionale Systemanweisung, die bei jeder Chat-Anfrage mitgesendet wird |
AI_REASONING_TAGS | Optionale, kommaseparierte Tags wie think, deren Inhalte als Denkprozess dargestellt werden |
Verwenden Sie die exakten Modell-IDs des jeweiligen Anbieters. Aktuelle Modell-IDs finden Sie in den Modellübersichten von OpenAI, Anthropic und Google Gemini.
2.7.3 OpenAI konfigurieren
AI_PROVIDER=openai
OPENAI_API_KEY=<API_KEY>
AI_MODELS=gpt-5.6
AI_MODEL=gpt-5.6
AI_SYSTEM_PROMPT=Antworte immer in Markdown
AI_REASONING_TAGS=
Falls das angegebene Modell für Ihr OpenAI-Konto nicht verfügbar ist, verwenden Sie eine Modell-ID aus der OpenAI-Modellübersicht.
2.7.4 Anthropic konfigurieren
Erstellen Sie den benötigten Schlüssel in der Anthropic Console.
AI_PROVIDER=anthropic
ANTHROPIC_API_KEY=<API_KEY>
AI_MODELS=claude-sonnet-5
AI_MODEL=claude-sonnet-5
AI_SYSTEM_PROMPT=Antworte immer in Markdown
AI_REASONING_TAGS=
2.7.5 Google Gemini konfigurieren
Erstellen Sie den benötigten Schlüssel in Google AI Studio.
AI_PROVIDER=google
GOOGLE_GENERATIVE_AI_API_KEY=<API_KEY>
AI_MODELS=gemini-3.6-flash
AI_MODEL=gemini-3.6-flash
AI_SYSTEM_PROMPT=Antworte immer in Markdown
AI_REASONING_TAGS=
2.7.6 Ollama konfigurieren
Die Ollama-URL muss aus dem API-Container erreichbar sein und mit /v1
enden. Informationen zur Schnittstelle finden Sie in der
Ollama-Dokumentation.
Prüfen Sie zunächst auf dem Ollama-Server, welche Modelle installiert sind:
ollama list
Tragen Sie anschließend den dort angezeigten Modellnamen ein:
AI_PROVIDER=ollama
AI_OLLAMA_BASE_URL=http://<OLLAMA-HOST>:11434/v1
AI_MODELS=<OLLAMA-MODELLNAME>
AI_MODEL=<OLLAMA-MODELLNAME>
AI_SYSTEM_PROMPT=Antworte immer in Markdown
AI_REASONING_TAGS=
OLLAMA-HOST muss aus dem edulution-api-Container erreichbar sein.
localhost bezeichnet innerhalb des Containers den Container selbst.
2.7.7 OpenAI-kompatiblen Dienst konfigurieren
Diese Variante eignet sich beispielsweise für selbst gehostete Gateways und andere Dienste mit einer OpenAI-kompatiblen API. Ein solcher Gateway kann gleichzeitig Modelle unterschiedlicher Hersteller anbieten:
AI_PROVIDER=openai-compatible
AI_BASE_URL=https://gateway.example.org/v1
AI_API_KEY=<API_KEY>
AI_MODELS=MODELL-1,MODELL-2,MODELL-3
AI_MODEL=MODELL-1
AI_SYSTEM_PROMPT=Antworte immer in Markdown
AI_REASONING_TAGS=think
AI_INFO_API_KEY ist optional. Unterstützt der Dienst die Route
/model/info, kann darüber die Kontextgröße der Modelle abgefragt und
die Kontextauslastung angezeigt werden. Verwenden Sie dafür keinen
Master-Schlüssel.
AI_INFO_API_KEY=<INFO_API_KEY>
Lassen Sie AI_REASONING_TAGS leer, wenn das gewählte Modell keine
entsprechenden Tags wie <think> ausgibt.
2.7.8 Container neu starten
Starten Sie die Container nach einer Änderung neu und prüfen Sie die Logs:
docker compose up -d
docker compose logs -f --tail=100
Tragen Sie echte API-Schlüssel nur in die lokale .edulution.env ein.
Veröffentlichen Sie diese niemals in der Dokumentation oder
Versionsverwaltung.
Diese Seite richtet sich an eine andere Zielgruppe
Sie ist geschrieben für: Admin · Einrichtung, Admin · Betrieb. Ihre aktuelle Auswahl blendet sie deshalb aus.