Viseron: Set Up Your Own Free Local CCTV NVR Using Docker (Step-by-Step Tutorial)

Viseron: Set Up Your Own Free Local CCTV NVR Using Docker (Step-by-Step Tutorial)

Viseron is an open-source self-hosted CCTV and local-first NVR solution with AI-powered computer vision support.

It comes with amazing powerful features as Object detection, motion detection, face recognition, image classification, and supports hardware acceleration.

Key features

  • Object Detection: YOLOv3/v4/v7 (OpenCV), Tensorflow (Google Coral EdgeTPU), CodeProject.AI
  • Motion Detection & Face Recognition: CompreFace, CodeProject.AI, dlib
  • Image Classification & License Plate Recognition: Tensorflow, CodeProject.AI
  • Web UI: TypeScript React, mobile-friendly
  • Home Automation: MQTT support & Home Assistant Discovery
  • Hardware Acceleration: CUDA, OpenCL, RaspberryPi, Jetson Nano, Intel VA-API
  • Recording Optimization: Lookback recording, zones, and masks
  • Platform Support: RaspberryPi, Jetson Nano, amd64, aarch64, armhf Linux devices.
  • Rich ecosystem with dozens of components
  • Web frontend for easier control
  • Configuration editor
  • Built-in NVR (Network Video Recorder)
  • Easy to configure
  • Supports multiple camera types including IP-cameras

Install Viseron NVR using Docker

Viseron's development team made it easy for anyone to install Viseron using Docker, they are ready for almost all architecture including a custom image for Raspberry Pi.

In the following table you will find all official Viseron's NVR images with features each:

Viseron Image Options and Their Benefits

Image Architecture Description & Benefits
roflcoopter/viseron Multiarch Supports multiple architectures, ideal for mixed-environment deployments.
roflcoopter/aarch64-viseron aarch64 Optimized for aarch64 devices; includes Raspberry Pi 4 hardware-accelerated decoding.
roflcoopter/amd64-viseron amd64 Standard amd64 image for most generic x86_64-based systems.
roflcoopter/amd64-cuda-viseron amd64 Adds CUDA support, perfect for systems with NVIDIA GPUs for enhanced video processing.
roflcoopter/rpi3-viseron armhf Tailored for Raspberry Pi 3 with hardware-accelerated decoding and encoding.
roflcoopter/jetson-nano-viseron aarch64 Leverages Jetson Nano’s CUDA, GStreamer, and FFmpeg acceleration for high-performance tasks.

These tailored images ensure efficient performance on specific hardware, maximizing the use of hardware acceleration and making Viseron adaptable across diverse setups.

You can also use Docker-compose to run any of these images.

Running Viseron on Linux 64-bit

docker run --rm \
  -v {recordings path}:/recordings \
  -v {config path}:/config \
  -v /etc/localtime:/etc/localtime:ro \
  -p 8888:8888 \
  --name viseron \
  roflcoopter/viseron:latest

Install and running Viseron on Intel NUC or any machine with VAAPI support

docker run --rm \
  -v {recordings path}:/recordings \
  -v {config path}:/config \
  -v /etc/localtime:/etc/localtime:ro \
  -p 8888:8888 \
  --name viseron \
  --device /dev/dri \
  roflcoopter/viseron:latest

Running on Linux with NVIDIA GPU support

You have to make sure that NVDIA Docker is install on your system

docker run --rm \
  -v {recordings path}:/recordings \
  -v {config path}:/config \
  -v /etc/localtime:/etc/localtime:ro \
  -p 8888:8888 \
  --name viseron \
  --runtime=nvidia \
  roflcoopter/amd64-cuda-viseron:latest

On Raspberry Pi 4

docker run --rm \
  --privileged \
  -v {recordings path}:/recordings \
  -v {config path}:/config \
  -v /etc/localtime:/etc/localtime:ro \
  -v /dev/bus/usb:/dev/bus/usb \
  -v /opt/vc/lib:/opt/vc/lib \
  -p 8888:8888 \
  --name viseron \
  --device=/dev/video10:/dev/video10 \
  --device=/dev/video11:/dev/video11 \
  --device=/dev/video12:/dev/video12 \
  --device /dev/bus/usb:/dev/bus/usb \
  roflcoopter/viseron:latest
Viseron is quite RAM intensive, mostly because of the object detection.
I do not recommend using an RPi unless you have a Google Coral EdgeTPU.
The CPU is not fast enough and you might run out of memory.

On Raspberry Pi 3

docker run --rm \
  --privileged \
  -v {recordings path}:/recordings \
  -v {config path}:/config \
  -v /etc/localtime:/etc/localtime:ro \
  -v /opt/vc/lib:/opt/vc/lib \
  -p 8888:8888 \
  --name viseron \
  --device /dev/vchiq:/dev/vchiq \
  --device /dev/vcsm:/dev/vcsm \
  --device /dev/bus/usb:/dev/bus/usb \
  roflcoopter/viseron:latest

Beyond its amIn this tutorial we will go thru install Viseron NVR system on Ubuntu Linux using Docker and the on Raspberry Pi.

Resources & Downloads

Homepage | Viseron
Self-hosted, local only NVR and AI Computer Vision software.
Components | Viseron
List of components that are available in Viseron.
GitHub - 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.
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…

Top 8 Free CCTV Solutions For Home Security and Small Businesses
What is an open-source CCTV? An open-source CCTV system is a type of security camera system that is developed using open-source software. This means that the source code for the software is freely available to the public, allowing developers to modify and improve upon the system as needed. Open-source CCTV
13 Free and Open-source NVR (Network Video Recorder) Solutions for Windows, Linux and macOS in 2024
NVRs (Network Video Recorders) Systems, What are they? NVRs (Network Video Recorders) are systems that record video from IP cameras over a network, storing footage digitally for easy access and review. They are crucial in video surveillance as they provide centralized storage, management, and playback of video feeds, enhancing security
Best 20 Free Open-source CCTV, NVR and DVR solutions
CCTV or closed-circuit television system makes use of camera networks and monitor to watch and monitor of interior and exterior of a property. Companies, museums, art galleries, and houses are using CCTV networks for video surveillance and security. There are dozens of commercial CCTV software packages.However, as they vary
SurvAce: Free NVR system with Low Footprint
SurvAce is a free powerful yet lightweight software solution designed to act as a video surveillance system. It works seamlessly with any surveillance camera that streams h264 encoded video via RTSP stream. SurvAce provides essential surveillance features without the need for expensive hardware, making it an accessible choice for anyone
VigilantPI: Free Libre NVR System for IP-Cameras on RaspberryPi
Vigilant is an open source Network Video Recorder (NVR) system that focuses on supporting IP cameras, with Raspberry Pi being its primary target platform. This system can record any URL supported by the popular multimedia framework, ffmpeg. Moreover, Vigilant offers several HTTP hooks that can be utilized to address the
Revolutionize Your Video Surveillance with a Web-Based Open-Source NVR with Object Detection
This is an open-source web-site self-hosted network video recorder (NVR) web application that allows you to monitor your IP security camera network, record camera feeds to your computer’s hard drive, and monitor motion events through a web app. It supports one or multiple cameras, offers object detection tagging/filtering, and
Motion and MotionPlus is Your to Go Free CCTV and NVR System
Motion and MotionPlus are highly configurable software programs designed to monitor video signals from various types of cameras and perform specified actions upon detecting movement. Motion, the original software, has been in use since 2000, offering a robust solution for video monitoring needs. MotionPlus is a newly developed application built







Open-source Apps

9,500+

Medical Apps

500+

Lists

450+

Dev. Resources

900+