feat: Grundgerüst mit Anmeldung, Layout und Design-Tokens
Next.js 16, Prisma 7, Tailwind 4 und Vitest/Playwright, Konfiguration aus Laufzettel übernommen, weil dort derselbe Stack erprobt ist. Die Farben der Branding-Vorgabe stehen als Tokens in globals.css, das helle Theme setzt dieselben Namen neu. Amber und Rot sind dort abgedunkelt, sonst reicht der Kontrast nicht – ein Test prüft beide Themes gegen 4,5:1. Anmeldung mit lokalem Benutzer, Rolle je Anfrage aus der Datenbank, Audit-Log per Trigger nur anhängbar. Geprüft im gebauten Stand auf 1440 px und 390 px. Closes #001 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# ── Datenbank ────────────────────────────────────────────────────────────────
|
||||
DATABASE_URL=postgresql://proxdeploy:proxdeploy@localhost:5437/proxdeploy
|
||||
# Nur für Tests; wird vor jedem Test geleert.
|
||||
TEST_DATABASE_URL=postgresql://proxdeploy:proxdeploy@localhost:5437/proxdeploy_test
|
||||
|
||||
# ── Geheimnisse ──────────────────────────────────────────────────────────────
|
||||
# Schlüssel für AES-256-GCM (Proxmox-Token, SSH-Schlüssel, OIDC-Secret): genau 32 Byte, base64.
|
||||
# Erzeugen: openssl rand -base64 32 – NIE ändern, sonst sind gespeicherte Geheimnisse unlesbar.
|
||||
PROXDEPLOY_SCHLUESSEL=
|
||||
# Signiert die Sitzungscookies. Erzeugen: openssl rand -base64 48
|
||||
SITZUNG_GEHEIMNIS=
|
||||
|
||||
# ── Adresse und Reverse-Proxy ────────────────────────────────────────────────
|
||||
# Öffentliche Adresse, wie Browser und CLI sie sehen (ohne Schrägstrich am Ende).
|
||||
APP_URL=http://localhost:3000
|
||||
# true hinter einem Reverse-Proxy: X-Forwarded-For/-Proto werden ausgewertet.
|
||||
TRUST_PROXY=false
|
||||
|
||||
# ── Erster Administrator ─────────────────────────────────────────────────────
|
||||
# Wird nur angelegt, solange es noch keinen Benutzer gibt. Danach wirkungslos.
|
||||
ADMIN_BENUTZER=admin
|
||||
ADMIN_PASSWORT=
|
||||
|
||||
# ── OIDC (optional, z. B. authentik) ─────────────────────────────────────────
|
||||
OIDC_AKTIV=false
|
||||
OIDC_ISSUER=
|
||||
OIDC_CLIENT_ID=
|
||||
OIDC_CLIENT_SECRET=
|
||||
OIDC_ANZEIGENAME=SSO
|
||||
# Gruppen-Claim und Gruppennamen für die Rollen.
|
||||
OIDC_GRUPPEN_CLAIM=groups
|
||||
OIDC_GRUPPE_ADMIN=proxdeploy-admins
|
||||
OIDC_GRUPPE_OPERATOR=proxdeploy-operators
|
||||
|
||||
# ── Worker ───────────────────────────────────────────────────────────────────
|
||||
# Wie viele Aufträge gleichzeitig laufen dürfen.
|
||||
WORKER_PARALLEL=4
|
||||
|
||||
# ── Logs ─────────────────────────────────────────────────────────────────────
|
||||
# trace | debug | info | warn | error
|
||||
LOG_LEVEL=info
|
||||
Reference in New Issue
Block a user