128 lines
3.8 KiB
Markdown
128 lines
3.8 KiB
Markdown
---
|
|
title: ZoneMinder
|
|
created: 2026-06-08
|
|
updated: 2026-06-08
|
|
type: app
|
|
tags: [catalogue, nvr, app-marathon-batch-c]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=NVR&app=zoneminder, https://zoneminder.com/]
|
|
---
|
|
|
|
# 📹 ZoneMinder
|
|
|
|
> **Vétéran des NVR open source** : depuis 2003, support massif de caméras IP/USB, Linux natif, ultra-stable.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [zoneminder.com](https://zoneminder.com/) |
|
|
| **GitHub** | [ZoneMinder/zoneminder](https://github.com/ZoneMinder/zoneminder) |
|
|
| **License** | GPL-2.0 |
|
|
| **Langage** | C++ / Perl / PHP |
|
|
| **Étoiles GitHub** | 5.2k ⭐ |
|
|
| **Catégorie** | [[cat-nvr\|NVR]] |
|
|
|
|
## 📝 Description
|
|
|
|
**ZoneMinder** est le **NVR open source le plus ancien** (2003), toujours activement maintenu.
|
|
|
|
- ✅ **Linux natif** : Ubuntu, Debian, Fedora, Arch
|
|
- ✅ **Multi-caméras** : IP, USB, RTSP, ONVIF
|
|
- ✅ **Détection mouvement** : par zones, filtrage fausses alertes
|
|
- ✅ **Enregistrement** : continu, motion, schedule
|
|
- ✅ **API + WebSocket** : intégrations
|
|
- ✅ **ZM NVR (zmNinja)** : app mobile populaire
|
|
- ✅ **zmeventnotification** : hook scripts, ML detection
|
|
- ✅ **Stable** : testé sur des millions de serveurs
|
|
- ✅ **MySQL/MariaDB** : stockage événements
|
|
- ⚠️ **UI austère** : fonctionnel mais pas moderne
|
|
- ⚠️ **Config complexe** : doc à connaître
|
|
|
|
**Différence vs Frigate** : ZoneMinder = mature, généraliste, CPU. Frigate = moderne, AI-first, GPU recommandé. Pour qui: utilisateurs Linux qui veulent **un NVR éprouvé** sans GPU.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Docker Compose (recommandé)
|
|
|
|
```yaml
|
|
version: '3.8'
|
|
services:
|
|
zoneminder:
|
|
image: zoneminderhq/zoneminder:latest
|
|
container_name: zoneminder
|
|
restart: unless-stopped
|
|
environment:
|
|
- TZ=Europe/Paris
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- ZM_DB_HOST=db
|
|
volumes:
|
|
- zoneminder_data:/config
|
|
- zoneminder_events:/var/cache/zoneminder/events
|
|
ports:
|
|
- 9081:80
|
|
depends_on:
|
|
- db
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.zoneminder.rule=Host(`zm.example.com`)"
|
|
- "traefik.http.routers.zoneminder.entrypoints=websecure"
|
|
- "traefik.http.routers.zoneminder.tls.certresolver=letsencrypt"
|
|
|
|
db:
|
|
image: mysql:8.0
|
|
container_name: zoneminder-db
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: changeme
|
|
MYSQL_DATABASE: zm
|
|
MYSQL_USER: zmuser
|
|
MYSQL_PASSWORD: changeme
|
|
volumes:
|
|
- zoneminder_db:/var/lib/mysql
|
|
|
|
volumes:
|
|
zoneminder_data:
|
|
zoneminder_events:
|
|
zoneminder_db:
|
|
```
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-shinobi]] — NVR Node.js moderne
|
|
- [[app-frigate]] — NVR avec AI native
|
|
- [[app-viseron]] — NVR Python simple
|
|
- [[app-scrypted]] — Hub unifié
|
|
- [[app-unblink]] — NVR simple
|
|
- [[app-blue-iris]] — Référence Windows (propriétaire)
|
|
|
|
### Propriétaires
|
|
- **Blue Iris** — Référence Windows, ~70$
|
|
- **Synology Surveillance Station** — Inclus NAS
|
|
- **Hikvision iVMS** — Cloud
|
|
- **Milestone XProtect** — Enterprise
|
|
|
|
## 🔐 Sécurité
|
|
- **Auth intégrée** : login/password, **2FA non natif**
|
|
- **HTTPS** : obligatoire via Traefik
|
|
- **MySQL** : sauvegarder régulièrement
|
|
- **API** : tokens à générer
|
|
- **CVE anciens** : tenir à jour (Perl/PHP)
|
|
- **Network** : VLAN IoT pour caméras
|
|
- **Logs** : filtrer les accès
|
|
|
|
## 📚 Ressources
|
|
- [Site officiel](https://zoneminder.com/)
|
|
- [Documentation](https://zoneminder.readthedocs.io/)
|
|
- [zmNinja (mobile)](https://github.com/pliablepixels/zmNinja)
|
|
|
|
## Pages Liées
|
|
- [[cat-nvr]] — Catégorie NVR
|
|
- [[app-frigate]] — Concurrent moderne
|
|
- [[app-shinobi]] — Concurrent Node.js
|
|
- [[recettes-docker-compose]] — Templates Docker
|
|
- [[cameras-rtsp-compatibles]] — Liste caméras
|