Files
flimmer/.env.example
T
Florian Wilde 19f8003945
Release / veroeffentlichen (push) Canceled after 0s
CI / pruefen (push) Canceled after 0s
feat: update.sh für den Betrieb unter Linux
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.
2026-09-01 22:46:36 +02:00

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