Zum Hauptinhalt springen

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:

FarbeBedeutung
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ünDatenbanken — MariaDB, MongoDB, Redis
OrangeProxmox VE Cluster — Hypervisor-Infrastruktur (extern)

Komponenten auf einen Blick

OpenVLE Docker-Stack

KomponenteTypZweck
BackendPython/FastAPIREST-API, Geschäftslogik, Proxmox-Integration
FrontendVue.js/NginxWeboberfläche
Worker (3 Typen)RQ WorkerAsynchrone Hintergrundaufgaben (VM-Operationen, E-Mail, Guacamole, Moodle)
SchedulerRQ CronPeriodische Aufgaben nach Zeitplan
MariaDBRelationale DBKernentitäten (Benutzer, Rollen, Umgebungen, VMs, ...)
MongoDBDokumenten-DBAktivitäten, System-Events, Audit-Logs
RedisIn-MemoryTask-Queue und Cache

Externe Systeme

SystemErforderlichZweck
Proxmox VEJaHypervisor-Cluster zur VM-Verwaltung
Reverse ProxyEmpfohlenSSL-Terminierung und Routing
Apache GuacamoleOptional, empfohlenWebbasierter Remote-Desktop-Zugang zu VMs
MoodleOptionalLernmanagementsystem-Anbindung
SMTP-ServerJaE-Mail-Versand
LDAP-ServerOptionalBenutzer-Authentifizierung
OIDC-ProviderOptionalSingle 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

  1. Verwendete Komponenten — Docker-Container im Detail: SERVICE_ROLE, Ports, Health Checks, Persistenz
  2. Netzwerk & Docker — Docker-Netzwerk, Ports und Kommunikationspfade
  3. Datenbanken — MariaDB, MongoDB und Redis: Aufgabenteilung und Datenhaltung
  4. Task-System — Worker, Scheduler und die Redis-Queue für Hintergrundaufgaben
  5. Authentifizierung — Lokale Anmeldung, LDAP und OIDC
  6. Berechtigungssystem — Rollen, Berechtigungen und Zugriffskontrolle
  7. Proxmox VE — VM-Verwaltung, Node-Management und Cluster-Integration (erforderlich)
  8. Apache Guacamole — Remote-Desktop-Zugang über Apache Guacamole (optional, empfohlen)
  9. Moodle — Anbindung an das Lernmanagementsystem Moodle (optional)