Files
ScarriffleandClaude Opus 5 bd2c623136 fix: Hinter einem Reverse Proxy zeigte die SSO-Rueckleitung nach innen
Die Adresse, an die der Anmeldedienst zurueckschickt, wurde aus der Anfrage
abgeleitet. Hinter einem Proxy ist das die INTERNE – http://10.0.0.5:8071/… –,
denn uvicorn lief ohne --proxy-headers. Der Anmeldedienst haette die
Rueckleitung abgewiesen, mit einer Meldung, die nicht sagt, woran es liegt.

APP_PUBLIC_BASE_URL sagt es ihm jetzt ausdruecklich. Leer bleiben darf sie
weiterhin: ohne Proxy und in der Entwicklung genuegt die Anfrage.

Die Referenz-Unit bekommt zusaetzlich --proxy-headers. Das hilft neuen
Installationen; bestehende ruehrt update.sh nicht an, deshalb ist die
Einstellung der verlaessliche Weg.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-09 19:39:51 +02:00

90 lines
4.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Konfiguration für Certain Finance (Umgebungsvariablen, Präfix APP_).
# install.sh erzeugt daraus /etc/certain-finance/env mit sicheren Zufallswerten.
# Nach Änderungen den Dienst neu starten: systemctl restart certain-finance
# Ablageort für SQLite-Datenbank und Backups (muss dem Dienst-Benutzer gehören).
APP_DATA_DIR=/var/lib/certain-finance
# Adresse + Port, auf denen der Dienst lauscht.
# APP_BIND_HOST=0.0.0.0 macht die Web-UI direkt über http://<LXC-IP>:<APP_PORT>
# im LAN erreichbar. Willst du NUR über einen Reverse-Proxy auf DEMSELBEN Host
# zugreifen, setze 127.0.0.1.
APP_BIND_HOST=0.0.0.0
APP_PORT=8071
# Signiert/HMACt Sitzungen. UNBEDINGT zufällig setzen (install.sh macht das).
APP_SESSION_SECRET=change-me-please
# Cookies nur über HTTPS senden. Bei direktem HTTP-Zugriff (http://IP:Port) MUSS
# das false sein, sonst speichert der Browser die Sitzung nicht (Login klappt dann
# scheinbar, springt aber sofort zurück). Nur wenn du ausschließlich über HTTPS
# zugreifst (z. B. Nginx Proxy Manager mit erzwungenem SSL), kannst du true setzen.
APP_COOKIE_SECURE=false
# Erster Admin – wird NUR beim allerersten Start angelegt (wenn noch kein Nutzer da ist).
# Erfüllt das Passwort die Passwortrichtlinie nicht (Vorgabe: 10 Zeichen, Gross,
# Klein, Ziffer), verlangt die App beim ersten Anmelden sofort ein neues. Genau
# so ist "changeme" hier auch gemeint.
APP_ADMIN_USERNAME=admin
APP_ADMIN_PASSWORD=changeme
# Standard-Hauptwährung für neue Benutzer (EUR oder CHF).
APP_DEFAULT_BASE_CURRENCY=EUR
# Beim Start die aktuellen EZB-Wechselkurse laden (ab Phase 1 relevant).
APP_ECB_FETCH_ON_START=true
# Wird vom Install-/Update-Skript gesetzt (kurzer Git-Commit, für /api/version).
APP_GIT_SHA=
# Unter welcher Adresse Certain von aussen erreichbar ist – ohne Pfad am Ende.
# Nur nötig für die SSO-Anmeldung (siehe unten), dort aber wichtig: Hinter einem
# Reverse Proxy käme sonst die INTERNE Adresse heraus (http://10.0.0.5:8071/…),
# und der Anmeldedienst weist die Rückleitung ab.
#APP_PUBLIC_BASE_URL=https://certain.example.com
# --- Anmeldung über einen fremden Dienst (OpenID Connect) --------------------
#
# Optional. Bleibt APP_OIDC_PROVIDERS leer, ändert sich nichts: Es gibt weiter
# nur Benutzername und Passwort, und die Login-Seite zeigt keinen zusätzlichen
# Knopf.
#
# Der Name in der Liste ist zugleich der Name in der Adresse und in der
# Datenbank. Er darf sich später NICHT ändern, sonst finden bestehende
# Verknüpfungen ihren Anbieter nicht mehr wieder.
#
# Ein zweiter Anbieter ist reine Konfiguration – am Code ändert sich nichts:
# APP_OIDC_PROVIDERS=authentik,keycloak
#
#APP_OIDC_PROVIDERS=authentik
# Die Discovery-Adresse deiner Anwendung in Authentik (Slug einsetzen).
#APP_OIDC_AUTHENTIK_DISCOVERY_URL=https://authentik.example.com/application/o/certain/.well-known/openid-configuration
# Aus Authentik: Provider-Typ "OAuth2/OpenID", Client-Typ "Confidential".
#APP_OIDC_AUTHENTIK_CLIENT_ID=
#APP_OIDC_AUTHENTIK_CLIENT_SECRET=
# Was auf dem Knopf steht.
#APP_OIDC_AUTHENTIK_LABEL=Authentik
# Als Redirect-URI trägst du in Authentik genau das hier ein
# (dieselbe Adresse, unter der du Certain aufrufst):
# https://certain.example.com/api/auth/oidc/authentik/callback
# Darf jemand, den es in Certain noch nicht gibt, sich selbst ein Konto
# anlegen? Vorgabe: nein – und das ist Absicht.
#
# Wer schon ein Konto hat, verknüpft es EINMAL: normal anmelden, dann unter
# "Mein Konto" auf "Mit Authentik verknüpfen". Danach geht beides. Stünde das
# hier auf true, bekäme derselbe Mensch bei seiner ersten SSO-Anmeldung ein
# zweites, leeres Konto – seine Daten lägen weiter unter dem alten.
#
# Auf true stellen, wenn sich neue Leute selbst anmelden können sollen. Dann
# entscheidet Authentik, wer in Certain hereinkommt: Beschränke die Anwendung
# dort auf eine Gruppe.
#APP_OIDC_AUTHENTIK_AUTO_CREATE=false
# Wenn AUTO_CREATE an ist: neue Konten nur für diese E-Mail-Domänen.
#APP_OIDC_AUTHENTIK_ALLOWED_DOMAINS=example.com,example.org