Repolode
spupuz

spupuz/VibeNVR

Self-hosted, Docker-based video surveillance (NVR) for IP cameras with local recording, motion detection, AI object detection and an event timeline.

Open-source alternative to:Synology Surveillance StationBlue Iris

Stars
416
Forks
32
Open issues
1
Last commit
yesterday

What is it?

VibeNVR is a containerized network video recorder for managing IP cameras. It ingests RTSP streams through a custom Python engine built on PyAV and FFmpeg, records continuously or on motion, and presents recordings and snapshots in a unified event timeline with filters for camera, event type, detected objects, and date.

Motion detection can use OpenCV, ONVIF edge detection on the camera, Hikvision ISAPI classification, or TFLite-based AI models such as YOLOv8 and MobileNet SSD v2, with optional Google Coral Edge TPU acceleration. The web interface is built with React and supports live view over WebCodecs, MSE, or MJPEG, plus PTZ control, camera discovery, and MQTT integration with Home Assistant.

Storage can be local or on SFTP, with FIFO cleanup, quotas, and tiered archival. Access control uses JWT, optional SSO and 2FA, and per-camera VIEW, REPLAY, and CONTROL permissions. The stack runs on PostgreSQL or SQLite and ships with Docker Compose files for amd64 and arm64.

Key features

  • 01Continuous and motion-triggered recording of RTSP IP cameras.
  • 02Motion detection via OpenCV, ONVIF edge, Hikvision ISAPI, or AI models like YOLOv8.
  • 03Event timeline with filters for camera, event type, object, and date.
  • 04Live view over WebCodecs, MSE, or MJPEG with PTZ control.
  • 05Local or SFTP storage with automatic cleanup, quotas, and archival.
  • 06Per-camera RBAC permissions, JWT login, SSO, and 2FA.
  • 07MQTT service with Home Assistant discovery.

Use cases

  • Running a home security system on a Raspberry Pi or mini PC with local recordings.
  • Replacing a cloud camera subscription with self-hosted storage.
  • Monitoring multiple sites from one master instance via federation.
  • Integrating camera motion and object events into Home Assistant automations.

Quick start

  1. 1

    Install Docker and Docker Compose V2

  2. 2

    Clone the repository

    git clone https://github.com/spupuz/VibeNVR.git
  3. 3

    Enter the project directory and set secure values in .env

    cd VibeNVR
  4. 4

    Start the service with the production compose file

    docker compose -f docker-compose.prod.yml up -d

Things to know

  • Requires Docker and Docker Compose, so setup depends on container know-how.
  • Labelled a vibe coding project, so expect stability caveats and check release notes before updating.
  • Hardware acceleration and AI detection features depend on the host hardware.

Topics

FAQ

What is VibeNVR?
Self-hosted, Docker-based video surveillance (NVR) for IP cameras with local recording, motion detection, AI object detection and an event timeline. VibeNVR is a containerized network video recorder for managing IP cameras. It ingests RTSP streams through a custom Python engine built on PyAV and FFmpeg, records continuously or on motion, and presents recordings and snapshots in a unified event timeline with filters for camera, event type, detected objects, and date.
Is VibeNVR free to use? What license does it have?
VibeNVR is open source under the MIT license. Check the license terms before using it in commercial products.
Is VibeNVR still maintained?
Actively maintained. The last commit to VibeNVR was on Oct 19, 2026.
What can I use VibeNVR for?
Running a home security system on a Raspberry Pi or mini PC with local recordings. Replacing a cloud camera subscription with self-hosted storage. Monitoring multiple sites from one master instance via federation. Integrating camera motion and object events into Home Assistant automations.
How do I install VibeNVR?
Install Docker and Docker Compose V2 Clone the repository: git clone https://github.com/spupuz/VibeNVR.git Enter the project directory and set secure values in .env: cd VibeNVR Start the service with the production compose file: docker compose -f docker-compose.prod.yml up -d
Where can I get VibeNVR?
The source code and installation instructions are on GitHub: https://github.com/spupuz/VibeNVR

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects