u/spupuz

▲ 1 r/docker

VibeNVR v1.27.x – Docker-native open-source NVR: ONVIF Edge Motion, WebCodecs Audio, zero cloud dependency

Hi r/docker,

Sharing a project I've been working on: VibeNVR, an open-source NVR (Network Video Recorder) designed to run natively via Docker Compose with zero external cloud dependency.

🔗 https://vibenvr.org | 🐈 MIT | 🔗 https://github.com/spupuz/VibeNVR

Just released v1.27.0 + v1.27.1. Here's what's relevant for Docker users.


Quick Docker setup

git clone https://github.com/spupuz/VibeNVR
cd VibeNVR
cp .env.example .env
docker compose up -d

The stack is backend + frontend + engine, all containerised. Local storage only, no external services required.


What's new in v1.27.0 – Hardware-First Revolution

ONVIF Edge Motion (Zero-CPU Detection) VibeNVR now subscribes to the camera's own ONVIF PullPoint events instead of doing pixel-level motion analysis on the container. The camera's AI/chipset does the work. CPU usage for motion detection on the NVR container drops to near-zero, and Rising-Edge logic cuts motion-event network traffic by ~90%.

Auto-Rebind Lost ONVIF subscriptions auto-repair every 4 minutes — no container restart needed.

High-Fidelity Live Audio (WebCodecs) New audio pipeline using the browser's native WebCodecs API. Audio and video are decoupled — an audio hiccup won't freeze the live stream.

Deep Camera Asset Management Manufacturer, model, firmware, serial and hardware ID pulled from camera via ONVIF and stored in the local DB. Useful for fleet management dashboards.

Advanced PTZ & Intelligent Home Smart 3-stage Home fallback, joystick-like mobile controls, auto-hiding of unsupported PTZ controls.

Security hardening RTSP/ONVIF credentials auto-redacted from container logs. Privacy masks enforce transcoding. RBAC audit passed (26/26 tests).


What's new in v1.27.1 – Self-Healing & Stability

Self-Healing Motion Engine On container startup, an automatic DB migration corrects legacy Off motion states to Always, fixing a silent regression where cameras configured for motion recording ignored all events after upgrading from v1.26.x.

ONVIF Session Hardening 5-second async cooldown on subscription re-binding. Eliminates "Subscription Limit Full" errors on Tapo and Reolink when the container restarts faster than the camera firmware can clean up stale sessions.

Fail-Safe Sync Engine now skips invalid motion states instead of halting, ensuring the recording pipeline stays alive through transient DB issues.


Significant effort went into making this truly container-friendly — clean startup/shutdown, proper signal handling, and an upgrade path that self-heals without manual intervention. Would love feedback from Docker power users.

🔗 Website: https://vibenvr.org 🔗 Release: https://github.com/spupuz/VibeNVR/releases/tag/v1.27.1

reddit.com
u/spupuz — 3 days ago

VibeNVR v1.27.x – self-hosted open-source NVR: ONVIF Edge Motion, Live Audio, advanced PTZ, no cloud

Hey r/selfhosting,

I'm the developer of VibeNVR, an open-source, self-hosted NVR I've been building for the past year. The whole point of the project is simple: your cameras, your data, your server — no cloud account required, no subscription, no telemetry.

🏠 https://vibenvr.org | 🐈 MIT License | 🔗 https://github.com/spupuz/VibeNVR

Just released v1.27.0 and v1.27.1, which I think are the most significant releases so far. Here's a summary.


What is VibeNVR?

A lightweight NVR stack (backend + frontend + engine) that you can run via Docker Compose, bare metal + docker, or a Proxmox LXC+docker. It supports:

  • RTSP/ONVIF cameras (Tapo, Reolink, Hikvision, Dahua, UniFi, etc.)
  • Motion-triggered and continuous recording
  • Live streaming with low-latency WebRTC/HLS
  • PTZ control, privacy masks, multi-user RBAC
  • Local storage, no external dependencies

v1.27.0 – Hardware-First Revolution

The big theme: stop doing in software what the camera hardware already does better.

ONVIF Edge Motion (Zero-CPU Detection) VibeNVR now subscribes to the camera's native ONVIF PullPoint event stream. The camera's own AI/chipset handles motion detection — the NVR just listens for state changes (Rising-Edge logic). This cuts NVR CPU usage for motion to near-zero and reduces motion-event network traffic by ~90%.

Auto-Rebind Lost ONVIF subscriptions are automatically repaired every 4 minutes. Crucial for budget hardware that drops subscriptions silently.

High-Fidelity Live Audio via WebCodecs Direct PCM (ALAW/ULAW) decoding in the browser. Audio and video pipelines are fully independent — a glitch in audio no longer affects the video stream.

Deep Camera Asset Management VibeNVR now reads and persists: manufacturer, model, firmware version, serial number, hardware ID. Handy for managing a mixed fleet.

Advanced PTZ & Intelligent Home Smart 3-stage Home fallback (native command → existing preset → on-the-fly preset creation). Mobile touch controls via PointerEvents (joystick feel). UI auto-hides controls your camera doesn't support.

Security hardening Credentials redacted from all logs. Privacy masks enforce transcoding. Full RBAC Viewer/Admin audit (26/26 tests passed).


v1.27.1 – Self-Healing Stability

Focused on hardening the upgrade path from v1.26.x.

Self-Healing Motion Engine Automatic DB migration on startup: promotes any legacy Off motion state to Always. Fixes a silent bug where cameras were configured for motion recording but ignored all events after upgrading.

ONVIF Session Hardening 5-second async cooldown on subscription re-binding. Eliminates the "Subscription Limit Full" error common on Tapo and Reolink firmware when VibeNVR reconnects too fast.

Fail-Safe Recording Sync Engine now safely ignores malformed motion states rather than halting, ensuring recording continuity even with transient DB inconsistencies.


A lot of effort went into this — especially the low-level ONVIF protocol work, the DB migration strategy and real-world testing across a dozen different camera models. If you self-host your cameras and want full control, give it a try.

🔗 Website & docs: https://vibenvr.org 🔗 Latest release: https://github.com/spupuz/VibeNVR/releases/tag/v1.27.1

Feedback, issues and PRs are very welcome!

reddit.com
u/spupuz — 3 days ago