Deploy auf den Timer-Server / deploy (push) Failing after 2s
Push auf main rollt den Stand selbst aus, statt ihn von Hand zu kopieren. Der Runner (pve-runner) liegt im selben LAN wie der Zielhost. Drei Dinge, die dabei nicht passieren duerfen und deshalb abgesichert sind: - Die .env, das data-Verzeichnis und node_modules sind vom rsync-Abgleich ausgenommen. Das --delete raeumt zwar geloeschte Dateien weg, laesst diese Pfade aber in Ruhe (kein --delete-excluded). - npm ci laeuft auf dem Zielhost, nicht im Runner-Container: bcrypt und sqlite3 sind native Module und muessen zur dortigen Umgebung passen. Aufgerufen wird es nur, wenn sich backend/package*.json geaendert hat. - Neu gestartet wird nur bei Aenderungen unter backend/ oder deploy/. Eine geaenderte Frontend-Datei wird ausgeliefert, ohne den laufenden Dienst anzufassen. Danach ein Health-Check gegen /health; bleibt die Antwort aus, schlaegt der Lauf fehl und die letzten Journal-Zeilen stehen im Protokoll. Die Einrichtung (Deploy-Benutzer, eng gefasste sudo-Regel, Variablen und Secrets) steht in DEPLOY.md. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>