LightNVR on Home Assistant
August 17, 2026 · View on GitHub
Verified against LightNVR 0.37.x.
If you run Home Assistant OS or Supervised, LightNVR is available as an add-on. You get it from the Add-on Store, it starts with the rest of your system, its config and database ride along in your Home Assistant backups, and its detections can drive automations.
The add-on lives in its own repository: opensensor/lightnvr-hassio-addons
Is the add-on the right choice?
| Add-on | Plain Docker | |
|---|---|---|
| Home Assistant OS / Supervised | ✅ Use this | Not possible — no Docker access |
| Home Assistant Container / Core | Not available | ✅ DOCKER.md |
| Separate machine or NAS | — | ✅ DOCKER.md |
An NVR is I/O-heavy and runs continuously. If your Home Assistant box is a small Pi that is already busy, running LightNVR somewhere else and integrating over MQTT is the better setup — the add-on is a convenience, not a requirement.
Architecture note: the add-on is built for amd64 and aarch64 only. Home Assistant
dropped 32-bit ARM in 2025.12, so a 32-bit Pi OS install cannot run it. The upstream image
still publishes arm/v7 for plain Docker users.
Install
-
Settings → Add-ons → Add-on Store
-
⋮ menu (top right) → Repositories
-
Add
https://github.com/opensensor/lightnvr-hassio-addons(or click the badge above, which does steps 1–3 for you)
-
Find LightNVR in the store → Install → Start
-
Open Web UI
The install pulls the published multi-arch image and layers a thin launcher on it. No compilation — a minute or two depending on your connection.
⚠️ The default credentials are
admin/admin, and the add-on runs with host networking, so the web UI is reachable from anywhere on your LAN the moment it starts. Change the password under Settings → Users before you do anything else.
What the add-on does differently
If you have read DOCKER.md, these are the four places the add-on deviates. Everything else about LightNVR behaves identically.
Port 7800, not 8080. 8080 is contended on a typical Home Assistant host, so the add-on
defaults its web UI to 7800. The Open Web UI button is pinned to that default — if you
change web_port, browse to http://<host-ip>:<your-port>/ directly instead.
Host networking. Required, not cosmetic: ONVIF WS-Discovery and mDNS are multicast and do not survive a bridge network, and go2rtc's WebRTC candidates need to be directly reachable for live view to connect. The consequence is that LightNVR's ports appear on the host itself — 7800, 8554 RTSP, 8555 TCP+UDP WebRTC, and 1984 for the go2rtc API.
Recordings live outside backups. This is the important one:
| Data | Location | In Home Assistant backups |
|---|---|---|
| Config, go2rtc config | add-on /data/config | ✅ Yes |
| SQLite database | add-on /data/lib/database | ✅ Yes |
| Detection models | add-on /data/lib/models | ✅ Yes |
| Recordings | /media/lightnvr/recordings | ❌ No |
Recordings go under Home Assistant's media folder deliberately — a week of continuous
video would otherwise land in every backup you take. Your settings and database are
backed up. Recordings survive updates and even an uninstall; delete /media/lightnvr
by hand if you want the space back.
Camera discovery needs your subnet. If ONVIF discovery comes up empty, set the
onvif_network option to your camera network in CIDR form (192.168.1.0/24) and restart.
Configuration
Add-on options are documented in
the add-on's DOCS.md
— web_port, max_streams, go2rtc_config_persist, onvif_network, and timezone. That
page is the authoritative reference and tracks the add-on's own releases.
Everything else — streams, detection, zones, retention — is configured inside LightNVR's web UI, exactly as documented in CONFIGURATION.md and ZONE_CONFIGURATION.md. The add-on options only cover what has to be decided before the process starts.
Feeding detections into Home Assistant
Installing the add-on gets you a recorder next to Home Assistant; it does not by itself make Home Assistant aware of anything. For that, point LightNVR's MQTT integration at your broker (the Mosquitto add-on works) and detections become events you can automate on — turn on lights when a person is detected, send a notification with the snapshot, and so on.
See MQTT Integration → Home Assistant for the broker setup, topic layout, and ready-made automation and MQTT-camera examples.
Updating
Add-on updates appear in the Add-on Store like any other. Config, database, and recordings all live on Home Assistant-managed storage, so they carry across updates untouched.
Getting help
- Something wrong with the NVR — streams, recording, detection, the web UI: opensensor/lightnvr/issues
- Something wrong with the packaging — install fails, add-on will not start, options not applying: opensensor/lightnvr-hassio-addons
The add-on Log tab is the first place to look either way; the launcher prints the resolved storage paths on start. TROUBLESHOOTING.md applies to everything above the packaging layer.