Erst sichern, dann anfassen: schlägt die Sicherung fehl, bricht das Skript ab statt weiterzumachen. Geht danach etwas schief, nennt es den konkreten Weg zurück — mit dem Commit, zu dem man zurückspringt, und der Datei, die man einspielt, nicht bloß dem Rat, ein Backup zu haben. Lokale Änderungen im Arbeitsverzeichnis werden erkannt und nicht überfahren. Die Erreichbarkeit wird über den veröffentlichten Port geprüft und, falls der nicht nach außen geht, über den Healthcheck des Containers. Das Ausführbar-Bit steckt im Repository — nach dem Klonen ist es startklar.
85 lines
3.2 KiB
Bash
85 lines
3.2 KiB
Bash
# =============================================================================
|
|
# 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
|
|
|
|
# Port, auf dem Flimmer auf dem Host lauscht.
|
|
APP_PORT=3000
|
|
|
|
# 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
|
|
# Nur nötig, wenn TMDB über einen eigenen Proxy erreicht werden soll.
|
|
# TMDB_BASE_URL=https://api.themoviedb.org/3
|
|
# TMDB_IMAGE_BASE_URL=https://image.tmdb.org/t/p
|
|
|
|
# --- 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
|