> ## Documentation Index
> Fetch the complete documentation index at: https://docs-visuolab.levantelab.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation und technische Konfiguration

> Institutionelle Infrastruktur, Bereitstellung, Sicherheit, Backups und Sprachen für VisuoLab.

Dieser Leitfaden unterstützt technische Teams bei der Planung einer institutionellen **VisuoLab**-Installation auf Grundlage der technischen Übersicht.

<Note>
  Die Übersicht beschreibt das System auf hoher Ebene. Dimensionierung und Konfiguration sind für jede Institution zu prüfen. Ausführbare Installationsbefehle und Abhängigkeitsversionen sind darin nicht enthalten.
</Note>

## Architektur und Dienste

Die Dienste laufen in eigenen Docker-Containern und werden mit Docker Compose koordiniert.

| Komponente | Technologie |
| - | - |
| Backend | Laravel / PHP |
| Frontend | Nuxt.js / Vue.js und Vuetify |
| Datenbank | MySQL oder MariaDB |
| Cache und Warteschlangen | Redis |
| Asynchrone Verarbeitung | Horizon |
| Video- und Audioverarbeitung | FFmpeg |
| Webserver | NGINX |
| Gemeinsame Textbearbeitung | Etherpad |
| Videokonferenzen | Jitsi Meet |
| Bereitstellung | Docker und Docker Compose |

Institutionelle oder Cloud-Infrastruktur kann gemäß den lokalen Richtlinien genutzt werden.

## Ausgangsprofil der Infrastruktur

| Ressource | Ausgangsreferenz |
| - | - |
| CPU | 4 vCPUs |
| Arbeitsspeicher | 16 GB RAM |
| Speicher | 250 GB SSD |
| Betriebssystem | Ubuntu Server 22.04 LTS oder neuer |
| Verbindung | Stabile Verbindung mit öffentlicher IP oder institutionellem Reverse Proxy |

Das Profil einer einzelnen VM ist ein Ausgangspunkt für Tests, Pilotbetrieb und geringe bis moderate Nutzung. Es garantiert keine bestimmte Nutzerzahl oder Anzahl gleichzeitiger Videositzungen.

Berücksichtigen Sie parallele Nutzung, Videoanzahl und Dateigröße, Verarbeitungsbedarf, Videokonferenzen, Aufbewahrung, Archivwachstum und Backups. Für größere Installationen können getrennte Server und externer oder Objektspeicher geprüft werden. Die Kompatibilität muss für die eingesetzte Version bestätigt werden.

## Bereitstellung vorbereiten

### Schritt 0 — Levante Lab kontaktieren

Kontaktieren Sie das **technische Team von Levante Lab** über [contato@levantelab.com.br](mailto:contato@levantelab.com.br). Nennen Sie Institution und lokale technische Kontaktperson, um die Bereitstellung abzustimmen.

<Steps>
  <Step title="Levante Lab mit dem lokalen Team verbinden">
    Stellen Sie beide technischen Teams vor und vereinbaren Sie Kommunikationswege. Bestimmen Sie gemeinsam Plattformadministration, Supportkontakte und Zuständigkeiten für Hosting, Domain, Zertifikate, Datenbank, Medien, Backups und Updates.
  </Step>

  <Step title="Version und Bereitstellungsdateien bestätigen">
    Beschaffen Sie Repository, freigegebene Version, Docker-/Compose-Dateien und passende Anleitungen. Prüfen Sie PHP-, Node.js-, Datenbank- und weitere Abhängigkeitsversionen.
  </Step>

  <Step title="Server und Speicher vorbereiten">
    Stellen Sie die dimensionierten Ressourcen und persistente Volumes bereit. Datenbank und hochgeladene Dateien müssen eine Neuerstellung der Container überstehen. Planen Sie Speichererweiterungen.
  </Step>

  <Step title="Domain und Netzwerk vorbereiten">
    Konfigurieren Sie institutionelle Adresse, gegebenenfalls Reverse Proxy und HTTPS. Prüfen Sie die Netzwerkanforderungen von Etherpad und Jitsi Meet.
  </Step>

  <Step title="Dienste konfigurieren und starten">
    Folgen Sie den Anleitungen der eingesetzten Version. Konfigurieren Sie Zugangsdaten, Umgebung, Datenbank, Frontend, Warteschlangen, Medienverarbeitung und Integrationen.
  </Step>

  <Step title="Institutionellen Zugang einrichten">
    Richten Sie administrativen Zugang, Berechtigungen, aktivierte Sprachen und Nutzersupport ein.
  </Step>

  <Step title="Vor der Freigabe validieren">
    Führen Sie die Prüfungen unten aus und dokumentieren Sie Version, Konfiguration und Verantwortliche.
  </Step>
</Steps>

<Warning>
  Compose-Dienstnamen, Umgebungsvariablen und Befehle für Migrationen, Build, Start oder Updates fehlen in der Übersicht. Entnehmen und prüfen Sie diese im Repository der eingesetzten Version.
</Warning>

## Netzwerk und externer Zugriff

Die Übersicht nennt **HTTPS über Port 443** und interne Kommunikation im Docker-Netzwerk.

Prüfen Sie Domainrouting, Zertifikate und Erneuerung, NGINX oder Proxy, Containerverbindungen und Isolation, Etherpad-Integration und die Anforderungen der Jitsi-Meet-Installation.

Port 443 ist keine vollständige Portliste für Firewall oder Videokonferenzen.

## Videospeicher und Verarbeitung

