Sign inSign up

hauschi86/cam-motion-tracker

By hauschi86

Updated about 1 month ago

simple motion cam tracker and alter for ip cam

Image
0

95

hauschi86/cam-motion-tracker repository overview

CamWatch

A small web app that connects to a Reolink IP camera, shows a near‑live view, lets you draw a motion‑detection zone on the feed, and raises an alarm on motion or if the stream drops.

  • Live view via the camera's snapshot API (RTSP not required)
  • Draw a detection region with an adjustable sensitivity + live "motion level" meter
  • Red‑alert alarm: full‑screen police‑light flash + 10‑second siren, on‑screen banner, browser notification and event log — with an Accept & skip control (mute 30 / 60 / 90 s) so alarms can't flood
  • Stream‑lost / restored alerts
  • Connection panel: enter camera IP / user / password at runtime (nothing is baked in); reconnects reuse the password held in memory

Architecture

Single shippable container — Caddy serves the Angular SPA and reverse‑proxies /api/* to the Quarkus backend (loopback), which talks to the camera over HTTPS and keeps credentials server‑side.

browser ─▶ Caddy :8080 ─┬─ /        → Angular SPA
                        └─ /api/*   → Quarkus (127.0.0.1:8081) ─▶ Reolink camera

Everything lives under camwatch/: backend/ (Quarkus + Java 21), frontend/ (Angular), and the Dockerfile / Caddyfile for the combined image.

Run (Docker)

cd camwatch
docker build -t camwatch:latest .
docker run --rm -p 8080:8080 camwatch:latest
# open http://localhost:8080, then enter the camera password in the connection panel

Camera defaults can be overridden with CAMERA_BASE_URL, CAMERA_USERNAME, and (optionally) CAMERA_PASSWORD env vars. See camwatch/CONTAINER.md for full details.

Tag summary

Content type

Image

Digest

sha256:e98591696

Size

127.7 MB

Last updated

about 1 month ago

docker pull hauschi86/cam-motion-tracker