From 988a2fdc95455c06c59b78f4ef228c3e5e8e3199 Mon Sep 17 00:00:00 2001 From: Dogfather Date: Thu, 27 Aug 2026 12:41:38 +0200 Subject: [PATCH] =?UTF-8?q?DEPLOY.md:=20interner=20Deploy=20verifiziert=20?= =?UTF-8?q?=E2=80=94=20npm-Warnungen=20eingeordnet,=20sleep=206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- DEPLOY.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/DEPLOY.md b/DEPLOY.md index 6f66402f..9eae961c 100644 --- a/DEPLOY.md +++ b/DEPLOY.md @@ -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 ` (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 prebuild-install@7.1.3` — 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