Fork von install.sh/update.sh/tesm.service/nginx-Site (TESM selbst), beschraenkt auf /srv/tesm-license -- deployt ausschliesslich den in Phase 2 gebauten Master-Lizenzserver, laesst eine evtl. auf demselben Host vorhandene TESM-Installation komplett unberuehrt (eigener Pfad-/Env-Var- Namespace, siehe app.py). Gleiches Backup+Health-Check+Rueckroll- Sicherheitsnetz wie bei TESMs eigenem Installer. Teil von Phase 3 (Infrastruktur), siehe Plan toasty-twirling-hickey.md. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
28 lines
1.0 KiB
Desktop File
28 lines
1.0 KiB
Desktop File
[Unit]
|
|
Description=TESM Lizenzserver (Master)
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=root
|
|
WorkingDirectory=/srv/tesm-license
|
|
# Analog zu TESM_WEB_PROCESS bei TESM selbst -- markiert diesen Prozess als
|
|
# den echten Web-Dienst (startet den Lizenz-Heartbeat- und den Auditlog-
|
|
# Archivierungs-Thread genau einmal). Anders als bei TESM importiert hier
|
|
# kein Hilfsskript app.py periodisch als Modul (kein Geräte-Polling auf
|
|
# dem Lizenzserver) -- das Flag bleibt trotzdem gesetzt, für den Fall
|
|
# künftiger Hilfsskripte und zur Konsistenz mit dem TESM-Muster.
|
|
Environment=TESM_LICENSE_WEB_PROCESS=1
|
|
# Kein WebSocket-Terminal wie bei TESM -- gthread/--timeout 0 daher nicht
|
|
# nötig, ein paar Threads reichen für die parallele Aktivierungs-/
|
|
# Heartbeat-API mehrerer Kunden.
|
|
# "--bind 127.0.0.1:5000" wie bei TESM: nur über den nginx-Reverse-Proxy
|
|
# von außen erreichbar.
|
|
ExecStart=/srv/tesm-license/venv/bin/gunicorn --workers 1 --threads 8 \
|
|
--bind 127.0.0.1:5000 app:app
|
|
Restart=always
|
|
RestartSec=5
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|