// the find
roflcoopter/viseron
Self-hosted, local only NVR and AI Computer Vision software. With features such as object detection, motion detection, face recognition and more, it gives you the power to keep an eye on your home, office or any other place you want to monitor.
Viseron is a self-hosted NVR that runs entirely locally — no cloud, no subscriptions. It wires together ffmpeg, YOLO, Google Coral, dlib, and a handful of other detection backends into a single Docker container with a web UI. Aimed at developers and homelabbers who want real computer vision on their own hardware without shipping footage to someone else's server.
The component architecture is genuinely well thought out — you pick your camera input (ffmpeg, gstreamer, go2rtc), your detector (YOLO, edgeTPU, darknet, Hailo), and your notifier (MQTT, Telegram, Discord, webhook) independently, which means you can swap hardware without rewriting config. Hardware acceleration is a first-class concern: separate Dockerfiles per target (amd64-cuda, aarch64, Jetson Nano, RPi3, Hailo) rather than one bloated image that half-works everywhere. The event timeline UI with download-by-timespan is the kind of thing most NVR projects skip entirely. Active development — last push June 2025, consistent commit history, real CI pipelines on Azure.
The build complexity is brutal: separate Dockerfiles for ffmpeg, OpenCV, dlib, and wheels per platform means if something breaks in the dependency chain you're debugging Azure Pipelines YAML on a Friday night. Face recognition and license plate recognition depend on dlib and external services (CompreAI, DeepStack) that have their own setup overhead — not plug-and-play. The config is YAML-heavy and the documentation, while present, requires reading carefully before anything works; there's no 'works out of the box with a single IP camera' path. Storage management docs exist but the retention/cleanup behavior is not obvious from the config, which will bite people who run it on a small disk.