fix: Web sieht Collector-Daten; Collector-Robustheit + DB-Pfad im Container

- web/lib/db.ts: pro Request frische readonly-Verbindung statt langlebigem
  Singleton. Eine gecachte WAL-Verbindung bekommt Writes des Collectors über
  den Docker-FUSE-Mount nicht mit -> Seite blieb leer.
- collector.py: connect_async + reconnect_delay_set statt connect(), damit ein
  nicht erreichbarer Broker keinen Container-Crash-Loop auslöst, sondern
  in-process mit Backoff neu versucht wird.
- docker-compose.yml: DB_PATH=/data/charges.db für den collector-Service
  erzwungen, damit ein relatives DB_PATH aus .env (lokaler Lauf) im Container
  nicht neben das gemountete Volume schreibt.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-05 13:12:12 +02:00
parent 845ef67e6a
commit 81ef0a82ce
3 changed files with 39 additions and 28 deletions
+4
View File
@@ -6,6 +6,10 @@ services:
container_name: auto-charger-collector
restart: unless-stopped
env_file: .env
environment:
# überschreibt ein evtl. relatives DB_PATH aus .env (lokaler Lauf) —
# im Container muss die DB im gemounteten Volume /data liegen.
- DB_PATH=/data/charges.db
volumes:
- ./data:/data