Files
certain/deploy/certain-finance.service
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

36 lines
1.5 KiB
Desktop File
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.
# systemd-Unit für Certain Finance (Referenz).
# install.sh erzeugt die tatsächliche Unit unter /etc/systemd/system/certain-finance.service
# mit den konkreten Pfaden deines Klons. Diese Datei zeigt die Standardform
# (Repo unter /opt/certain-finance).
[Unit]
Description=Certain Finance
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=certain-finance
Group=certain-finance
WorkingDirectory=/opt/certain-finance/backend
EnvironmentFile=/etc/certain-finance/env
# Adresse/Port kommen aus der EnvironmentFile. APP_BIND_HOST=0.0.0.0 macht den
# Dienst direkt über http://<LXC-IP>:<APP_PORT> erreichbar; 127.0.0.1 beschränkt
# ihn auf einen Reverse-Proxy auf demselben Host.
# --proxy-headers: Hinter einem Reverse Proxy sieht der Dienst sonst nur dessen
# interne Adresse. Fuer die Rueckleitung der SSO-Anmeldung zaehlt aber die
# oeffentliche – setz zusaetzlich APP_PUBLIC_BASE_URL, dann ist sie eindeutig.
ExecStart=/opt/certain-finance/backend/.venv/bin/uvicorn app.main:app --host ${APP_BIND_HOST} --port ${APP_PORT} --proxy-headers --forwarded-allow-ips=*
Restart=on-failure
RestartSec=3
# Härtung. Bewusst KEIN ProtectHome/ProtectSystem: das Repo (inkl. venv) darf
# auch unter /root oder /home liegen; ProtectHome=true würde diese Pfade für den
# Dienst ausblenden und zu "Failed to locate executable .../uvicorn" führen.
NoNewPrivileges=true
PrivateTmp=true
ReadWritePaths=/var/lib/certain-finance
[Install]
WantedBy=multi-user.target