feat: initial CamWatch service

Polls Frigate events API, extracts dominant vehicle color (KMeans),
reads LPR plate from Frigate sub_label. Responsive dark UI with
filter by plate/camera/date and auto-refresh. FastAPI + SQLite.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
perco
2026-06-02 14:10:05 +02:00
co-authored by Claude Sonnet 4.6
commit f6422b0e7e
9 changed files with 534 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
services:
camwatch:
build: .
container_name: camwatch
restart: unless-stopped
volumes:
- ./data:/data
environment:
- FRIGATE_URL=http://frigate:5000
- DB_PATH=/data/camwatch.db
- SNAPSHOTS_DIR=/data/snapshots
- POLL_INTERVAL=30
labels:
- traefik.enable=true
- traefik.http.routers.camwatch.rule=Host(`camwatch.nas.percolouco.com`)
- traefik.http.routers.camwatch.entrypoints=websecure
- traefik.http.routers.camwatch.tls.certresolver=letsencrypt
- traefik.http.services.camwatch.loadbalancer.server.port=8000
networks:
- proxy
networks:
proxy:
external: true