DEPLOY.md: interner Deploy verifiziert — npm-Warnungen eingeordnet, sleep 6

Der erste echte Lauf des internen Deploy-Blocks (28.08.2026) förderte zwei
harmlose, aber verunsichernde Punkte zutage:

- npm ci warnt "allow-scripts ... better-sqlite3": Die allowScripts-Sperre
  blockiert den nativen Build, aber prebuild-install liefert ein fertiges
  Binary. Dienst lädt danach die DB einwandfrei -> in Ordnung. Als Kontrolle
  dokumentiert.
- sleep 2 war zu kurz: Der health-Check lief, bevor der Dienst auf 4200
  hörte -> kurzzeitig 502 / "activating", obwohl gleich darauf alles läuft.
  Auf sleep 6 erhöht, mit Hinweis, wann ein 502 wirklich ein Problem ist.

Deploy selbst war erfolgreich: Bremse greift live (20 durch, 21. -> 429),
multer 2.2.0 + node-cron 4.6.0 installiert, better-sqlite3 lädt.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-08-27 12:41:38 +02:00
co-authored by Claude Opus 5
parent 5c546207e7
commit 988a2fdc95
+18 -1
View File
@@ -72,7 +72,7 @@ sudo -u dogiintern git -C /home/dogiintern/dogfather-universe pull --ff-only ori
sudo -u dogiintern bash -c 'cd /home/dogiintern/dogfather-universe/server-internal && npm ci' && \
sudo -u dogiintern node -e "require('/home/dogiintern/dogfather-universe/server-internal/node_modules/better-sqlite3'); console.log('native Module laden: ok')" && \
sudo systemctl restart dogiintern.service && \
sleep 2 && echo "Dienst:" $(systemctl is-active dogiintern.service) && \
sleep 6 && echo "Dienst:" $(systemctl is-active dogiintern.service) && \
curl -s -o /dev/null -w "health nach Neustart: %{http_code}\n" https://postfach.dogfather-universe.com/health
```
@@ -82,6 +82,23 @@ Deshalb `git -C <pfad>` (braucht kein cd) und das `npm ci` in einer
`sudo -u dogiintern bash -c 'cd … && npm ci'`-Shell, die den Wechsel als
dogiintern ausführt. Ein `cd` als erste Zeile scheitert an „Keine Berechtigung".
**Zwei Warnungen von `npm ci`, die HARMLOS sind (am 28.08.2026 verifiziert):**
1. `npm warn allow-scripts … better-sqlite3 … (install: prebuild-install || node-gyp rebuild)`
— better-sqlite3 baut sich normalerweise über ein Install-Skript. Die
allowScripts-Sperre auf dem Konto blockiert das, aber `prebuild-install`
lädt ein fertig kompiliertes Binary, das ohne den Build-Schritt funktioniert.
**Kontrolle:** Läuft der Dienst danach (`active`) und steht in den Logs
„… Einstellungen aus der Datenbank geladen", ist better-sqlite3 in Ordnung.
Der `native Module laden: ok`-Schritt im Block prüft genau das vorab.
2. `npm warn deprecated [email protected]` — nur ein Hinweis, kein Fehler.
**`sleep 6`, nicht 2.** Der Dienst braucht nach dem Neustart ein paar Sekunden,
bis er auf Port 4200 hört. Ein zu früher health-Check meldet sonst kurzzeitig
`502` (Caddy erreicht den Dienst noch nicht) und `Dienst: activating`, obwohl
gleich darauf alles läuft. Erst bei anhaltendem 502/activating ist wirklich
etwas kaputt — dann `sudo systemctl status dogiintern.service --no-pager` ansehen.
Erwartete letzte Zeilen: `native Module laden: ok`, `Dienst: active`,
`health nach Neustart: 200`. Kommt stattdessen ein Abbruch VOR dem Neustart,
ist nichts passiert — der alte Dienst läuft weiter, und der Fehler (meist ein