32 lines
1.3 KiB
Markdown
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.
|