@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
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).
http://<Server-IP>. Bleibt immer als Recovery-Weg erreichbar.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".