Jump to content

[Support] spaceinvaderone - Shinobi Pro

Recommended Posts

Overview:  Support for Docker image Shinobi Pro

Documentation: https://shinobi.video/docs/

Video Guide:  Showing how to setup and configure Shinobi Pro.



If you want to run Shinobi Pro through a reverse proxy then below is a config file that you can edit.

Save it as shinobi.subdomain.conf


# make sure that your dns has a cname set for Shinobi

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name shinobi.*;

  include /config/nginx/ssl.conf;

    client_max_body_size 0;

    location / {
        include /config/nginx/proxy.conf;
        proxy_pass http://IP-OF-CONTAINER:8080;
	    proxy_set_header Upgrade $http_upgrade;
	    proxy_set_header Connection 'upgrade';
	    proxy_set_header Host $host;       




If you appreciate my work, then please consider buying me a beer  





  • Like 5
  • Thanks 1
Link to comment

July 29 2020

On new installs it is now necessary to manually install the database files on first run.

Going to http://xxx.xxx.xxx.xxx/8080/super  and logging in you will see this



Now goto the docker tab and select the shinobipro container and click console.



This will open a terminal inside of the container. Now run these commands below

source sql/framework.sql;
source sql/user.sql;

Now close terminal window and restart the container.






You can use your gpu to do the encoding when you are using Linuxserver's Nvidia Unraid  build.

To do this you will need to make some changes to the template when you install the container. 

You will need to change the view to advanced view then


1.  Change the tag on the repository from :latest  to  :nvidia as below



2. Under Extra parameters add    




Lastly you will see 2 parts in the template relating to Nvidia

Driver capabilities set to all

GPU is set to the ID of  your nvidia gpu as shown in the Unraid nvidia plugin







  • Like 2
Link to comment

First off, thank you so much for all the work you put into making this community better.


That said...:(

Getting this error when pulling the docker.  Looks like a cert problem with the actual repo.

fatal: unable to access 'https://gitlab.com/Shinobi-Systems/Shinobi.git/': SSL certificate problem: self signed certificate

Edited by statecowboy
Link to comment

I'm noticing some strange repeat errors in my log:



191225 17:16:10 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Wait for MySQL server ...
mysqld is alive
Setting up MySQL database if it does not exists ...
Create database schema if it does not exists ...
ERROR 1060 (42S21) at line 127 in file: '/opt/shinobi/sql/framework.sql': Duplicate column name 'time'
Create database user if it does not exists ...
ERROR 1396 (HY000) at line 1 in file: '/opt/shinobi/sql/user.sql': Operation CREATE USER failed for 'majesticflame'@''


Is there an issue with my DB?  It seems to be running stable.  VPN remote access is next...  :D

Link to comment

I am not able to login anymore.  This is what i am getting in the log


Starting Shinobi ...
2019-12-26T02:46:55: PM2 log: Launching in no daemon mode
2019-12-26T02:46:55: PM2 log: App [Camera-App:0] starting in -fork mode-
2019-12-26T02:46:55: PM2 log: App [Cron-App:1] starting in -fork mode-
2019-12-26T02:46:55: PM2 log: App [Camera-App:0] online
2019-12-26T02:46:55: PM2 log: App [Cron-App:1] online
No "ffbinaries". Continuing.
Run "npm install ffbinaries" to get this static FFmpeg downloader.
No "ffmpeg-static".
Available Hardware Acceleration Methods : cuvid
Shinobi : cron.js started
FFmpeg version : 3.3.4-static http://johnvansickle.com/ffmpeg/
Node.js version : v8.16.2
Shinobi : Web Server Listening on 8080
2019-12-26T02:46:57+00:00 Current Version : c943eedddcc441832b82767137816085f5d83443

This Install of Shinobi is NOT Activated
2019-12-26T02:46:58+00:00 This Install of Shinobi is NOT Activated
2019-12-26T02:46:58+00:00 [email protected] : Checking Disk Used..
2019-12-26T02:46:59+00:00 [email protected] : /opt/shinobi/videos2/ : 0
2019-12-26T02:46:59+00:00 Starting Monitors... Please Wait...

Edit:  After waiting a couple of hours it seemed to let me login so I think it is back to working now.

Edited by mgranger
Link to comment
On 12/21/2019 at 5:43 AM, robw83 said:

If you already have a mariadb docker running can that be used instead of the built in one?  
what would i change  on this line?


maria db database location:  /mnt/user/appdata/shinobipro/database 

I'm wondering this too. Looking at the master docker info you'd have to specify some more variable.


I'm getting InnoDB and subsequent mysql errors on install so can't yet get it up. Everything stock as per the video apart from eth0 set to a static IP.

root@localhost:# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='shinobi_pro' --net='eth0' --ip='' -e TZ="Europe/London" -e HOST_OS="Unraid" -e 'TCP_PORT_8080'='8080' -e 'ADMIN_USER'='admin' -e 'ADMIN_PASSWORD'='password' -v '/mnt/disks/cctv/':'/opt/shinobi/videos':'rw,slave' -v '/mnt/user/appdata/shinobi_pro':'/config':'rw' -v '/mnt/user/appdata/shinobipro/database':'/var/lib/mysql':'rw' -v '/mnt/user/appdata/shinobipro/customautoload':'/opt/shinobi/libs/customAutoLoad':'rw' 'spaceinvaderone/shinobi_pro_unraid:latest' 

The command finished successfully!

Log result after install:

Copy custom configuration files ...
cp: cannot stat '/config/*': No such file or directory
No custom config files found.
Create default config file /opt/shinobi/conf.json ...
Create default config file /opt/shinobi/super.json ...
Create default config file /opt/shinobi/plugins/motion/conf.json ...
Hash admin password ...
MariaDB Directory ...
Installing MariaDB ...
Installing MariaDB/MySQL system tables in '/var/lib/mysql' ...
2019-12-28 12:46:49 0 [ERROR] InnoDB: preallocating 12582912 bytes for file ./ibdata1 failed with error 95

2019-12-28 12:46:49 0 [ERROR] InnoDB: Could not set the file size of './ibdata1'. Probably out of disk space

2019-12-28 12:46:49 0 [ERROR] InnoDB: Database creation was aborted with error Generic error. You may need to delete the ibdata1 file before trying to start up again.

2019-12-28 12:46:49 0 [ERROR] Plugin 'InnoDB' init function returned error.

2019-12-28 12:46:49 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

2019-12-28 12:46:50 0 [ERROR] Unknown/unsupported storage engine: InnoDB

2019-12-28 12:46:50 0 [ERROR] Aborting

Installation of system tables failed! Examine the logs in

/var/lib/mysql for more information.

The problem could be conflicting information in an external
my.cnf files. You can ignore these by doing:

shell> /usr/bin/mysql_install_db --defaults-file=~/.my.cnf

You can also try to start the mysqld daemon with:

shell> /usr/bin/mysqld --skip-grant-tables --general-log &

and use the command line tool /usr/bin/mysql
to connect to the mysql database and look at the grant tables:

shell> /usr/bin/mysql -u root mysql
mysql> show tables;

Try 'mysqld --help' if you have problems with paths. Using
--general-log gives you a log in /var/lib/mysql that may be helpful.

The latest information about mysql_install_db is available at
You can find the latest source at https://downloads.mariadb.org and
the maria-discuss email list at https://launchpad.net/~maria-discuss

Please check all of the above before submitting a bug report
at http://mariadb.org/jira


Link to comment

Mr. Spaceinvader,

Thanks for all you do. Love the videos. I’ve watched just about all of them and they have made my Unraid experience much better.

I am one of those whose ISP blocks port 80. I have set up a reverse proxy using my own domain and have Letsencrypt running with no errors in the docker log. Followed your video for that. Thanks again. I am able to reverse proxy into Nextcloud, Unifi with no issue.

Question however. I cannot get Shinobi to work with Letsencrypt using your .conf file

In your video “How to Setup and Configure a Reverse Proxy on unRAID with LetsEncrypt & NGINX” you mentioned that anything we wanted to reverse proxy into would need to be on the custom Docker network ‘proxynet’. When Shinobi is set to use this network in the Docker Template I fails to start and gives a “server execution failure” error. When I set the network to br0.50 it starts and I can access the web ui on the local network but cannot reach it via the proxy. The web page returns a 502 error.

I have a cname for Shinobi and have set the IP and port numbers in the .conf file and have saved as specified.  

Any help would appreciated


Link to comment

Tried to get your docker running. While it runs I'm unable to create a normal user. I get into the /super page yet after filling out the form for a normal user and clicking save, nothing happens. No errors in the logs, just unable to create a user at all and as such can't login to the dashboard.

Link to comment
On 12/25/2019 at 12:34 PM, NOLA_DireWolff said:

I'm noticing some strange repeat errors in my log:



Is there an issue with my DB?  It seems to be running stable.  VPN remote access is next...  :D

I just watched @SpaceInvaderOne's video on getting Shinobi docker container installed and running. And I also see the same error: 


Wait for MySQL server ...
mysqld is alive
Setting up MySQL database if it does not exists ...
Create database schema if it does not exists ...
ERROR 1060 (42S21) at line 127 in file: '/opt/shinobi/sql/framework.sql': Duplicate column name 'time'

Create database user if it does not exists ...
ERROR 1396 (HY000) at line 1 in file: '/opt/shinobi/sql/user.sql': Operation CREATE USER failed for 'majesticflame'@''

The reason I was digging through my logs was, I couldn't add users.
Has anyone else seen this issue?


Link to comment

I have installed this docker but I am having issues logging into it,  what is the default username and password ?


OK I was being dumb as I didn't see the information within the template.


ok I am now able to log into the super admin page, but when I try and create a user account, all it is doing is flashing, but not saving the account details.


is there any prefix to the password ? or user account name ?

Edited by chris_netsmart
Link to comment

First off another great video. Thank you!


The issue with the UTC times in the Calendar view and other areas is fixed by adding the "tzdata" package to the docker. 


SpaceInvader - Would it be possible to add this to your docker?


I added in it manually by going into the containers console and running this command:

apk add --no-cache tzdata


This resolved my problem with the times showing in calendar view, file naming of the videos, and other areas.  Instead of it showing previously as UTC time it now shows as the local timezone.




Edited by mwells
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...