fix(admin): Laenge des Seed-Passworts loggen, $-Falle dokumentieren

Ein $ im Wert wird von Docker Compose als Variable gelesen und schneidet
ab: Sicher$Passwort2026 kommt als Sicher an (gemessen). Angelegt wird ein
Konto mit einem Passwort, das niemand kennt; die Anmeldung scheitert mit
'invalid credentials', obwohl alles richtig eingetippt ist. Die Datenbank
laeuft dabei weiter, weil Postgres denselben abgeschnittenen Wert bekommt.

Der Start nennt jetzt die Laenge des Passworts (nicht den Wert) und warnt
unter 12 Zeichen mit dem Hinweis auf $$. Ohne diese Zahl war der Fehler
von aussen nicht zu sehen: Compose meldet zwar 'variable is not set', aber
auf stderr beim up, nicht im Container-Log.

Escape-Tabelle in README und beiden .env.example. Ein Backslash hilft
nicht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
HoneyandClaude Opus 5 committed 2026-08-24 11:54:43 +02:00
1 parent 370d8ce0c7
commit 218b238afc
5 files changed
+92 -1

No files matched your search

+39
View File
@@ -646,6 +646,45 @@ breiteste.
---
## „invalid credentials" beim ersten Admin-Login (24.08.2026)
Symptom: frischer Start, `admin account ready` im Log, Volume mehrfach
gelöscht – und die Anmeldung mit den richtigen Daten gibt `401`.
Ursache ist die `.env`, nicht der Code: **Ein `$` wird von Docker Compose als
Variable gelesen und schneidet den Wert ab.** Gemessen mit
`ADMIN_PASSWORD=Sicher$Passwort2026`:
```
angekommen ist: Sicher (6 statt 19 Zeichen)
Compose meldet dazu: The "Passwort2026" variable is not set.
```
Die Meldung erscheint auf stderr beim `up`, nicht im Container-Log – wer die
Logs im Nachhinein ansieht, sieht sie nie. Die Datenbank funktioniert dabei,
weil Postgres und Anwendung **denselben** abgeschnittenen Wert bekommen.
Escapen:
| in der `.env` | kommt an |
|---|---|
| `abc$def` | `abc` |
| `abc$$def` | `abc$def` ✓ |
| `'abc$def'` | `abc$def` ✓ |
| `abc\$def` | `abc\` |
- [ ] `ADMIN_PASSWORD` mit `$$` → `password_length` stimmt, Anmeldung 200 🔎
(gemessen: 19 Zeichen, Login 200)
- [ ] Ohne Escape → Warnung im Log „ADMIN_PASSWORD ist auffaellig kurz" 🔎
- [ ] Nachsehen, was wirklich ankam: `docker compose exec app printenv
ADMIN_PASSWORD`
> Der Start nennt seit dem 24.08.2026 die **Länge** des Passworts (nicht den
> Wert) und warnt unter 12 Zeichen. Ohne diese Zahl war der Fehler von außen
> nicht zu sehen.
---
## Erreichbarkeit von außen (24.08.2026)
`ERR_CONNECTION_REFUSED` beim Zugriff über die IP ist meist kein Fehler,