# NextNVR A simple, single-binary IP camera recorder. Think of it as a dashcam for your property. --- ## Why NextNVR? The open-source NVR landscape is rich with incredible projects — Frigate, Shinobi, ZoneMinder, Blue Iris alternatives — backed by passionate communities. They're powerful. They're feature-packed. But they've also become complex. Docker containers, AI pipelines, multi-service architectures, cloud integrations — for many users, it's too much. **NextNVR is different.** It does one thing: continuously record your IP cameras to disk and let you review the footage. No AI, no cloud, no Docker — just a single Go binary you can run on a Raspberry Pi 5, an old thin client, or a VM. Deploy it in 30 seconds with a one-liner. This project was built with the help of AI — designed through conversation, refined through iteration, and shaped by the simple principle that surveillance software should be boring. It should just work. --- ## Quick Install ```bash curl -sSL https://git.lohmar.co.uk/cclohmar/NextNVR/raw/branch/main/setup.sh | bash ``` That's it. The script installs everything and starts NextNVR automatically. --- ## Supported Systems | Distro | Package Manager | Architecture | |---|---|---| | Debian 12+ / Ubuntu 22.04+ | `apt` | amd64, arm64 | | Fedora 40+ / RHEL 9+ | `dnf` / `yum` | amd64, arm64 | | Arch Linux | `pacman` | amd64, arm64 | | Alpine Linux | `apk` | amd64, arm64 | | Raspberry Pi 5 | any above | arm64 | --- ## What It Does | Feature | Detail | |---|---| | 📹 **Recording** | Up to 8 cameras simultaneously, 5-minute MP4 clips, zero transcoding | | 💾 **Storage** | Flat per-camera directories, 7-day retention, auto-cleanup | | 🖥️ **Live Wall** | 4×2 grid with auto-refreshing snapshots. Click for full live stream | | 🔍 **Playback** | Browse recordings by camera and date with snapshot thumbnails | | ⚙️ **Setup Wizard** | ONVIF auto-discovery scans your network and pre-fills camera details | | 🔒 **100% Local** | Everything runs on your hardware. No cloud, no subscriptions, no telemetry | --- ## Remote Access (Optional) 1. **Dynamic DNS** — use DuckDNS, No-IP, or Cloudflare for a domain name 2. **Port forwarding** — forward port `8080` to the NextNVR server 3. For production, put NextNVR behind a reverse proxy (Zoraxy, Nginx) with HTTPS --- ## Roadmap | Feature | Status | |---|---| | Continuous recording (`-c copy`, zero transcoding) | ✅ Done | | ONVIF auto-discovery + web setup wizard | ✅ Done | | Live wall with snapshot grid + focus view | ✅ Done | | Playback browser with date presets | ✅ Done | | 7-day retention with auto-cleanup | ✅ Done | | **Camera-triggered recording** (ONVIF motion/person detection events via API) | 🔜 Planned | | **NAS/SMB storage support** (record to network share) | 🔜 Planned | | **Multi-platform builds** (Raspberry Pi, ARM SBCs) | 🔜 Planned | ### Not Planned - ❌ Cloud connectivity of any kind - ❌ AI/ML object detection (use your camera's built-in detection) - ❌ Mobile apps (the web UI is responsive and PWA-ready) - ❌ User authentication (put it behind a reverse proxy) --- ## Server Commands ```bash sudo systemctl status nextnvr # is it running? sudo systemctl restart nextnvr # restart sudo journalctl -u nextnvr -f # watch logs ``` Config file: `/opt/nextnvr/config.yaml` Recordings: `/mnt/recordings/` --- ## License MIT — see [LICENSE](LICENSE) Built with ❤️ and AI in Mindelo, Portugal. 🇵🇹