feat: Kommando zum Setzen des Passworts
CI / backend (push) Successful in 2m49s
Images bauen / build (frontend) (push) Successful in 3m12s
Images bauen / build (backend) (push) Successful in 3m22s
CI / frontend (push) Successful in 6m20s

Die Erstanlage beim Start greift nur, solange die Benutzertabelle leer ist. Wer
.env.example zuerst unverändert übernimmt, bekommt einen Benutzer mit dem
Platzhalter; ein späteres Ändern von MONEYFY_ADMIN_PASSWORD bleibt danach
wirkungslos. Das Kommando setzt das Passwort direkt, legt den Benutzer bei
Bedarf an und beendet alle offenen Sitzungen.

docs/deployment.md nennt jetzt die drei Ursachen einer fehlgeschlagenen
Anmeldung in der Reihenfolge ihrer Häufigkeit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014e7t8UpmoVNMtWivY5LiSH
This commit is contained in:
Jonas Menzel
2026-09-09 23:40:42 +02:00
co-authored by Claude Opus 5
parent a022a99f97
commit c110340628
5 changed files with 157 additions and 6 deletions
+34 -4
View File
@@ -188,10 +188,40 @@ Die Anwendung verweigert in Produktion den Start mit dem Platzhalterwert.
`openssl rand -hex 32` erzeugt einen passenden Schlüssel. Wird er später
geändert, sind alle Sitzungen ungültig das ist beabsichtigt.
**Anmeldung schlägt fehl, obwohl das Passwort stimmt**
Meist fehlt HTTPS: Die Cookies sind `Secure` gesetzt und erreichen den Server
über eine reine HTTP-Verbindung nicht. Entweder über NPMplus zugreifen oder
`COOKIE_SECURE=false` setzen.
**Anmeldung schlägt fehl**
Drei Ursachen kommen in Frage, in dieser Reihenfolge prüfen:
1. **Der Benutzer wurde mit einem anderen Passwort angelegt.** Die Erstanlage
greift nur, solange die Benutzertabelle leer ist. Wer `.env.example` zuerst
unverändert übernimmt und startet, bekommt einen Benutzer mit dem Platzhalter
ein späteres Ändern von `MONEYFY_ADMIN_PASSWORD` bleibt dann wirkungslos.
Abhilfe:
```bash
docker compose exec moneyfy-backend python -m app.scripts.reset_password \
--username admin --password "neues-passwort"
```
2. **Der Container kennt den neuen Wert noch nicht.** `docker compose restart`
behält die alte Umgebung. Nach einer Änderung an der `.env` muss der
Container neu erstellt werden:
```bash
docker compose up -d --force-recreate moneyfy-backend
docker compose exec moneyfy-backend printenv MONEYFY_ADMIN_PASSWORD
```
3. **Kein HTTPS.** Die Cookies sind `Secure` gesetzt und erreichen den Server
über eine reine HTTP-Verbindung nicht. Typisches Bild: die Anmeldung meldet
keinen Fehler, landet aber sofort wieder auf der Anmeldemaske. Entweder über
NPMplus zugreifen oder für einen Test `COOKIE_SECURE=false` setzen.
Welcher Fall vorliegt, verrät das Log:
```bash
docker compose logs moneyfy-backend | grep -iE "administrator|MONEYFY_ADMIN"
```
**Firmen bekommen kein Logo**
Ohne Netzzugang findet nur der lokale Markenkatalog etwas; unbekannte Firmen