Werte, die heute im Quelltext oder in der Umgebung stehen, sollen sich im Dashboard ändern lassen –
allen voran die Dashboard-Adresse, die im Installations-Einzeiler landet.
Aufgaben
Typisierter Einstellungsdienst mit Vorgaben und Prüfung (zod), alles in einer JSON-Zeile
Oberfläche unter Einstellungen → System mit vier Bereichen
Adresse und Agent: Dashboard-Adresse, Melderhythmus, Streuung, Selbstaktualisierung
Firma und Darstellung: Name, Anschrift, E-Mail, Zeitzone
Werte wirksam machen (nicht nur speichern)
Nächtliches Aufräumen nach den Aufbewahrungsfristen
Tests und Handbuchkapitel
Wo die Werte wirken
Einstellung
Wirkt in
Dashboard-Adresse
/install.sh, /agent.sh, Benachrichtigungen
Rhythmus, Streuung, Selbstaktualisierung
erzeugte systemd-Timer und agent.conf
Steuersatz
neue Rechnungspositionen (Einkauf und Verkauf)
Zahlungsziel
vorgeschlagenes Fälligkeitsdatum
Aufschlag
vorgeschlagener Verkaufspreis aus dem Einkaufspreis
Sitzungsdauer
Gültigkeit des Tokens und Lebensdauer des Cookies
Anmeldeversuche
Ratenbremse der Anmeldung
OIDC-Domänen, Konten anlegen
mitOidcAnmelden – schließt die in #024 vermerkte Lücke
Aufbewahrungsfristen
nächtlicher Lauf im Worker (03:30)
Firma, Zeitzone
Kopf und Datum der PDF-Ausgaben
Entscheidungen
Eine JSON-Zeile statt vieler Schlüssel: Speichern ist ein Schreibvorgang, fehlende Felder
bekommen ihren Vorgabewert, und eine kaputte Zeile legt den Betrieb nicht lahm – dann gelten die Vorgaben.
Zehn Sekunden Zwischenspeicher: Die Werte werden bei fast jeder Anfrage gebraucht, ändern sich
aber selten. Eine Änderung ist trotzdem sofort spürbar.
APP_SECRET und DATABASE_URL bleiben in der Umgebung; beide werden vor dem ersten
Datenbankzugriff gebraucht.
„Stumm nach X Tagen“ bewusst weggelassen: Das steht schon als Schwellwert bei den Warnregeln.
Zwei Stellen für denselben Wert wären eine Fehlerquelle.
Währung und Zeitzone wirken vorerst nur serverseitig (PDF, CSV, Benachrichtigungen). Die
Browseransicht rechnet weiterhin fest in Euro und Europe/Berlin – das nachzuziehen heißt, die
Formatierung durch alle Client-Komponenten zu reichen, und gehört in einen eigenen Schritt.
Quelle: docs/issues/025-einstellungen.md – dort wird dieses Issue gepflegt.
## Ziel
Werte, die heute im Quelltext oder in der Umgebung stehen, sollen sich im Dashboard ändern lassen –
allen voran die Dashboard-Adresse, die im Installations-Einzeiler landet.
## Aufgaben
- [x] Typisierter Einstellungsdienst mit Vorgaben und Prüfung (zod), alles in einer JSON-Zeile
- [x] Oberfläche unter *Einstellungen → System* mit vier Bereichen
- [x] **Adresse und Agent:** Dashboard-Adresse, Melderhythmus, Streuung, Selbstaktualisierung
- [x] **Kaufmännisches:** Währung, Steuersatz, Zahlungsziel, Aufschlag
- [x] **Sicherheit:** Sitzungsdauer, Anmeldeversuche, OIDC-Domänen, Konten anlegen, Aufbewahrungsfristen
- [x] **Firma und Darstellung:** Name, Anschrift, E-Mail, Zeitzone
- [x] Werte wirksam machen (nicht nur speichern)
- [x] Nächtliches Aufräumen nach den Aufbewahrungsfristen
- [x] Tests und Handbuchkapitel
## Wo die Werte wirken
| Einstellung | Wirkt in |
|---|---|
| Dashboard-Adresse | `/install.sh`, `/agent.sh`, Benachrichtigungen |
| Rhythmus, Streuung, Selbstaktualisierung | erzeugte systemd-Timer und `agent.conf` |
| Steuersatz | neue Rechnungspositionen (Einkauf und Verkauf) |
| Zahlungsziel | vorgeschlagenes Fälligkeitsdatum |
| Aufschlag | vorgeschlagener Verkaufspreis aus dem Einkaufspreis |
| Sitzungsdauer | Gültigkeit des Tokens und Lebensdauer des Cookies |
| Anmeldeversuche | Ratenbremse der Anmeldung |
| OIDC-Domänen, Konten anlegen | `mitOidcAnmelden` – schließt die in #024 vermerkte Lücke |
| Aufbewahrungsfristen | nächtlicher Lauf im Worker (03:30) |
| Firma, Zeitzone | Kopf und Datum der PDF-Ausgaben |
## Entscheidungen
- **Eine JSON-Zeile statt vieler Schlüssel:** Speichern ist ein Schreibvorgang, fehlende Felder
bekommen ihren Vorgabewert, und eine kaputte Zeile legt den Betrieb nicht lahm – dann gelten die Vorgaben.
- **Zehn Sekunden Zwischenspeicher:** Die Werte werden bei fast jeder Anfrage gebraucht, ändern sich
aber selten. Eine Änderung ist trotzdem sofort spürbar.
- **`APP_SECRET` und `DATABASE_URL` bleiben in der Umgebung**; beide werden vor dem ersten
Datenbankzugriff gebraucht.
- **„Stumm nach X Tagen“ bewusst weggelassen:** Das steht schon als Schwellwert bei den Warnregeln.
Zwei Stellen für denselben Wert wären eine Fehlerquelle.
- **Währung und Zeitzone wirken vorerst nur serverseitig** (PDF, CSV, Benachrichtigungen). Die
Browseransicht rechnet weiterhin fest in Euro und Europe/Berlin – das nachzuziehen heißt, die
Formatierung durch alle Client-Komponenten zu reichen, und gehört in einen eigenen Schritt.
---
Quelle: `docs/issues/025-einstellungen.md` – dort wird dieses Issue gepflegt.
florian.wilde
added this to the v0.16.0 milestone 2026-09-18 21:58:44 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Ziel
Werte, die heute im Quelltext oder in der Umgebung stehen, sollen sich im Dashboard ändern lassen –
allen voran die Dashboard-Adresse, die im Installations-Einzeiler landet.
Aufgaben
Wo die Werte wirken
/install.sh,/agent.sh, Benachrichtigungenagent.confmitOidcAnmelden– schließt die in #024 vermerkte LückeEntscheidungen
bekommen ihren Vorgabewert, und eine kaputte Zeile legt den Betrieb nicht lahm – dann gelten die Vorgaben.
aber selten. Eine Änderung ist trotzdem sofort spürbar.
APP_SECRETundDATABASE_URLbleiben in der Umgebung; beide werden vor dem erstenDatenbankzugriff gebraucht.
Zwei Stellen für denselben Wert wären eine Fehlerquelle.
Browseransicht rechnet weiterhin fest in Euro und Europe/Berlin – das nachzuziehen heißt, die
Formatierung durch alle Client-Komponenten zu reichen, und gehört in einen eigenen Schritt.
Quelle:
docs/issues/025-einstellungen.md– dort wird dieses Issue gepflegt.