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>
90 lines
4.0 KiB
Plaintext
90 lines
4.0 KiB
Plaintext
# 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
|