Auto-Update-Erkennung mit automatischem Neustart #1

Open
opened 2026-06-03 19:51:29 +02:00 by ppfeiffer · 0 comments
Owner

Beschreibung

Ein zweites Hintergrund-Script soll laufend prüfen ob eine neue Version des Dashboards verfügbar ist und bei einem Versionswechsel einen automatischen Neustart auslösen.

Gewünschtes Verhalten

  • Script läuft als separater Prozess im Hintergrund
  • Vergleicht die lokale VERSION-Datei mit der Remote-Version im Forgejo-Repo (z.B. via git fetch oder API-Abfrage)
  • Erkennt einen Upgrade (neue Version vorhanden)
  • Führt git pull aus um die neue Version zu laden
  • Löst anschließend einen Neustart des rpi-dashboard-Service aus (systemctl restart rpi-dashboard)

Implementierungsideen

  • Script: update-watcher.sh
  • Als systemd-Service: rpi-dashboard-updater.service (Typ simple, Restart always)
  • Prüfintervall: alle 60 Sekunden via sleep-Loop
  • Versionsdatei: VERSION im Repo-Root
  • Benötigt Token für Repo-Zugriff
  • Optionaler Bestätigungsdialog auf dem Display bevor Neustart

Akzeptanzkriterien

  • Script erkennt zuverlässig ob Remote-Version > lokale Version
  • git pull wird nur bei tatsächlichem Upgrade ausgeführt
  • Neustart des Dashboard-Service wird ausgelöst
  • Script läuft dauerhaft im Hintergrund als systemd-Service
  • Fehlerbehandlung wenn kein Netzwerk verfügbar
## Beschreibung Ein zweites Hintergrund-Script soll laufend prüfen ob eine neue Version des Dashboards verfügbar ist und bei einem Versionswechsel einen automatischen Neustart auslösen. ## Gewünschtes Verhalten - Script läuft als separater Prozess im Hintergrund - Vergleicht die lokale `VERSION`-Datei mit der Remote-Version im Forgejo-Repo (z.B. via `git fetch` oder API-Abfrage) - Erkennt einen Upgrade (neue Version vorhanden) - Führt `git pull` aus um die neue Version zu laden - Löst anschließend einen Neustart des `rpi-dashboard`-Service aus (`systemctl restart rpi-dashboard`) ## Implementierungsideen - Script: `update-watcher.sh` - Als systemd-Service: `rpi-dashboard-updater.service` (Typ `simple`, Restart `always`) - Prüfintervall: alle 60 Sekunden via sleep-Loop - Versionsdatei: `VERSION` im Repo-Root - Benötigt Token für Repo-Zugriff - Optionaler Bestätigungsdialog auf dem Display bevor Neustart ## Akzeptanzkriterien - [ ] Script erkennt zuverlässig ob Remote-Version > lokale Version - [ ] git pull wird nur bei tatsächlichem Upgrade ausgeführt - [ ] Neustart des Dashboard-Service wird ausgelöst - [ ] Script läuft dauerhaft im Hintergrund als systemd-Service - [ ] Fehlerbehandlung wenn kein Netzwerk verfügbar
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ppfeiffer/rpi3-dashboard#1
No description provided.