Project_Manager/deploy/README.md
2026-06-26 18:21:22 +02:00

32 lines
1.3 KiB
Markdown

# deploy/ — Deployment-Artefakte
Versionierte Vorlagen für den VPS-Betrieb. Die ausführliche Schritt-für-Schritt-
Anleitung steht in [`../DEPLOYMENT.md`](../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`, Gruppe `www-data`
- Projektpfad: `/home/projekthub/projekt-hub`
- venv: `.venv` im Projektordner
- Socket: `projekt-hub.sock` im Projektordner
## Rate-Limiting-Backend
Mit mehreren gunicorn-Workern braucht Flask-Limiter ein gemeinsames Backend,
sonst zählt jeder Worker eigene Limits. In der `.env`:
```ini
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.