Shinobi IP Camera Monitoring

From SME Server
(Difference between revisions)
Jump to: navigation, search
(Created page with "==Shinobi== Shinobi is a node/javascript based web cam monitoring system If you use the 'easy' install then it installs...")

Latest revision as of 14:11, 13 September 2017


[edit] Shinobi

Shinobi is a node/javascript based web cam monitoring system

If you use the 'easy' install then it installs the Pro paid for version and a licence is required.

Manual install from git is the 'Demo' version

[edit] Installation

There are installation scripts but not for CentOS 6

Get static ffmpeg

Uncompress and copy to /usr/bin

Add the node repo

/sbin/e-smith/db yum_repositories set nodejs \
repository Name 'Node JS 7' \
BaseURL \
EnableGroups no GPGCheck no Visible yes status disabled
 signal-event yum-modify
 yum --enablerepo nodejs install nodejs
 npm cache clean -f
 npm install -g n
 n stable

May not be required:

 ln -s /usr/bin/nodejs /usr/bin/node

Make a git directory

 mkdir -p /opt/git
 cd /opt/git
 git clone

Edit the following and modify any instances of utf8mb4 to utf8

 mysql -u root -e "source sql/user.sql"
 mysql -u root -e "source sql/framework.sql"

Edit sql/default_data.sql

Modify the user. Leave the password which will default:

Default Password : password

Unless required remove the INSERT INTO `Monitors` line

 mysql -u root -e "source sql/default_data.sql

NPM installation:

 npm install
 npm install pm2 -g

Setup the conf file:

cp conf.sample.json conf.json

Now edit conf.json

Modify port as required Modify mail as required (not sure of the correct syntax here)

[edit] Starting

Everything is run and monitored by PM2:

   pm2 start camera.js
   pm2 start cron.js

View current jobs:

   pm2 list

You can start and stop with

   pm2 restart camera.js 


   pm2 stop camera.js

To remove pm2

   pm2 stop all
   pm2 kill

[edit] Use

Go to:


[edit] Super User

cp super.sample.json super.json

Modify superuser as required

Default Password : admin

[edit] Motion Detection

If required - Modify plugin keys with new password and mirror that to the files

Motion capture will additional libraries installed - see the file in the directory

These are the required RPMs - not sure if they are available/repos. On my test server it seemed to allow me to install them, but I have several extras repos. YMMV

yum install cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel giflib-devel
yum install liberation-sans-fonts.noarch
cp plugins/opencv/conf.sample.json plugins/opencv/conf.json
cp plugins/motion/conf.sample.json plugins/motion/conf.json

[edit] Remote Access

Direct remote access is probably not the best of ideas.

It should be fairly easy to accomplish with a reverse proxy similar to the RocketChat contrib.

[edit] Auto start on boot

Not tried this

pm2 save
pm2 resurrect
pm2 startup systemv (for CentOS 6?)
pm2 unstartup

[edit] Updates

To update

cd Shinobi
git pull
pm2 restart camera.js
pm2 restart cron.js

[edit] Hardware

It supports lots of hardware out of the box. Please check the documentation.

For a cheap IP camera find an old Android smartphone and try something like BL IP-Camera

Personal tools
Koozali SME Server wiki