Karte: - Frankfurt-Fallback (Zoom 10→14 flyTo) mit _frankfurtTimer-Cancel wenn echter Standort eintrifft - OSM-Tile-Fetch parallelisiert (asyncio.Semaphore(3)) - Bounds-Fix: invalidateSize() + pad(0.15) vor getBounds() - map-pin-slash Icon für gesperrten Standort - Scan-Done-Flash: Statusbar-Pill grün bei 100% - Schnüffelhund: outer div (by-wander X) + inner SVG (by-sniff Y) für natürlichere zweiachsige Bewegung Backend: - City-Prewarm-Job: ~70 deutsche Großstädte beim Start (+90s) und wöchentlich (So 01:00), Fortschritts-Mails alle 5h an ADMIN_EMAIL - ADMIN_EMAIL Env-Var in .env.example dokumentiert Bugfixes: - Profil-Edit: /api/profile → /profile (doppelter Prefix) - Friends: Mobile-Portrait-Layout (flex-wrap, overflow-x:hidden) - Trainingspläne: Pills text-wrap (flex + white-space:normal)
30 lines
824 B
Text
30 lines
824 B
Text
# BAN YARO — Umgebungsvariablen
|
|
# Kopieren nach .env und anpassen
|
|
|
|
ENV=development # development | production
|
|
|
|
# Sicherheit
|
|
JWT_SECRET=bitte-aendern-langer-zufaelliger-string
|
|
JWT_EXPIRY_DAYS=30
|
|
|
|
# KI-Modus
|
|
# off = kein KI
|
|
# local = LM Studio auf DS (kostenlos, für Entwicklung)
|
|
# cloud = Claude API (nur für Premium-User, kostet Geld)
|
|
KI_MODE=local
|
|
KI_LOCAL_URL=http://10.47.11.10:1234/v1
|
|
KI_LOCAL_MODEL=qwen2.5-7b-instruct
|
|
|
|
# Claude API (nur setzen wenn KI_MODE=cloud oder als Fallback)
|
|
ANTHROPIC_API_KEY=
|
|
|
|
# Cloud-Modell (nur bei KI_MODE=cloud)
|
|
KI_CLOUD_MODEL=claude-opus-4-6
|
|
|
|
# Push Notifications (VAPID Keys generieren mit: npx web-push generate-vapid-keys)
|
|
VAPID_PUBLIC_KEY=
|
|
VAPID_PRIVATE_KEY=
|
|
VAPID_CONTACT=mailto:admin@banyaro.app
|
|
|
|
# Admin-Benachrichtigungen (z.B. Prewarm-Fortschritt)
|
|
ADMIN_EMAIL=
|