# ZoneMinder — Open Source Video Surveillance System > ZoneMinder is a self-hosted video surveillance platform for Linux that supports IP cameras, USB cameras, and analog capture cards. It provides motion detection, recording, and a web-based monitoring interface. ## Install Save as a script file and run: # ZoneMinder — Open Source Video Surveillance System ## Quick Use ```bash # Install on Ubuntu 22.04+ sudo apt install zoneminder # Enable and start the service sudo systemctl enable zoneminder sudo systemctl start zoneminder # Configure Apache sudo a2enconf zoneminder sudo systemctl reload apache2 # Access the web console at http://your-server/zm ``` ## Introduction ZoneMinder is a free, open-source video surveillance solution for Linux. It has been actively developed since 2002, making it one of the longest-running open-source CCTV platforms. It supports a wide range of cameras and provides a full-featured web interface for monitoring, recording, and reviewing footage. ## What ZoneMinder Does - Captures video from IP cameras (RTSP/MJPEG), USB webcams, and analog cards - Detects motion using configurable zones and sensitivity thresholds - Records continuously or on triggered events with configurable retention - Provides a responsive web interface for live viewing and playback - Sends alerts via email, SMS, or webhooks when events are detected ## Architecture Overview ZoneMinder runs as a set of cooperating daemons on Linux. The main process (zmc) captures frames from each camera, while analysis daemons (zma) perform motion detection. A MySQL or MariaDB database stores configuration and event metadata. The web frontend is a PHP application served by Apache or Nginx. Video frames are stored on disk as JPEG files or H.264 video segments. ## Self-Hosting & Configuration - Install from distribution packages on Ubuntu, Debian, or CentOS/RHEL - Requires MySQL/MariaDB, Apache or Nginx with PHP, and FFmpeg - Add cameras through the web console by specifying RTSP or MJPEG stream URLs - Configure motion detection zones by drawing regions on the camera view - Set storage paths and retention policies in Options for managing disk usage ## Key Features - Supports hundreds of cameras on a single server with proper hardware - Configurable motion detection with per-camera zone definitions - Event-based recording with pre and post-event frame buffering - Multi-user access with role-based permissions for different camera groups - API access for integration with home automation and third-party apps ## Comparison with Similar Tools - **Frigate** — modern NVR with real-time object detection via Coral TPU but narrower camera support - **Shinobi** — Node.js-based CCTV with a modern UI but smaller community - **Blue Iris** — feature-rich Windows NVR with AI detection but proprietary and Windows-only - **MotionEye** — lightweight Pi-friendly motion detection but fewer enterprise features - **Surveillance Station** — Synology NAS add-on but requires Synology hardware and camera licenses ## FAQ **Q: How many cameras can ZoneMinder handle?** A: It depends on hardware and resolution. A modern server with adequate CPU and storage can handle dozens of cameras. GPU-accelerated decoding helps scale further. **Q: Does ZoneMinder support AI object detection?** A: ZoneMinder integrates with external object detection services like zmeventnotification paired with machine learning models for filtering false positives. **Q: Can I access ZoneMinder remotely?** A: Yes. The web interface works over HTTPS, and mobile apps like zmNinja provide remote viewing and notifications. **Q: Is ZoneMinder suitable for business use?** A: Yes. ZoneMinder is used in small businesses, schools, and residential setups. For large enterprise deployments, consider hardware sizing and network bandwidth. ## Sources - https://github.com/ZoneMinder/zoneminder - https://zoneminder.readthedocs.io/ --- Source: https://tokrepo.com/en/workflows/asset-7c7e8f28 Author: Script Depot