Infrastruktur
OpenVLE besteht aus mehreren Docker-Containern, die gemeinsam als Docker-Compose-Stack betrieben werden. Zusätzlich werden externe Systeme (Proxmox VE, optional Apache Guacamole und Moodle) angebunden. Dieser Bereich beschreibt die Architektur, die verwendeten Komponenten und ihre Zusammenhänge.
Architekturdiagramm
Legende:
| Farbe | Bedeutung |
|---|---|
| Gelb (gestrichelt) | Externe Komponenten (Reverse Proxy, Guacamole Stack, Moodle) |
| Blau (hell) | Frontend — Vue.js-Anwendung mit Nginx |
| Blau (dunkel) | Backend / Tasks — FastAPI, Worker, Scheduler |
| Grün | Datenbanken — MariaDB, MongoDB, Redis |
| Orange | Proxmox VE Cluster — Hypervisor-Infrastruktur (extern) |
Komponenten auf einen Blick
OpenVLE Docker-Stack
| Komponente | Typ | Zweck |
|---|---|---|
| Backend | Python/FastAPI | REST-API, Geschäftslogik, Proxmox-Integration |
| Frontend | Vue.js/Nginx | Weboberfläche |
| Worker (3 Typen) | RQ Worker | Asynchrone Hintergrundaufgaben (VM-Operationen, E-Mail, Guacamole, Moodle) |
| Scheduler | RQ Cron | Periodische Aufgaben nach Zeitplan |
| MariaDB | Relationale DB | Kernentitäten (Benutzer, Rollen, Umgebungen, VMs, ...) |
| MongoDB | Dokumenten-DB | Aktivitäten, System-Events, Audit-Logs |
| Redis | In-Memory | Task-Queue und Cache |
Externe Systeme
| System | Erforderlich | Zweck |
|---|---|---|
| Proxmox VE | Ja | Hypervisor-Cluster zur VM-Verwaltung |
| Reverse Proxy | Empfohlen | SSL-Terminierung und Routing |
| Apache Guacamole | Optional, empfohlen | Webbasierter Remote-Desktop-Zugang zu VMs |
| Moodle | Optional | Lernmanagementsystem-Anbindung |
| SMTP-Server | Ja | E-Mail-Versand |
| LDAP-Server | Optional | Benutzer-Authentifizierung |
| OIDC-Provider | Optional | Single Sign-On |
Externe Abhängigkeiten
Proxmox VE, Apache Guacamole und Moodle werden nicht im OpenVLE Docker-Compose-Stack betrieben. Sie müssen separat installiert und konfiguriert werden. Siehe Proxmox VE Integration, Apache Guacamole Integration und Moodle Integration für die Einrichtung.
Weiter lesen
- Verwendete Komponenten — Docker-Container im Detail: SERVICE_ROLE, Ports, Health Checks, Persistenz
- Netzwerk & Docker — Docker-Netzwerk, Ports und Kommunikationspfade
- Datenbanken — MariaDB, MongoDB und Redis: Aufgabenteilung und Datenhaltung
- Task-System — Worker, Scheduler und die Redis-Queue für Hintergrundaufgaben
- Authentifizierung — Lokale Anmeldung, LDAP und OIDC
- Berechtigungssystem — Rollen, Berechtigungen und Zugriffskontrolle
- Proxmox VE — VM-Verwaltung, Node-Management und Cluster-Integration (erforderlich)
- Apache Guacamole — Remote-Desktop-Zugang über Apache Guacamole (optional, empfohlen)
- Moodle — Anbindung an das Lernmanagementsystem Moodle (optional)