Skip to content
Go to file


Failed to load latest commit information.
Latest commit message
Commit time

We moved to GitLab!

Shinobi CE

GPLv3 + AGPLv3

Shinobi is the Open Source CCTV Solution written in Node.JS. Designed with multiple account system, Streams by WebSocket, and Save to WebM. Shinobi can record IP Cameras and Local Cameras.

Key Aspects

For an updated list of features visit the official website.

  • Time-lapse Viewer (Watch a hours worth of footage in a few minutes)
  • 2-Factor Authentication
  • Defeats stream limit imposed by browsers
    • With Base64 (Stream Type) and JPEG Mode (Option)
  • Records IP Cameras and Local Cameras
  • Streams by WebSocket, HLS (includes audio), and MJPEG
  • Save to WebM and MP4
    • Can save Audio
  • Push Events - When a video is finished it will appear in the dashboard without a refresh
  • Region Motion Detection (Similar to ZoneMinder Zone Detection)
    • Represented by a Motion Guage on each monitor
  • "No Motion" Notifications
  • 1 Process for Each Camera to do both, Recording and Streaming
  • Timeline for viewing Motion Events and Videos
  • Sub-Accounts with permissions
    • Monitor Viewing
    • Monitor Editing
    • Video Deleting
    • Separate API keys for sub account
  • Cron Filters can be set based on master account
  • Stream Analyzer built-in (FFprobe GUI)
  • Monitor Groups
  • Can snapshot images from stream directly
  • Lower Bandwith Mode (JPEG Mode)
    • Snapshot (cgi-bin) must be enabled in Monitor Settings
  • Control Cameras from Interface
  • API
    • Get videos
    • Get monitors
    • Change monitor modes : Disabled, Watch, Record
    • Embedding streams
  • Dashboard Framework made with Google Material Design Lite, jQuery, and Bootstrap

Asking for help

Before asking questions it would nice if you read the docs :)

After doing so please head on over to the Discord community chat for support.

The Issues section is only for bugs with the software. Comments and feature requests may be closed without comment.

Please be considerate of developer efforts. If you have simple questions, like "what does this button do?", please be sure to have read the docs entirely before asking. If you would like to skip reading the docs and ask away you can order a support package :)

Making Suggestions or Feature Requests

You can post suggestions in the Discord #suggestions channel. Please do not treat this channel like a "demands" window. Developer efforts are limited. Much more than many alternatives.

when you have a suggestion please try and make the changes yourself then post a pull request to the dev branch. Then we can decide if it's a good change for Shinobi. If you don't know how to go about it and want to have me put it higher on my priority list you can order a support package :) Pretty Ferengi of me... but until we live in a world without money please support Shinobi :) Cheers!

Help make Shinobi the best Open Source CCTV Solution.

Donate -

Ordering a License, Paid Support, or anything from here will allow a lot more time to be spent on Shinobi.

Order Support -

Why make this?

What others say

"After trying zoneminder without success (heavy unstable and slow) I passed to Shinobi that despite being young spins a thousand times better (I have a setup with 16 cameras recording in FHD to ~ 10fps on a pentium of ~ 2009 and I turn with load below 1.5)."

A Reddit user, /r/ItalyInformatica


"I would suggest Shinobi as a NVR. It's still in the early days but works a lot better than ZoneMinder for me. I'm able to record 16 cams at 1080p 15fps continously whith no load on server (Pentium E5500 3GB RAM) where zm crashed with 6 cams at 720p. Not to mention the better interface."

A Reddit user, /r/HomeNetworking

How to Install and Run

FOR DOCKER USERS : Docker is not officially supported and is not recommended. The kitematic method is provided for those who wish to quickly test Shinobi. The Docker files included in the master and dev branches are maintained by the community. If you would like support with Docker please find a community member who maintains the Docker files or please refer to Docker's forum.

Fast Install (The Ninja Way)

  1. Become root to use the installer and run Shinobi. Use one of the following to do so.

    • Ubuntu 17.04, 17.10
      • sudo su
    • CentOS 7
      • su
    • MacOS 10.7(+)
      • su
  2. Download and run the installer.

bash <(curl -s

Elaborate Installs

Installation Tutorials -

Troubleshooting Guide -


Moe Alam

Follow Shinobi on Twitter

Join the Community Chat

Support the Development

Ordering a certificate or support package greatly boosts development. Please consider contributing :)


Documentation -

Donate -

Tested Cameras and Systems -

Features -

Reddit (Forum) -

YouTube (Tutorials) -

Discord (Community Chat) -

Twitter (News) -

Facebook (News) -

You can’t perform that action at this time.