| .. | ||
| nginx | ||
| projekt-hub.service | ||
| README.md | ||
deploy/ — Deployment-Artefakte
Versionierte Vorlagen für den VPS-Betrieb. Die ausführliche Schritt-für-Schritt-
Anleitung steht in ../DEPLOYMENT.md; hier liegen die Dateien,
die dort referenziert werden.
| Datei | Zweck | Ziel auf dem VPS |
|---|---|---|
../gunicorn.conf.py |
Gunicorn-Konfiguration (Worker, Socket, Logging) | bleibt im Projektordner, via -c geladen |
projekt-hub.service |
systemd-Unit (Autostart, Neustart bei Absturz) | /etc/systemd/system/projekt-hub.service |
nginx/projekt-hub.conf |
nginx-Reverse-Proxy (Socket-Proxy + Static) | /etc/nginx/sites-available/projekt-hub |
Vor dem Kopieren anpassen
Alle Dateien gehen von diesen Annahmen aus — bei Abweichung anpassen:
- Nutzer:
projekthub, Gruppewww-data - Projektpfad:
/home/projekthub/projekt-hub - venv:
.venvim Projektordner - Socket:
projekt-hub.sockim Projektordner
Rate-Limiting-Backend
Mit mehreren gunicorn-Workern braucht Flask-Limiter ein gemeinsames Backend,
sonst zählt jeder Worker eigene Limits. In der .env:
RATELIMIT_STORAGE_URI=redis://localhost:6379
Redis installieren: sudo apt install -y redis-server (siehe DEPLOYMENT.md).
Ohne Redis bleibt memory:// möglich — dann am besten nur ein Worker.