diff --git a/verfahren/aar/2026-08-02-wiki-und-desktop-clients.md b/verfahren/aar/2026-08-02-wiki-und-desktop-clients.md index 3949232..9b46c95 100644 --- a/verfahren/aar/2026-08-02-wiki-und-desktop-clients.md +++ b/verfahren/aar/2026-08-02-wiki-und-desktop-clients.md @@ -67,6 +67,38 @@ findet nur die Hälfte.** Release-Notes stand ein Link auf ein Issue, das ich nie angelegt hatte (fiel erst bei der Konventionsprüfung auf). +## 4a. Nachtrag (2026-08-02 vormittags): drei weitere Runden + +**BookStack lief erst nach fünf Anläufen.** Die Ursachen kamen nacheinander und +maskierten einander: + +| # | Ursache | Wie sie sich zeigte | +|---|---|---| +| 1 | Anführungszeichen im `APP_KEY` (Dokploy schreibt Werte 1:1 in eine `.env`) | Deploy bricht ab: `unterminated quoted value` | +| 2 | `BOOKSTACK_TAG=25.07` aus meiner ersten `.env.example` — den Tag gibt es nicht | `manifest unknown` | +| 3 | **Healthcheck auf `/login` schlug fehl → Container `unhealthy` → Traefik überspringt ihn komplett** | Default-Zertifikat + leeres 404, **identisch zum Bild eines fehlenden Netzes** | +| 4 | `DB_PASSWORD` nachträglich geändert; MariaDB legt Zugangsdaten nur beim ersten Start an | `Access denied for user 'bookstack'` | +| 5 | `APP_KEY` weder 32 Byte noch mit `base64:`-Präfix | `Unsupported cipher or incorrect key length` | + +**Die wichtigste neue Lehre:** Ein **`unhealthy` Container ist für Traefik +unsichtbar** — kein Router, kein Service, egal wie korrekt die Labels sind. Das +Symptom ist ununterscheidbar von einem fehlenden Netz. Ein Healthcheck, der nicht +im laufenden Container verifiziert wurde, ist damit kein Sicherheitsnetz, sondern +ein Risiko. Ich hatte ihn zweimal ungeprüft geändert (`/status` → `/login`). + +**Rebrand:** Der Name saß erst nach drei Anläufen überall. `productName` regelt +den App-Namen (macOS/Windows), **`name`** den Linux-Paketnamen, das Binary und den +`/opt`-Pfad — und die CI braucht `VARIANT_PATH`, sonst greift die Variante gar +nicht. Icons: `PIL.thumbnail()` skaliert **nur nach unten**, weshalb das Motiv in +1024er-Icons nie vergrößert wurde; und ein Rebrand betrifft `.png`, `.ico`, +`.icns`, sieben Web-Icons und das Manifest — nicht eine Datei. + +**Muster über beide Nächte:** Meine teuersten Fehler entstanden nicht durch +falsche Analysen, sondern durch **ungeprüfte Änderungen** — ein Healthcheck ohne +Test, ein Issue-Verweis ohne Existenzprüfung, ein Icon-Skript ohne Blick aufs +Ergebnis. Die Diagnose war jedes Mal gut, sobald echte Daten vorlagen +(Traefik-Logs, Laravel-Log, `docker inspect`). + ## 5. Offen - **BookStack-Deploy**: Domain-Maske in Dokploy (Service `bookstack`, Port 80) —