Commit Graph
4 Commits
Author SHA1 Message Date
alientim 3c3fbd8f23 update.sh: In-Place-Update statt Fresh-Install, wenn sich das DB-Schema nicht geändert hat
Neue Datei SCHEMA_VERSION (neben VERSION) markiert den DB-Schema-Stand.
update.sh laedt/entpackt das Release-Paket jetzt VOR der Bestaetigungs-
abfrage und vergleicht die SCHEMA_VERSION der bestehenden Installation
mit der des neuen Pakets:

- Stimmen beide ueberein (und existiert bereits eine sqlite.db) --
  In-Place-Update: /srv/tesm bleibt bestehen, install.sh rsynct nur den
  neuen Code darueber (sqlite.db/fernet.key/secret.key waren dort schon
  immer von rsync ausgeschlossen). Geraete/Switche/Zugangsdaten/Benutzer/
  Einstellungen bleiben vollstaendig erhalten, kein manuelles Neuanlegen
  oder Re-Import noetig.
- Unterscheiden sie sich (oder ist eine der beiden Versionen unbekannt,
  z.B. eine Installation von vor dieser Aenderung) -- weiterhin der
  bisherige sichere Weg: /srv/tesm wird beiseite verschoben (nicht
  geloescht) und komplett frisch installiert.

/srv/poe_manager (voellig andere App/Schema) wird davon unabhaengig
immer beiseite verschoben, nie in-place uebernommen.

create_db.py bekommt einen Hinweis-Kommentar, SCHEMA_VERSION bei jeder
Schema-Aenderung mit hochzuzaehlen.
2026-08-14 00:20:52 +02:00
alientim 89682618f7 update.sh: auch /srv/poe_manager + poe_web.service (Vorgänger-Flask-App) abschalten
Ergänzt die bereits behandelte ursprüngliche Bash-only-Generation
(WiS/Aruba-PoE: rpi-check.service + ips.list) um die dazwischenliegende
Generation -- die Flask-App "PoE Manager" unter /srv/poe_manager mit
poe_web.service, der Vorgänger von TESM in diesem Repo vor der Umbenennung.
update.sh erkennt und sichert jetzt beide möglichen alten Installationsorte
(/srv/tesm, /srv/poe_manager) unabhängig voneinander nach
<Verzeichnis>-backup-<Zeitstempel> und stoppt/deaktiviert alle drei
möglichen Dienst-Generationen. README entsprechend erweitert.
2026-08-13 19:39:51 +02:00
alientim 31404266f3 update.sh: Release-Asset-Download statt git clone, ursprüngliches Bash-Setup mit abschalten
- update.sh lädt jetzt ein fertig gepacktes Gitea-Release-Asset
  (tesm-<tag>.tar.gz, Default "latest") direkt per curl herunter und
  entpackt es -- kein "git clone" bzw. Git auf dem Zielsystem mehr nötig.
- Stoppt/deaktiviert zusätzlich zu den aktuellen TESM-Diensten auch das
  ursprüngliche, noch ältere reine Bash-Setup (rpi-check.service,
  rpi-check-restart.service/.timer -- der Vorgänger von TESM ganz ohne
  Datenbank/Web-UI, statische ips.list statt generate_ips.py), falls auf
  dem Zielsystem noch vorhanden.
- README entsprechend aktualisiert, inkl. kurzer Anleitung zum Paketieren
  eines neuen Release (versionierter Tag + bewegliches "latest"-Tag).
2026-08-13 19:34:58 +02:00
alientim bfb58b62e9 Update/Reinstall-Skript für frische Release-Installationen (update.sh)
Ergänzt install.sh (das ein bestehendes Checkout voraussetzt) um einen Weg,
eine bisher ad-hoc gepflegte Installation (z.B. per manuellem Datei-Upload
während der Entwicklung) durch eine frische, aus einem Git-Tag geklonte
Installation zu ersetzen:
- Stoppt/deaktiviert tesm.service, tesm-check.service,
  tesm-check-restart.timer.
- Verschiebt das bestehende /srv/tesm NICHT gelöscht, sondern nach
  /srv/tesm-backup-<Zeitstempel> -- bleibt als Rückfalloption und
  Datenquelle für einen späteren Export/Import vollständig erhalten.
- Klont den angegebenen Release-Tag frisch und führt darin install.sh aus.
- Weist sowohl vor dem Start als auch am Ende deutlich darauf hin, dass das
  Ergebnis eine FRISCHE Installation ohne die Daten der alten Instanz ist --
  vorher exportieren (Einstellungen -> Im-/Export) oder danach alles neu
  einrichten.

README um den entsprechenden Abschnitt ergänzt.
2026-08-13 19:24:59 +02:00