selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

lightNVR logo

Self-host lightNVR

0.44.3

Lightweight NVR with WebRTC streaming and object detection

ReleaseOpen CoreGPL-3.0
Updated11 hours ago
LanguageC
Setup difficultyModerate
MobileResponsive
ThemeDark mode
Stars
288
CPU
Any Linux-compatible processor (ARM, x86, MIPS, etc.)
RAM
256MB RAM minimum (more recommended for multiple streams)
Storage
Any storage device accessible by the OS
Ports
8080 (Web UI (HTTP)), 8554 (RTSP streaming), 8555 (WebRTC (TCP/UDP)), 1984 (Internal go2rtc API (loopback only))
Requires
Go2rtc, SQLite
Docker
ghcr.io/opensensor/lightnvr
Install with Docker
LightNVR Live View with Retro 80s theme in dark modeWebRTC live streams interfaceHLS live streams interfaceStream management pageRecording management pageRecording playback with video player modalSettings management pageSystem information pageDetection zone editor with polygon drawingDetection zones configuration in stream settings

What is lightNVR?

LightNVR is a lightweight network video recorder designed to run efficiently on resource-constrained Linux devices such as Raspberry Pi and other SBCs with as little as 256MB RAM. Written in C with a Preact/Tailwind web UI, it handles multiple IP camera streams via RTSP and ONVIF, recording to standard MP4/MKV containers. The streaming backbone is go2rtc, providing ultra-low-latency WebRTC and compatible HLS playback with automatic NAT traversal. Object detection uses an external API (typically light-object-detect) supporting ONNX and TFLite models with visual polygon-based detection zones. The UI offers 8 color themes with light/dark modes and adjustable intensity. It supports TOTP two-factor authentication, MQTT event streaming for Home Assistant integration, and Prometheus metrics. Deployment options include Docker, Docker Compose, native systemd service, and a Home Assistant add-on. Commercial licenses are available for organizations that cannot comply with GPL-3.0.

Should you self-host lightNVR?

lightNVR scores 49/100 on selfhost.directory (how scoring works) and ranks #14 of 24 in Video Surveillance. It has 288 GitHub stars.

It shipped 21 stable releases in the past year. The latest, 0.44.3, came out on 27 October 2026. New versions land roughly every 3 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is GPL-3.0-licensed and written mostly in C.

Its closest alternative on selfhost.directory is OpenNVR (45/100, 183 stars). lightNVR scores higher overall. See lightNVR vs OpenNVR side by side.

Features

  • Configurable Resolution and Frame Rate
  • Demo Mode
  • Detection Zones
  • H.264/H.265 codec support
  • HLS Streaming
  • MQTT Event Streaming
  • Multi-stream Support
  • Object Detection
  • ONVIF Motion Events
  • Prometheus Metrics
  • RTSP and ONVIF Support
  • Storage Management
  • TOTP two-factor authentication
  • WebRTC Streaming

lightNVR README

How to install lightNVR

Install lightNVR with Docker

Docker installed
Environment variables
TZ, GO2RTC_CONFIG_PERSIST, LIGHTNVR_ONVIF_NETWORK

docker pull ghcr.io/opensensor/lightnvr:latest docker run -d --name lightnvr --restart unless-stopped -p 8080:8080 -p 8554:8554 -p 8555:8555 -p 8555:8555/udp --security-opt no-new-privileges --cap-drop ALL -v lightnvr-config:/etc/lightnvr -v lightnvr-database:/var/lib/lightnvr/data/database -v lightnvr-recordings:/var/lib/lightnvr/data/recordings -v lightnvr-models:/var/lib/lightnvr/data/models -e TZ=America/New_York ghcr.io/opensensor/lightnvr:latest

Manual docker run with named volumes for persistence

lightNVR releases & version history

More in Video Surveillance

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…