-
v1.0.5 Stable
released this
2026-08-22 10:54:39 +02:00 | 139 commits to main since this releaseLive-Log: 300-Zeilen-Tail statt komplettem Datei-Read (behebt Ladezeit-Probleme auf groesseren Umgebungen), neues RAW-Popup fuer das komplette Live-Log (Stil des bestehenden 'Ungespeicherte Aenderungen'-Modals) sowie eine neue Unterseite 'Verlauf' fuer aeltere, von logrotate rotierte Logs -- mit eigenem Recht logs_history.view.
Downloads
-
v1.0.4 Stable
released this
2026-08-22 10:30:46 +02:00 | 140 commits to main since this releaseTESM (TimEShepManager) v1.0.4 -- fortlaufendes Update, kein Reset. Datenbank-Schema unveraendert (SCHEMA_VERSION weiterhin 1).
Aenderungen seit v1.0.3
- WICHTIGER FIX: v1.0.3s install.sh-Sicherheitsnetz (Backup vor dem Update, Health-Check danach, automatischer Rollback bei Fehlschlag) griff nur bei einer erkannten SCHEMA_VERSION-Aenderung. Ein rein code-seitiger Fehler im neuen Paket (mit dem DB-Schema voellig unabhaengig) konnte dadurch bei unveraendertem Schema ungeschuetzt live gehen. Das Sicherheitsnetz greift jetzt bei JEDEM Update einer bestehenden Installation.
- Rollback-Fix: verwendet jetzt cp -a statt mv beim Zurueckspielen, plus die fehlgeschlagene Installation wird separat beiseitegelegt (/srv/tesm-failed-update-) statt geloescht -- vorher verschwand das Backup beim Zurueckspielen selbst als eigenstaendige Sicherung.
- Live in allen drei Pfaden verifiziert: erfolgreiches Update, Migration mit unveraenderter Struktur, und ein absichtlich herbeigefuehrter Fehlschlag mit anschliessendem automatischem Rollback (Dienst/Daten danach nachweislich wiederhergestellt).
Installation (frischer Host)
curl -fsSL -u <gitea-user>:<token> -o tesm-v1.0.4.tar.gz https://gitea.int.eertmoed.net/alientim/tesm/releases/download/v1.0.4/tesm-v1.0.4.tar.gz mkdir -p tesm && tar xzf tesm-v1.0.4.tar.gz -C tesm --strip-components=1 sudo bash tesm/install.sh sudo /srv/tesm/venv/bin/python3 /srv/tesm/create_admin.pyUpdate / Reinstall (bestehender Host, jede Alt-Generation)
curl -fsSL -u <gitea-user>:<token> -o tesm-v1.0.4.tar.gz https://gitea.int.eertmoed.net/alientim/tesm/releases/download/v1.0.4/tesm-v1.0.4.tar.gz mkdir -p tesm && tar xzf tesm-v1.0.4.tar.gz -C tesm --strip-components=1 sudo bash tesm/update.shinstall.sh ist jetzt auch direkt (ohne update.sh) aus einem entpackten Paket heraus update-faehig. Fuer die jeweils neueste Version statt einer festen Versionsnummer
latestverwenden.Downloads
-
v1.0.3 Stable
released this
2026-08-22 10:09:27 +02:00 | 141 commits to main since this releaseTESM (TimEShepManager) v1.0.3 -- fortlaufendes Update, kein Reset. Datenbank-Schema unveraendert (SCHEMA_VERSION weiterhin 1).
Aenderungen seit v1.0.2
- install.sh ist jetzt selbst update-faehig: erkennt eine bestehende Installation (an sqlite.db) und macht daraus automatisch ein Update statt einer Frischinstallation. Bei unveraendertem DB-Schema laeuft ein einfaches In-Place-Update (Datenbank bleibt unangetastet). Bei einer Schema-Aenderung (oder unbekannter Version) wird VOR der Migration automatisch die komplette bisherige Installation (Code+venv+Datenbank) gesichert; kommt der Dienst danach per HTTP-Check nicht gesund hoch, wird automatisch komplett zurueckgerollt (Backup bleibt erhalten), sonst wird das Backup nach erfolgreicher Pruefung geloescht.
- update.sh ist dadurch auf einen schlanken Bootstrapper reduziert (Download + Entpacken + Aufruf von install.sh) und nur noch fuer das Abloesen aelterer, TESM vorausgehender Installationsstufen zustaendig (PoE Manager, urspruengliches Bash-Setup).
- install.sh ist dadurch jetzt auch OHNE update.sh direkt aus einem entpackten Release-Paket lauffaehig und erkennt ein Update trotzdem korrekt.
Installation (frischer Host)
curl -fsSL -u <gitea-user>:<token> -o tesm-v1.0.3.tar.gz https://gitea.int.eertmoed.net/alientim/tesm/releases/download/v1.0.3/tesm-v1.0.3.tar.gz mkdir -p tesm && tar xzf tesm-v1.0.3.tar.gz -C tesm --strip-components=1 sudo bash tesm/install.sh sudo /srv/tesm/venv/bin/python3 /srv/tesm/create_admin.pyUpdate / Reinstall (bestehender Host, jede Alt-Generation)
curl -fsSL -u <gitea-user>:<token> -o tesm-v1.0.3.tar.gz https://gitea.int.eertmoed.net/alientim/tesm/releases/download/v1.0.3/tesm-v1.0.3.tar.gz mkdir -p tesm && tar xzf tesm-v1.0.3.tar.gz -C tesm --strip-components=1 sudo bash tesm/update.shFuer die jeweils neueste Version statt einer festen Versionsnummer
latestverwenden.Downloads
-
v1.0.2 Stable
released this
2026-08-14 09:10:09 +02:00 | 147 commits to main since this releaseTESM (TimEShepManager) v1.0.2 -- fortlaufendes Update, kein Reset. Datenbank-Schema unveraendert (SCHEMA_VERSION weiterhin 1) -- bereits installierte Hosts aktualisieren sich per update.sh automatisch In-Place, die Datenbank bleibt vollstaendig erhalten.
Aenderungen seit v1.0.1
- Produktiver WSGI-Server (Gunicorn) statt Flasks Entwicklungsserver fuer tesm.service -- keine 'WARNING: This is a development server'-Meldung mehr. Ein Worker-Prozess (In-Memory-Zustand fuer Wartungs-Jobs/Import-Vorschauen), gthread-Worker mit 16 Threads (fuer das WebSocket-SSH-Terminal), Timeout deaktiviert (lange SSH-Sitzungen). Live inkl. WebSocket-Terminal-Regressionstest verifiziert.
- install.sh: 'python3 -m pip' statt des 'pip'-Skripts direkt -- dessen Shebang kann nach einer venv-Umbenennung/-Verschiebung auf einen nicht mehr existierenden Pfad zeigen und fehlschlagen ('cannot execute: required file not found'), live auf POETEST reproduziert (Altlast aus der Umbenennung poe_manager -> tesm).
Installation (frischer Host)
curl -fsSL -u <gitea-user>:<token> -o tesm-v1.0.2.tar.gz https://gitea.int.eertmoed.net/alientim/tesm/releases/download/v1.0.2/tesm-v1.0.2.tar.gz mkdir -p tesm && tar xzf tesm-v1.0.2.tar.gz -C tesm --strip-components=1 sudo bash tesm/install.sh sudo /srv/tesm/venv/bin/python3 /srv/tesm/create_admin.pyUpdate / Reinstall (bestehender Host, jede Alt-Generation)
curl -fsSL -u <gitea-user>:<token> -o tesm-v1.0.2.tar.gz https://gitea.int.eertmoed.net/alientim/tesm/releases/download/v1.0.2/tesm-v1.0.2.tar.gz mkdir -p tesm && tar xzf tesm-v1.0.2.tar.gz -C tesm --strip-components=1 sudo bash tesm/update.shupdate.sherkennt selbst In-Place-Update vs. Fresh-Install per SCHEMA_VERSION-Vergleich. Fuer die jeweils neueste Version statt einer festen Versionsnummerlatestverwenden.Downloads
-
v1.0.1 Stable
released this
2026-08-14 01:09:33 +02:00 | 148 commits to main since this releaseTESM (TimEShepManager) v1.0.1 -- fortlaufendes Update auf v1.0.0, kein Reset. Datenbank-Schema unveraendert (SCHEMA_VERSION weiterhin 1) -- bereits auf v1.0.0 installierte Hosts aktualisieren sich per update.sh automatisch In-Place, die Datenbank (Geraete, Switche, Zugangsdaten, Benutzer, Einstellungen) bleibt dabei vollstaendig erhalten.
Aenderungen seit v1.0.0
- Fix: 'database is locked' beim LDAP-/DHCP-Import behoben (_import_ldap/_import_dhcp schreiben jetzt direkt auf die vom Aufrufer uebergebene Verbindung statt ueber set_setting() eine zweite zu oeffnen)
- Wartung: Linux-Client-Update ueberarbeitet -- einzeln benannte Schritte (apt update -> initramfs MODULES=most dauerhaft setzen -> apt upgrade -> apt full-upgrade -> apt clean -> apt autoremove), jeweils mit eigenem Erfolgs-/Fehlschlag-Marker im Live-Fenster; bei einem mit Exit-Code fehlgeschlagenen Update zusaetzliche Logdatei unter /var/log/tesm/clientupdate/.error
Installation (frischer Host)
curl -fsSL -u <gitea-user>:<token> -o tesm-v1.0.1.tar.gz https://gitea.int.eertmoed.net/alientim/tesm/releases/download/v1.0.1/tesm-v1.0.1.tar.gz mkdir -p tesm && tar xzf tesm-v1.0.1.tar.gz -C tesm --strip-components=1 sudo bash tesm/install.sh sudo /srv/tesm/venv/bin/python3 /srv/tesm/create_admin.pyUpdate / Reinstall (bestehender Host, jede Alt-Generation)
curl -fsSL -u <gitea-user>:<token> -o tesm-v1.0.1.tar.gz https://gitea.int.eertmoed.net/alientim/tesm/releases/download/v1.0.1/tesm-v1.0.1.tar.gz mkdir -p tesm && tar xzf tesm-v1.0.1.tar.gz -C tesm --strip-components=1 sudo bash tesm/update.shupdate.sherkennt selbst, ob ein In-Place-Update (Schema unveraendert) oder eine frische Installation (Schema geaendert oder unbekannt) noetig ist -- sagt das VOR der Bestaetigung an. Fuer die jeweils neueste Version statt einer festen Versionsnummerlatestverwenden.Downloads
-
v1.0.0 Stable
released this
2026-08-14 00:21:17 +02:00 | 151 commits to main since this releaseTESM (TimEShepManager) v1.0.0 -- konsolidiertes Release, einziger aktueller Stand.
Funktionsumfang
- LDAP/AD Same-Sign-On, selektiver Import/Export, Papierkorb
- SSH-Verbindungstest im Browser-Terminal (password wird bevorzugt, wenn der Server es anbietet -- robust auch gegen Switches/APs mit unzuverlaessiger keyboard-interactive-Implementierung)
- DHCP-Verwaltung (Auto-Write/Neustart, Lease-Verwaltung, Autostart)
- Wartung: Bulk-Update fuer Linux-Clients (apt update/upgrade mit MODULES=most fuer sicheren initramfs-Rebuild bei Kernel-Updates, danach autoremove + clean), PoE-Neustart einzeln oder automatisch
- SSH-MOTD-Live-Banner, Versionsanzeige in der Oberflaeche (Login-Seite + Sidebar)
- skripts/: Admin-Hilfsskripte fuer Bulk-Aktionen (Zugangsdaten allen Geraeten zuweisen, alle SSH-Host-Keys in einem Rutsch akzeptieren)
- update.sh fuer eine Neuinstallation/Update aus diesem Release-Paket (loest auch aeltere Installationsstufen ab: PoE Manager unter /srv/poe_manager, sowie das urspruengliche reine Bash-Setup aus WiS/Aruba-PoE)
Installation (frischer Host)
curl -fsSL -u <gitea-user>:<token> -o tesm-v1.0.0.tar.gz https://gitea.int.eertmoed.net/alientim/tesm/releases/download/v1.0.0/tesm-v1.0.0.tar.gz mkdir -p tesm && tar xzf tesm-v1.0.0.tar.gz -C tesm --strip-components=1 sudo bash tesm/install.sh sudo /srv/tesm/venv/bin/python3 /srv/tesm/create_admin.pyUpdate / Reinstall (bestehender Host, jede Alt-Generation)
curl -fsSL -u <gitea-user>:<token> -o tesm-v1.0.0.tar.gz https://gitea.int.eertmoed.net/alientim/tesm/releases/download/v1.0.0/tesm-v1.0.0.tar.gz mkdir -p tesm && tar xzf tesm-v1.0.0.tar.gz -C tesm --strip-components=1 sudo bash tesm/update.shupdate.shsichert eine vorhandene Installation vor dem Ueberschreiben (verschiebt sie nach<verzeichnis>-backup-<timestamp>, loescht nichts) und laedt/entpackt danach jede weitere Version selbst automatisch -- die Befehle oben bootstrappen nur den allerersten Aufruf. Fuer die jeweils neueste Version statt einer festen Versionsnummerlatestverwenden.Downloads