3.8 KiB
3.8 KiB
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 |
| GitHub | ZoneMinder/zoneminder |
| License | GPL-2.0 |
| Langage | C++ / Perl / PHP |
| Étoiles GitHub | 5.2k ⭐ |
| Catégorie | cat-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é)
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
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