Add Docker deployment, EU AI Act slide, and chapter name in HUD

Serves the deck via a small nginx container (docker compose up -d).
The Dockerfile copies files individually rather than COPY . . so the
speaker notes, design docs and local backups stay out of the image.

Deck grows to 44 slides: adds a Vibe Coding slide covering AI-assisted
programming, an EU AI Act slide with the four risk tiers, and expands
the outlook from three to six trends. The HUD now also shows the
current chapter name, resolved from the slide manifest.
This commit is contained in:
Erik Thiele
2026-07-31 10:36:34 +02:00
parent 66204e6f63
commit 64f057a7c0
7 changed files with 265 additions and 44 deletions

39
nginx.conf Normal file
View File

@@ -0,0 +1,39 @@
server {
listen 80;
server_name _;
root /usr/share/nginx/html;
# Das Deck ist die Startseite — "/" öffnet direkt die Präsentation.
index ki-verstehen.html;
# Redirects relativ halten. Sonst baut nginx sie absolut zusammen und
# verliert dabei den gemappten Port (localhost/... statt localhost:8080/...).
absolute_redirect off;
# Das Deck ist eine einzige ~160 KB große HTML-Datei — gzip lohnt sich deutlich.
gzip on;
gzip_types text/html text/css application/javascript image/svg+xml;
gzip_min_length 1024;
# HTML/JS nicht cachen: Nach einem Deck-Update soll ein Reload sofort
# die neue Fassung zeigen, nicht die vom letzten Vortrag.
location ~* \.(html|js)$ {
add_header Cache-Control "no-cache, must-revalidate";
}
# Wenn jemand /config aufruft, auf die Konfigurator-Seite auflösen
location = /config {
return 302 /config.html;
}
location / {
try_files $uri $uri/ =404;
}
# Sicherheits-Basics. Bewusst keine strikte CSP: Das Deck lädt die
# Fonts von api.fontshare.com, eine zu enge Policy würde die Typografie brechen.
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
}