monitor/docker/nginx/default.conf.template
fds2610-bot ec380d2ff8 Buero-Ueberschrift durch Agent-Status ersetzen, Erklaertext durch Reload-Countdown ersetzt
Der fett gedruckte Titel "Buero" ueber der Visualisierung heisst jetzt
"Agent-Status", der laengere erklaerende Fliesstext darunter entfaellt.
Stattdessen zeigt der Header rechtsbuendig einen rein kosmetischen
Sekunden-Countdown, der von MONITOR_SYNC_INTERVAL herunterzaehlt und nach
Erreichen von 0 wieder von vorn beginnt (Issue #12). Der Wert wird dazu wie
MONITOR_API_BASE per config.js/envsubst ans Frontend durchgereicht.
2026-07-29 00:03:26 +02:00

32 lines
1.6 KiB
Text

server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
# Einstiegsseite ist die Buero-Visualisierung - ohne diese Direktive liefert
# nginx beim Aufruf der Basis-URL ein 403 (Directory-Listing ist deaktiviert,
# und eine index.html gibt es nicht).
index office.html;
# Laufzeit-Konfiguration fuers Frontend: Das html/-Verzeichnis ist read-only gemountet,
# deshalb werden API-Basis-URL und Sync-Intervall nicht als Datei abgelegt, sondern hier
# aus der Umgebung ausgeliefert (MONITOR_API_BASE, MONITOR_SYNC_INTERVAL, siehe .env).
# Das nginx-Image ersetzt ${MONITOR_API_BASE}/${MONITOR_SYNC_INTERVAL} beim Containerstart
# per envsubst - nur Variablen, die tatsaechlich in der Umgebung definiert sind,
# nginx-eigene wie $uri bleiben unangetastet. Ist eine der beiden Variablen gar nicht
# definiert, bleibt ihr Platzhalter stehen und nginx verweigert den Start
# ("unknown \"monitor_api_base\" variable") - besser ein lauter Fehler als eine still
# falsche URL. docker-compose.yml setzt beide Variablen daher immer (ggf. mit Default).
# MONITOR_SYNC_INTERVAL speist nur den rein kosmetischen Reload-Countdown im Header
# (Issue #12) - hat keinen Einfluss auf den tatsaechlichen Update-Takt der Szene.
location = /config.js {
default_type application/javascript;
add_header Cache-Control "no-store";
return 200 'window.MONITOR_API_BASE = "${MONITOR_API_BASE}"; window.MONITOR_SYNC_INTERVAL = ${MONITOR_SYNC_INTERVAL};';
}
location / {
try_files $uri $uri/ =404;
}
}