--- title: Shinobi 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=shinobi, https://shinobi.video/] --- # 📹 Shinobi > **NVR open source performant** : enregistreur vidéo réseau avec support multi-caméras, streaming, détection de mouvement et timelapse. ## 📋 Informations Générales | Champ | Valeur | | :--- | :--- | | **Site web** | [shinobi.video](https://shinobi.video/) | | **GitHub** | [ShinobiCCTV/Shinobi](https://github.com/ShinobiCCTV/Shinobi) | | **License** | GPL-2.0 | | **Langage** | Node.js | | **Étoiles GitHub** | 5.4k ⭐ | | **Catégorie** | [[cat-nvr\|NVR]] | ## 📝 Description **Shinobi** (anciennement ZoneMinder Node) est un **NVR moderne écrit en Node.js**. - ✅ **Multi-caméras illimité** : RTSP, MJPEG, HLS - ✅ **Détection mouvement** : par zone, sensibilité - ✅ **Streaming** : HLS, MJPEG, WebSocket - ✅ **Timelapse** : lecture accélérée - ✅ **Multi-tenants** : plusieurs utilisateurs/permissions - ✅ **API REST** complète - ✅ **Apps mobiles** tierces (iOS/Android) - ✅ **Cascade** : chaîner plusieurs instances - ✅ **ONVIF** : découverte caméras - ✅ **Dashboard web** moderne **Différence vs ZoneMinder** : Shinobi = moderne Node.js, multi-tenant, UI soignée. ZoneMinder = vétéran C++/Perl, ultra-stable, plus austère. Pour qui: utilisateurs qui veulent un **NVR moderne** avec API et multi-utilisateurs. ## 🚀 Installation ### Docker Compose (recommandé) ```yaml version: '3.8' services: shinobi: image: shinobisystems/shinobi:latest container_name: shinobi restart: unless-stopped environment: - PLUGIN_KEY_BASE=randomstring-changeme - SUPER_USER=admin@shinobi.video - SUPER_PASS=changeme volumes: - shinobi_config:/config - shinobi_videos:/opt/shinobi/videos - /etc/localtime:/etc/localtime:ro ports: - 9080:8080 labels: - "traefik.enable=true" - "traefik.http.routers.shinobi.rule=Host(`shinobi.example.com`)" - "traefik.http.routers.shinobi.entrypoints=websecure" - "traefik.http.routers.shinobi.tls.certresolver=letsencrypt" db: image: mysql:5.7 container_name: shinobi-db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: changeme MYSQL_DATABASE: ccio MYSQL_USER: ccio MYSQL_PASSWORD: changeme volumes: - shinobi_db:/var/lib/mysql volumes: shinobi_config: shinobi_videos: shinobi_db: ``` ## 🔄 Alternatives ### Open Source - [[app-zoneminder]] — Vétéran stable, C++ - [[app-frigate]] — NVR avec AI detection - [[app-blue-iris]] — Référence Windows (propriétaire) - [[app-viseron]] — NVR Python moderne - [[app-scrypted]] — Hub unifié NVR - [[app-unblink]] — NVR simple ### Propriétaires - **Blue Iris** — Référence Windows, ~70$, propriétaire - **Synology Surveillance Station** — Inclus NAS Synology - **Hikvision iVMS** — Cloud/propriétaire - **Nest Cam / Ring** — Cloud, perte vie privée ## 🔐 Sécurité - **Auth intégrée** : JWT, multi-utilisateurs - **HTTPS obligatoire** via Traefik - **Base MySQL** : à sauvegarder régulièrement - **CVE historiques** : tenir à jour (Node.js, deps) - **Network** : isoler VLAN IoT/caméras - **Pas de 2FA** : à compenser via Authelia - **API tokens** : générer par utilisateur ## 📚 Ressources - [Documentation](https://shinobi.video/docs/) - [Site officiel](https://shinobi.video/) - [Forum](https://shinobi.video/community) ## Pages Liées - [[cat-nvr]] — Catégorie NVR - [[app-frigate]] — Concurrent AI-focused - [[app-zoneminder]] — Concurrent historique - [[recettes-docker-compose]] — Templates Docker - [[cameras-rtsp-compatibles]] — Liste caméras testées