Files
wiki/Catalogue-Self-Hosted/apps/app-shinobi.md
T
2026-06-09 18:40:21 +02:00

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

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