Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+124
View File
@@ -0,0 +1,124 @@
---
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