This commit is contained in:
@@ -14,10 +14,33 @@ export PBT_SECRET_KEY="ein-langer-zufaelliger-string"
|
||||
python app.py # Testlauf auf Port 5000
|
||||
```
|
||||
|
||||
Beim ersten Start legt die App die Tabellen (`users`, `fahrten`) automatisch per
|
||||
Beim ersten Start legt die App die Tabellen (`users`, `trips`, `stops`) automatisch per
|
||||
`db.create_all()` an – dafür braucht der User `pbt_app` `CREATE`-Rechte in der DB
|
||||
(sollte durch `GRANT ALL PRIVILEGES ON DATABASE pbt TO pbt_app;` bereits gegeben sein).
|
||||
|
||||
## Haltestellen-Lookup
|
||||
|
||||
Die Felder „Von" und „Nach" haben eine Autovervollständigung aus allen
|
||||
österreichischen Haltestellen. Die Daten stammen aus OpenStreetMap
|
||||
(© OpenStreetMap-Mitwirkende, ODbL) und liegen als Snapshot im Repo
|
||||
(`data/stops_at.csv.gz`, ~37 000 Haltestellen).
|
||||
|
||||
Nach dem Anlegen der Tabellen den Snapshot in die DB laden:
|
||||
|
||||
```bash
|
||||
flask import-stops # FLASK_APP=app.py bzw. im Projektverzeichnis
|
||||
```
|
||||
|
||||
Der Import ist idempotent (Upsert) und braucht kein Internet. Beim Deploy per
|
||||
systemd einmalig ausführen, danach nur wenn der Snapshot aktualisiert wurde.
|
||||
|
||||
Snapshot neu von OpenStreetMap holen (dauert 1–2 min, braucht Netzugang):
|
||||
|
||||
```bash
|
||||
python scripts/fetch_stops.py # überschreibt data/stops_at.csv.gz
|
||||
flask import-stops
|
||||
```
|
||||
|
||||
## Produktivbetrieb mit systemd + Gunicorn
|
||||
|
||||
1. Projekt nach `/opt/pbt` kopieren, virtuelle Umgebung dort anlegen (s. oben).
|
||||
|
||||
Reference in New Issue
Block a user