fix(deploy): sagen, WARUM der Dienst nicht startet

Bei einem Fehlstart zeigte das Skript `tail -30` des Logs — also das Ende
eines Stacktrace, die Rahmenliste, gerade das was nichts erklaert. Jetzt wird
der letzte Startversuch herausgeschnitten und daraus die Ursachenkette gezeigt;
die tiefste Zeile ist die Antwort. Dazu ein Hinweis auf den einen Fall, der
beim Umstieg zwangslaeufig auftritt: eine Datenbank aus der Zeit mit
MODE=PostgreSQL passt nicht mehr und muss einmal weg.

Ausserdem eine Neustart-Grenze in der Unit: Ohne sie laeuft ein kaputtes
Deployment endlos im Kreis, `is-active` sagt dauerhaft "activating", und der
eigentliche Fehler steht irgendwo weit oben im wachsenden Log. Mit ihr endet
es nach fuenf Fehlstarts sichtbar in "failed".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mhoennig
2026-08-26 19:09:35 +02:00
co-authored by Claude Opus 5
parent dea904814b
commit 6494a7cb38
2 changed files with 26 additions and 2 deletions
+7
View File
@@ -14,6 +14,13 @@
Description=Werkbaum backend
After=network.target
# Nach fuenf Fehlstarts in fuenf Minuten gibt systemd auf. Ohne diese Grenze
# laeuft ein kaputtes Deployment endlos im Kreis: `is-active` sagt dann
# dauerhaft „activating", das Log waechst, und der eigentliche Fehler steht
# irgendwo weit oben. Mit ihr endet es sichtbar in „failed".
StartLimitIntervalSec=300
StartLimitBurst=5
[Service]
Type=simple
WorkingDirectory=__DIR__