feat: Datenmodell für Katalog, Tracking und Universen
Prisma-Schema in vier Schichten: Konten und Zugang, gemeinsamer Katalog (über die TMDB-ID dedupliziert), persönliches Tracking je Nutzer sowie Universen mit mehreren Reihenfolgen. Dazu Benachrichtigungskanäle und Protokoll der Hintergrundläufe. Prisma 7 verlangt einen Treiber-Adapter statt der URL im Schema; die Konfiguration liegt deshalb in prisma.config.mjs — bewusst als .mjs, damit die CLI auch im schlanken Produktionsimage ohne TypeScript-Loader läuft.
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# =============================================================================
|
||||
# Flimmer — Beispielkonfiguration
|
||||
#
|
||||
# cp .env.example .env
|
||||
#
|
||||
# Alles, was Flimmer über die Außenwelt wissen muss, steht hier. Die Datei .env
|
||||
# gehört NICHT ins Repository (siehe .gitignore).
|
||||
# =============================================================================
|
||||
|
||||
# --- Datenbank ---------------------------------------------------------------
|
||||
# Im Docker-Compose-Betrieb zeigt der Host auf den Dienst "db".
|
||||
POSTGRES_USER=flimmer
|
||||
POSTGRES_PASSWORD=bitte-aendern
|
||||
POSTGRES_DB=flimmer
|
||||
DATABASE_URL=postgresql://flimmer:bitte-aendern@db:5432/flimmer?schema=public
|
||||
|
||||
# --- Grundeinstellungen ------------------------------------------------------
|
||||
# Öffentlich erreichbare Adresse der Instanz (ohne abschließenden Schrägstrich).
|
||||
# Wird für Links in Benachrichtigungen und für OIDC-Rücksprünge gebraucht.
|
||||
APP_URL=http://localhost:3000
|
||||
APP_NAME=Flimmer
|
||||
|
||||
# Zufälliger Wert, mindestens 32 Zeichen. Erzeugen z. B. mit:
|
||||
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
AUTH_SECRET=bitte-durch-zufallswert-ersetzen
|
||||
|
||||
# Ablage für Bild-Cache und sonstige Laufzeitdaten.
|
||||
DATA_DIR=/app/data
|
||||
|
||||
# Zeitzone für Kalender, Statistiken und geplante Läufe
|
||||
TZ=Europe/Berlin
|
||||
|
||||
# --- Registrierung -----------------------------------------------------------
|
||||
# Der erste registrierte Nutzer wird automatisch Admin. Danach lässt sich die
|
||||
# Registrierung im Adminbereich abschalten; dieser Wert ist nur die Vorgabe
|
||||
# für die allererste Inbetriebnahme.
|
||||
ALLOW_REGISTRATION=true
|
||||
|
||||
# --- TMDB --------------------------------------------------------------------
|
||||
# Kostenloser Schlüssel: https://www.themoviedb.org/settings/api
|
||||
# Entweder der klassische API-Key (v3) …
|
||||
TMDB_API_KEY=
|
||||
# … oder das Bearer-Token (v4). Eines von beidem genügt.
|
||||
TMDB_ACCESS_TOKEN=
|
||||
# Sprache der Metadaten und Region für die Streaming-Verfügbarkeit
|
||||
TMDB_LANGUAGE=de-DE
|
||||
TMDB_REGION=DE
|
||||
|
||||
# --- Hintergrundläufe --------------------------------------------------------
|
||||
# Eingebauter Scheduler (prüft laufende Serien auf neue Episoden, räumt den
|
||||
# Papierkorb, verschickt Benachrichtigungen). Bei mehreren App-Instanzen nur
|
||||
# in einer aktivieren.
|
||||
ENABLE_SCHEDULER=true
|
||||
# Uhrzeit des täglichen Laufs (24-Stunden-Format)
|
||||
SYNC_HOUR=4
|
||||
# Alternativ von außen anstoßen: curl -H "Authorization: Bearer $CRON_SECRET" \
|
||||
# https://flimmer.example/api/cron/sync
|
||||
CRON_SECRET=
|
||||
|
||||
# --- E-Mail (optional) -------------------------------------------------------
|
||||
SMTP_HOST=
|
||||
SMTP_PORT=587
|
||||
SMTP_USER=
|
||||
SMTP_PASSWORD=
|
||||
SMTP_SECURE=false
|
||||
SMTP_FROM=Flimmer <flimmer@example.com>
|
||||
|
||||
# --- OIDC / SSO (optional) ---------------------------------------------------
|
||||
# Anbindung an Authelia, Keycloak, Authentik … Leer lassen = deaktiviert.
|
||||
# Redirect-URI beim Anbieter eintragen: <APP_URL>/api/auth/oidc/callback
|
||||
OIDC_ISSUER=
|
||||
OIDC_CLIENT_ID=
|
||||
OIDC_CLIENT_SECRET=
|
||||
OIDC_SCOPES=openid profile email
|
||||
# Beschriftung des Login-Knopfes
|
||||
OIDC_BUTTON_LABEL=Mit SSO anmelden
|
||||
# Neue Nutzer per OIDC automatisch anlegen
|
||||
OIDC_AUTO_REGISTER=true
|
||||
Reference in New Issue
Block a user