# 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://: # 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= # --- 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