Wichtel-Werkstatt: Secret-Santa-App mit Räumen, Ausschlüssen und Recovery-Links

- FastAPI + SQLite, serverseitig gerenderte Templates, mobil-zuerst
- Admin-Passwort, einseitige Ausschlüsse, eingefrorene Auslosung
- Teilnehmer sehen Ergebnis per Cookie; Einmal-Recovery-Links bei Verlust
- Docker/podman-tauglich (Entrypoint mit Privilegien-Drop, SELinux-:z)
- Unit-Tests für Auslosung, E2E-Testskript (30 Checks)
This commit is contained in:
2026-08-05 16:07:21 +02:00
commit d56be7b2c0
21 changed files with 1839 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
#!/bin/sh
set -e
if [ "$(id -u)" = "0" ]; then
# Bind-Mounts (z. B. docker compose mit ./data) kommen als root an:
# Besitz anpassen und dann Rechte an den unprivilegierten Nutzer abgeben.
if chown wichtel:wichtel /data 2>/dev/null; then
exec setpriv --reuid=wichtel --regid=wichtel --clear-groups \
uvicorn app.main:app --host 0.0.0.0 --port 8000
fi
# chown nicht möglich (rootless podman): "root" im Container ist hier
# nur der normale Host-Nutzer direkt weiterlaufen.
fi
exec uvicorn app.main:app --host 0.0.0.0 --port 8000