3.8 KiB
3.8 KiB
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 |
| GitHub | ShinobiCCTV/Shinobi |
| License | GPL-2.0 |
| Langage | Node.js |
| Étoiles GitHub | 5.4k ⭐ |
| Catégorie | cat-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é)
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
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