Uploads und Verarbeitungsergebnisse können den Speicherbedarf erheblich erhöhen. Überwachen Sie freien Speicher und Volumenwachstum, definieren Sie Warnungen, planen Sie Erweiterungen und verfolgen Sie fehlgeschlagene Jobs. Backups müssen Datenbank und wiederherstellungsrelevante Dateien einschließen.

Testen Sie **Redis/Horizon** und **FFmpeg** mit einem Video-Upload.

## Sicherheit und Betriebskontinuität

Prüfen Sie die Umsetzung der in der Übersicht beschriebenen Kontrollen:

| Kontrolle | Institutionelle Prüfung |
| - | - |
| TLS 1.3 | Aktivierte Protokolle am HTTPS-Endpunkt. |
| AES-256-Speicherverschlüsselung | Geschützte Volumes, Speicherdienste, Backups und Schlüsselverwaltung. |
| Rollenbasierter Zugriff | Allgemeine Nutzer, Teilnehmende, Supervisoren und Administration. |
| SSH-Schlüssel und MFA | Administrative Zugänge und eingesetztes MFA-Verfahren. |
| Audit und Monitoring | Logs, Warnungen, Verantwortliche und Logzugriff. |
| Updates und Sicherheitsprüfungen | Wartung von Anwendung, Container-Images und Server. |
| Regelmäßige verschlüsselte Backups | Häufigkeit, getrennte Speicherung und Wiederherstellung. |

Diese Kontrollen sind durch die reine Installation nicht automatisch aktiv.

### Backups

Die Übersicht beschreibt verschlüsselte Backups in getrennten Rechenzentren. Legen Sie Häufigkeit, Aufbewahrung, Zuständigkeiten und Wiederherstellungsverfahren fest. Testen Sie die gemeinsame Wiederherstellung von Datenbank und Medien.

## Daten und Aufbewahrung

Verarbeitet werden können Kontodaten, Videos, Audio, Annotationen, Kommentare, gemeinsame Inhalte, IP-Adressen, Browserinformationen und Nutzungsprotokolle.

| Daten | Referenz der Übersicht |
| - | - |
| Nutzerdaten | Löschung oder Anonymisierung kann 12 Monate nach letzter Aktivität erfolgen. |
| Backups | Überschreibung nach 90 Tagen. |
| Wissenschaftliche Datensätze | Anonymisierte Archivierung für Forschung möglich. |

Bestätigen Sie anwendbare Fristen und Umsetzung lokal. Automatische Löschung oder Anonymisierung ist durch die Übersicht nicht nachgewiesen. Definieren Sie institutionelle Vereinbarungen, Zuständigkeiten und Datenschutzanforderungen.

## Sprachen konfigurieren

Die Einrichtung umfasst Administrationsbereich und Frontend. Die Standardsprache erfordert zusätzlich einen technischen Eingriff in die Datenbank.

<Steps>
  <Step title="Übersetzungen vorbereiten">
    Erstellen Sie in **lang** eine JSON-Datei, etwa **en.json**, **pt.json** oder **de.json**, mit allen erforderlichen Übersetzungsschlüsseln und Werten.
  </Step>

  <Step title="Frontend registrieren">
    Ergänzen Sie in **nuxt.config.js** unter **i18n locales** Sprachcode, Name und Dateireferenz.
  </Step>

  <Step title="Administrativ registrieren">
    Nutzen Sie mit **master**-Berechtigung **Platform → Platform Form → Languages**. Laut Übersicht ist dafür kein direkter Datenbankeintrag nötig.
  </Step>

  <Step title="Standardsprache festlegen">
    Nach Vorbereitung von Übersetzungen und Frontend setzt die Entwicklung **is\_default** im gewählten Sprachdatensatz auf **true**. Prüfen Sie die Konsistenz der Standardsprache.
  </Step>

  <Step title="Prüfen und veröffentlichen">
    Kontrollieren Sie Menüs, Meldungen, Benachrichtigungen und mehrsprachige Formulare. Folgen Sie dem Build- und Veröffentlichungsverfahren im Repository.
  </Step>
</Steps>

Übersetzt werden Oberflächenbeschriftungen, Navigation, Benachrichtigungen und Systemfeedback. Unterstützte Formulare erhalten Felder für die neue Sprache. Videos, Annotationen und andere Inhalte werden **nicht automatisch übersetzt**.

<Note>
  Das angegebene Feld für die Standardsprache ist **is\_default**. Prüfen Sie Tabellenname und Änderungsverfahren im Repository der eingesetzten Version.
</Note>

## Validierungscheckliste

* Institutionelle Domain über HTTPS öffnen.
* Anmeldung und Rollenberechtigungen testen.
* Testressource ansehen und veröffentlichen.
* Testvideo hochladen, verarbeiten und abspielen.
* Jobs und asynchrone Worker prüfen.
* Spaces und Aktivitäten testen.
* Aktivierte Etherpad- und Jitsi-Meet-Integrationen testen.
* Sprachen und Standardsprache prüfen.
* Datenpersistenz und Speicherkapazität prüfen.
* Backup und Wiederherstellung validieren.
* Version, Zuständigkeiten und Wartungsverfahren dokumentieren.

## Voraussetzungen für ausführbare Anleitungen

Benötigt werden Compose-Dateien, Abhängigkeitsversionen, Umgebungsvorlage, Datenbankverfahren, Frontend-Build, Worker, geplante Aufgaben, Integrationen und Updateverfahren.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.