Your cameras.
Your storage.
Your rules.
A free, open-source network video recorder that keeps live video and recordings on hardware you control—not in a required cloud account.
- Docker & TrueNAS
- RTSP & ONVIF
- No subscription
A capable NVR without the cloud baggage.
PlainNVR handles the everyday camera workflows you need while leaving ownership of the system—and its data—with you.
Record on your storage
Continuously record or use weekly schedules. Choose segment length and retention per camera, and keep ordinary MP4 files on storage you control.
Low-latency live view
Watch through go2rtc with MSE, HLS, and WebRTC compatibility paths—all behind PlainNVR authentication.
ONVIF discovery & PTZ
Find streams and media profiles, then expose pan, tilt, zoom, presets, and home controls only when the camera supports them.
Playback & export
Browse recording dates and segments, play clips in the browser, download them, or save selected clips from the companion app.
Health that means something
PlainNVR checks for fresh media output—not merely a running process—and restarts stalled recorders or live streams.
Home Assistant ready
Opt in to protected HLS and snapshot endpoints for compatible dashboards and automations—without exposing go2rtc directly.
Start with Docker.
Stay in control.
PlainNVR ships as a self-contained Docker deployment and is also available from the TrueNAS Community catalog.
- 1Choose a host
Any supported Docker host or a TrueNAS system with enough storage for your retention plan.
- 2Start PlainNVR
Clone the repository and launch the Compose stack. Persistent data stays in local directories.
- 3Add an RTSP camera
Test the stream, choose a schedule and retention period, then let PlainNVR record.
$ git clone https://github.com/endless1233214/plainnvr.git
$ cd plainnvr
$ docker compose up --build -d
# Open the local web interface
http://localhost:8787
PlainNVR OS 0.2.3 · Build 14
A bootable AMD64 installer for testing PlainNVR as a dedicated appliance.
Expect bugs, breaking changes, data loss, and possible reinstalls. Do not rely on this build for security-critical monitoring or irreplaceable recordings. Use test hardware and keep independent backups.
Already running PlainNVR OS with A/B slots? Back up first, then select the Preview channel in Settings → Updates to find the signed 0.2.3 update. Install only during a maintenance window; older or modified installs have not had the same end-to-end validation.
Your NVR, wherever you are.
PlainNVR Companion is available on the App Store for iPhone, iPad, and compatible Macs. Connect to the PlainNVR server you choose to watch live video and audio, check recorder health, operate supported PTZ controls, and browse saved clips.
- ✓ Native SwiftUI interface
- ✓ WebRTC with HLS fallback
- ✓ Receive-only camera media
- ✓ No required PlainNVR cloud account
Hardened, documented, and honest about its limits.
Version 0.1.3 limits internal media services, validates origins and input, rate-limits failed authentication, bounds requests and connections, and runs its release container as an unprivileged user. The public audit documents exactly what was—and was not—reviewed.
Put your cameras back on your terms.
Free and open source. Bring the cameras and storage you already own.