Dokumentiert das gesamte Bypass-Pattern mit Optionen-Vergleich
(Service-Account vs. langes JWT vs. ENV-Secret), Härtungsstrategie
(prod-compose ignoriert ENV, Audit-Logging, wöchentliche Rotation)
und Folgen für ADR 0005 (Keycloak Dev-Bypass).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
api.md ergaenzt um die ~20 neuen Endpoints (Stimmverhalten-Aggregate,
Aktuelle-Themen, PM-Drafts, Admin-Stand, Auth, Score-Histogram,
Vote-Orphans). Filter-Parameter-Tabelle dokumentiert.
mkdocs.yml-Nav vollstaendig auf alle 11 ADRs erweitert plus
Plenum-Vote-Parser-Roadmap unter "Analysen".
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
caddy-gitea-pages verworfen — dessen URL-Schema ({owner}.{domain}/{repo})
passt nicht für Single-Project-Hosting ohne DNS-Wildcards auf Sub-Sub-
Domains. Stattdessen simples nginx:alpine mit statischem Volume-Mount.
URL: https://docs.toppyr.de/gwoe-antragspruefer/
Der nginx-Container mounted docs-site/ nach
/usr/share/nginx/html/gwoe-antragspruefer/ — Traefik routet alles auf
Host docs.toppyr.de an den Container, nginx served den Pfad 1:1.
Skaliert für weitere Repos: einfach ein zweites Volume-Mount für
/usr/share/nginx/html/anderes-repo/ einrichten.
SSL: Traefik, nicht nginx/caddy.
DNS: *.toppyr.de Wildcard deckt docs.toppyr.de ab.
Update-Workflow:
cd webapp && mkdocs build
scp -r site/* vserver:/opt/gwoe-antragspruefer/docs-site/
Caddyfile.docs entfernt (war caddy-gitea-pages-spezifisch).
Refs: #62
mkdocs Material-Theme konfiguriert (mkdocs.yml). Build-Output wird in
den gh-pages-Branch gepusht, von dort served caddy-gitea-pages den
statischen Content als separater Container unter docs.gwoe.toppyr.de.
Neuer docker-compose-Service gwoe-docs:
- Image: ghcr.io/d7z-project/caddy-gitea-pages:nightly
- Liest automatisch aus dem gh-pages-Branch via Gitea-API
- Traefik-Labels für docs.gwoe.toppyr.de (SSL via Let's Encrypt)
- Token via GITEA_TOKEN in .env (bereits auf dem Server hinterlegt)
Wildcard-DNS *.toppyr.de zeigt bereits auf den VServer — kein
DNS-Eingriff nötig, Traefik + Let's Encrypt erledigen den Rest.
Doku-Update-Workflow:
1. ADR oder docs/ editieren
2. `mkdocs build` lokal
3. `git checkout gh-pages && cp -r site/* . && git add -A && git commit && git push`
4. caddy-gitea-pages refreshed automatisch
.gitignore: site/ ausgeschlossen (Build-Artefakt).
Refs: #62 (Phase 2)