Commit graph

64 commits

Author SHA1 Message Date
86ce14bc5b refactor: no interactive prompts — config.json.sample has defaults, update preserves config 2026-08-06 17:28:46 +01:00
30547fc354 fix: remove auth from first-run wizard, skip empty-name cameras in grid 2026-08-06 17:26:55 +01:00
ef41c29981 fix: move auth collection after config fetch — lexical scope bug 2026-08-06 17:20:15 +01:00
4a9266e249 feat: auth management card in Settings — edit master/viewer, enable/disable 2026-08-06 15:32:10 +01:00
a1f05012b4 fix: graceful stop via systemctl + targeted kill, no pkill -9 2026-08-06 15:23:09 +01:00
7b9902f788 fix: pkill patterns — target binary paths, not script itself 2026-08-06 15:04:03 +01:00
31ea59ceea feat: remove.sh — clean removal for greenfield redeployment 2026-08-06 14:58:47 +01:00
b2e4dface2 refactor: pivot to JSON config — no yaml dependency, jq in bash, greenfield detection 2026-08-06 14:54:43 +01:00
386d3b3858 fix: deploy_nvr.sh downloads go2rtc binary, sets correct config path 2026-08-06 14:40:31 +01:00
02ee23281c feat: config hot-reload — save restarts services automatically 2026-08-06 14:37:02 +01:00
e790855f69 feat: deploy prompts for storage path on first install, preserves on update 2026-08-06 14:30:19 +01:00
49b1b8a5ff fix: config comes from repo clone, fix step numbering 2026-08-06 14:27:58 +01:00
d867e3b976 refactor: storage path in config.yaml only — deploy script no longer prompts 2026-08-06 14:23:56 +01:00
aba58cf1a0 feat: deploy_nvr.sh — stops service before rebuild, update instructions 2026-08-06 14:22:49 +01:00
7c7c920f5e fix: one-liner reads from /dev/tty for interactive prompt, README explains both methods 2026-08-06 14:18:16 +01:00
6f0576d534 fix: inject storage path into existing config, explain interactive vs piped 2026-08-06 14:15:13 +01:00
e61aab2df5 fix: handle non-interactive piped install — default $HOME/nvr_data 2026-08-06 14:09:33 +01:00
1cbf03d384 fix: default storage to $HOME/nvr_data, empty in repo config 2026-08-06 13:55:29 +01:00
b5dcbe9c56 feat: setup.sh asks for storage path, creates directory, injects into config 2026-08-06 13:53:58 +01:00
7a4c97e760 fix: fallback camera name from IP when ONVIF returns no model 2026-08-06 13:20:27 +01:00
c4c9049e24 fix: go2rtc config path absolute, gitignore generated file 2026-08-06 13:16:02 +01:00
872c8c2273 fix: sanitize camera names — spaces → underscores for CLI-safe paths 2026-08-06 13:14:10 +01:00
1e53ffe151 docs: two-port auth, first-run wizard with admin setup 2026-08-06 13:06:33 +01:00
7064829921 feat: first-run auth setup in wizard, auto-hash passwords on save 2026-08-06 13:03:56 +01:00
eaa612278d feat: two-port auth — 8080 with login, 8090 viewer-only (live wall) 2026-08-06 12:56:48 +01:00
d4eada42d8 docs: MIT license, license headers, README with project story and roadmap 2026-08-06 10:48:35 +01:00
cda6ca4785 fix: code review — XSS, credentials 0600, interval leak, path bugs, title, unused imports 2026-08-05 16:13:25 +01:00
09592b90d2 fix: timezone-aware playback presets — ParseInLocation for BST 2026-08-05 14:50:28 +01:00
faf954a59d fix: go2rtc proxied through NextNVR — no port 1984 forwarding needed 2026-08-05 14:42:09 +01:00
66dd4c54b4 fix: clean focus popup — close button bar + fullscreen iframe 2026-08-05 14:38:21 +01:00
c2fb05a9ef fix: iframe focus (PWA-friendly), mobile grid overlap fix 2026-08-05 14:28:46 +01:00
c509ba7eb1 style: responsive mobile UI — 2-col grid, full-width cards, stacked controls 2026-08-05 14:13:58 +01:00
3ded3cc1e8 fix: recorder drop audio (-an) — cameras use pcm_mulaw which MP4 doesn't support 2026-08-05 14:10:08 +01:00
752941f991 docs: add remote access guide with Dynamic DNS + port forwarding 2026-08-05 14:09:52 +01:00
741983ae82 fix: no-cache headers to prevent stale JS, correct go2rtc stream.html URL 2026-08-05 14:02:44 +01:00
03448361da fix: correct go2rtc player URL — stream.html not root 2026-08-05 14:02:00 +01:00
0b5dc7d88e fix: grid tiles open go2rtc WebRTC player directly — real live stream 2026-08-05 13:59:03 +01:00
10666f52d0 fix: focus mode embeds go2rtc WebRTC player iframe — real live video 2026-08-05 13:54:40 +01:00
5d327e61af fix: snapshots via go2rtc frame.jpeg — instant, no RTSP renegotiation 2026-08-05 13:12:02 +01:00
901edcf594 fix: focus mode uses fast JPEG refresh (200ms) — no codec, works everywhere 2026-08-05 13:06:36 +01:00
b68171f370 fix: proxy MJPEG stream through NextNVR to avoid cross-origin blocking 2026-08-05 13:04:44 +01:00
f248b796c6 fix: focus mode uses go2rtc MJPEG stream for real live video 2026-08-05 13:01:22 +01:00
0bc81b5087 fix: focus mode uses fast-refresh JPEG — no codec dependency 2026-08-05 12:51:02 +01:00
31cc243830 fix: focus mode uses go2rtc WebRTC iframe player (HLS not supported in FF) 2026-08-05 12:47:52 +01:00
0104302367 chore: set retention to 7 days — no archival compression 2026-08-05 12:41:58 +01:00
69d3a7c47f feat: v0.3.3 — rec_/snap_ prefix, latest.jpg grid, per-minute archival snapshots 2026-08-05 12:37:51 +01:00
06a1252088 feat: v0.3.2 — disk-based snapshot engine, no go2rtc polling for grid 2026-08-05 12:28:29 +01:00
58fd3307dd fix: stagger snapshot loading to prevent browser request flooding 2026-08-05 12:24:28 +01:00
e93074e459 feat: camera config link in settings, fix all json tags, go2rtc auto-start 2026-08-05 12:22:40 +01:00
8bf32396f6 fix: onvif_port uses json string tag to accept form values 2026-08-05 12:19:26 +01:00