ZoneMinder
Turn ordinary IP cameras, USB webcams, and video files into a self-hosted surveillance system that watches, records, and replays everything from a browser. Every camera becomes a monitor that can capture, analyze, and record around the clock or only when motion appears. Draw detection zones in six types (active, inclusive, exclusive, preclusive, inactive, and privacy) so a visitor on the driveway raises an alarm and swaying trees do not. The Montage view tiles live feeds in selectable layouts, Cycle rotates through them, and the Watch view adds scale, stream quality, and player controls for a single camera. Events arrive in a sortable list with thumbnails, durations, and alarm scores, play back against a timeline, and can be reviewed across every camera in Montage Review. Filters automate housekeeping by archiving, emailing, messaging, uploading, copying, moving, or deleting matching events on a schedule. PTZ controls steer supported cameras. User roles limit who can view or change each monitor, a REST API and MQTT support connect other tools, and the optional event server adds push notifications and object detection through machine-learning hooks. Multi-server installs spread cameras and storage across machines, and the zmNinjaNg app brings the same views to phones and desktops. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. GPL-2.0 licensed.
Deploy