0ebf13aacf7705c62398e3a509dfc83d6376723b
PBT – Öffi-Erfahrungen (pbt.zisco.at)
Lokal auf der LXC einrichten
cd /opt/pbt # oder wohin du die Dateien kopierst
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
export PBT_DATABASE_URL="postgresql://pbt_app:DEIN_PASSWORT@<postgres-ip-oder-hostname>/pbt"
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
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).
Produktivbetrieb mit systemd + Gunicorn
- Projekt nach
/opt/pbtkopieren, virtuelle Umgebung dort anlegen (s. oben). pbt.servicenach/etc/systemd/system/pbt.servicekopieren, DB-URL und Secret-Key darin anpassen.- Aktivieren:
Die App lauscht dann intern auf
systemctl daemon-reload systemctl enable --now pbt systemctl status pbt127.0.0.1:8000.
Caddy-Eintrag
In der Caddy-LXC in der Caddyfile ergänzen:
pbt.zisco.at {
reverse_proxy 10.10.10.24:8000
}
(IP durch die tatsächliche Adresse der pbt-LXC ersetzen.) Danach:
systemctl reload caddy
Caddy holt sich das TLS-Zertifikat für pbt.zisco.at automatisch über Let's Encrypt,
sofern die Domain öffentlich auf die Caddy-LXC zeigt.
Languages
Python
43%
HTML
35.4%
JavaScript
21.6%