Start here. Documents are grouped by what you are trying to do, in roughly the order you
will need them.
New to LightNVR? Follow this path:
- Install it — requirements, and every installation method
- Log in and complete the required password change. The default is
admin / admin;
a new installation blocks the rest of the UI until you replace it. The web server
listens on all interfaces — see the warning in CONFIGURATION.md.
- Add a camera. Use ONVIF discovery if your cameras support it
(ONVIF_DETECTION.md); otherwise add the RTSP URL by hand.
CAMERAS.md covers what LightNVR needs from a camera and how to find its
RTSP URL reliably.
- Confirm it is recording, then set a retention policy before your disk fills —
CONFIGURATION.md covers storage and retention settings.
- Optional: turn on detection. ZONE_CONFIGURATION.md for
where to look, SOD_INTEGRATION.md for what does the looking.
If something goes wrong at any step, TROUBLESHOOTING.md is the
general guide and TROUBLESHOOTING_WEB_INTERFACE.md
covers a blank or broken web UI specifically.
| Document | What it covers |
|---|
| INSTALLATION.md | Requirements, all install methods, per-platform notes, upgrading, uninstalling |
| DOCKER.md | Container reference: volumes, networking, environment variables, first-run behavior |
| HOME_ASSISTANT.md | The Home Assistant add-on, and how it differs from plain Docker |
| WINDOWS_PODMAN.md | Windows via Podman + WSL2 |
| BUILD.md | Building from source, build flags, cross-compilation |
- User-facing documents live in
docs/. If a document only makes sense to someone
working on LightNVR's internals, it belongs in internal/.
- Documents describe what the code does today. A document that describes a past change
("we refactored X", "the fix for Y") is a historical note — put it in
internal/, where
nobody will mistake it for current guidance.
- When a change alters a default, a port, a path, or a credential, the documentation
changes in the same PR. See RELEASE_PROCESS.md.