Commit Graph
3 Commits
Author SHA1 Message Date
adminandClaude Opus 5 b85e4610e0 Uebertragung per tar, Abgleich auf dem Zielhost
Deploy auf den Timer-Server / deploy (push) Failing after 13s
rsync scheitert im Runner-Container am Docker-Host ('pipe: Permission
denied', auch im 22.04-Image). Das Paket geht jetzt per tar hinueber und
wird auf dem Server abgeglichen, wo rsync normal laeuft.

Dabei die Rechte geradegezogen: der Deploy-Benutzer besitzt den Code und
braucht dafuer kein sudo. Das frueher vorgesehene 'chown -R timerapp' nach
jedem Lauf haette ihm die Schreibrechte fuer den naechsten Lauf entzogen -
und die Einrichtungsanleitung haette dem Dienst das Datenverzeichnis
weggenommen. Jetzt: Code gehoert deploy, data/ gehoert timerapp.

Ein Diagnoseschritt meldet zu Beginn Benutzer, Werkzeuge, Rechte und
sudo-Regeln, damit solche Faelle im Protokoll sichtbar sind.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-04 18:08:09 +02:00
adminandClaude Opus 5 1cd966a208 Deploy per Gitea Actions auf 192.168.1.5
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>
2026-09-04 17:56:35 +02:00
adminandClaude Opus 5 a7e77793a8 Timer-App unter Versionsverwaltung stellen
Stand der laufenden Anwendung von 192.168.1.5:/opt/timer-app (systemd-Dienst
timer-app, Port 3003). Zeiterfassung mit Kostenberechnung: Node/Express,
SQLite, Anmeldung ausschliesslich ueber Authentik (OIDC, PKCE, RP-Logout) -
der frueher vorhandene Passwort-Login ist entfernt.

Nicht im Repo, bewusst:
- backend/.env und die .env-Sicherung: enthalten Session-Secret und die
  Authentik-Zugangsdaten. Vorlage ist backend/.env.example.
- data/: die Datenbank mit den echten Zeiterfassungen.
- node_modules/.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-04 17:47:07 +02:00