Lizenzserver-Deployment: install-license.sh/update-license.sh + systemd/nginx-Vorlagen
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>
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name _;
|
||||
|
||||
location / {
|
||||
client_max_body_size 4m;
|
||||
proxy_pass http://127.0.0.1:5000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
|
||||
location /static/ {
|
||||
alias /srv/tesm-license/static/;
|
||||
expires 7d;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
[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
|
||||
Reference in New Issue
Block a user