@php $h = 'font-display text-base font-semibold text-ink'; $p = 'text-sm leading-relaxed text-ink-2'; $li = 'text-sm leading-relaxed text-ink-2'; $code = 'rounded bg-inset px-1.5 py-0.5 font-mono text-[12px] text-accent-text'; $pre = 'overflow-x-auto rounded-md border border-line bg-inset p-3 font-mono text-[11px] leading-relaxed text-ink-2'; @endphp

Drei Betriebsarten

Wo und wie das Panel erreichbar ist, stellst du unter System → Domain & TLS ein. Änderungen an der Domain greifen erst nach einem Stack-Neustart (Knopf in System).

Eingebautes TLS (Let's Encrypt)

  1. DNS deiner Domain auf die Server-IP zeigen lassen.
  2. System → Domain eintragen, TLS-Terminierung auf „Eingebautes TLS".
  3. Speichern → Stack neu starten. Das Zertifikat wird beim ersten HTTPS-Aufruf automatisch ausgestellt und erneuert.

Hinter einem externen Reverse-Proxy (Proxy Manager)

In diesem Modus terminiert dein vorgelagerter Proxy TLS; Clusev stellt kein eigenes Zertifikat aus.

1. Im Panel: System → Domain eintragen → TLS-Terminierung auf „Externer Reverse-Proxy" → speichern → Stack neu starten.

2. Im Proxy Manager: einen neuen Host/Eintrag anlegen mit diesen Werten:

Eingehende Domain:   panel.<deine-domain>
Ziel / Backend:      http://<Clusev-Server-IP>:80        (HTTP, nicht HTTPS)
Weiterreichen:       Host-Header  +  X-Forwarded-Proto: https
WebSocket:           aktivieren  (für Realtime: /app/*  und  /apps/*)

Wichtig: das Ziel ist HTTP auf Port 80 des Clusev-Servers, und der Proxy muss X-Forwarded-Proto: https sowie WebSocket-Upgrades weiterreichen — sonst bleiben Assets/Login bzw. die Live-Verbindung leer.

3. Auf dem Clusev-Server (`.env`): setze die Proxy-Adresse als vertrauenswürdig — sonst sind das `Secure`-Cookie und die echte Besucher-IP im Audit-Log nicht korrekt:

TRUSTED_PROXY_CIDR=<Proxy-IP>/32

# danach einmal anwenden:
sudo clusev update

4. Firewall: sichere den HTTP-Port (80) des Clusev-Servers so ab, dass er nur vom Proxy erreichbar ist.

Hinweis: Über die Domain (HTTPS) funktioniert alles inkl. Security-Keys. Der Bare-IP-Weg (http://<Server-IP>) bleibt als Recovery erreichbar — dort gelten die Einschränkungen aus „Sicherheit & 2FA".