Shinobi – Home NVR Software That Eats your MySQL Databases

This is a quick gripe about https://shinobi.video/.

tl;dr looking to install a home surveillance system using PoE cameras, prefer to use a software package instead of buying a NVR appliance. Tried installing “Shinobi” but became frustrated at poor documentation and an install script that is careless with your system.

Shinobi came recommended by a Redditor on a post.

I *tried* to install it but found it difficult, opaque, and a bit user-hostile.

I’m sure I will get flamed for my opinions but oh well I’m going to express my opinions:

  • The website discourages container-based installations, for reasons not clearly stated. A container-first approach would have avoided the problem I had in the latter half of this list.
  • The container installer, like the bare metal installer, is a script rather than a set of instructions. You shouldn’t trust install scripts and developers should not use them, or if they do, the install script should very clearly explain what step(s) are about to be performed.
  • The container installer only recognizes docker, it does not recognize podman. Podman is a mostly-compatible fork of docker created by Red Hat and is the preferred container engine on RHEL-based distros, and is an available option in Ubuntu. (Note that Docker doesn’t even publish Red Hat packages anymore -they’ve given up)
  • You can alias docker to podman, but the lack of awareness on the part of the dev seems to suggest they haven’t done testing on Red Hat distros like RHEL or Fedora.
  • podman-compose isn’t (AFAIK) 100% compatible with docker-compose commands. It might work, I don’t know, but I don’t use *-compose and am not interested in it.
  • They provide some docker-run commands but documentation is lacking.
  • They want you to download a shell script and run the shell script to perform the installation. The actual installation steps are buried within sub-scripts that get downloaded from a git repo. Sketchy.
  • The installer gives you several choices, i.e. a “touchless” installation or an “advanced” installation.
  • The touchless installation is anything but. It performs many apt-gets without warning or prompting the user what is happening. In my case, it tried to download mariadb. However I am already running mysql which conflicts with mariadb.
  • The apt-get commands in their scripts will not stop the installation when the conflict is detected, instead they added a force flag which uninstalls mysql and removes your existing data with no warning.

Look, I get that it is a community project. I’m sympathetic to the fact that it’s all free labor and I accept responsibility for running scripts without more careful inspection.

I got frustrated with the (lack of) good podman support and tried installing the “bare metal” version and got burned by it.

YMMV and you might have a great experience with it as opposed to me.

Leave a Reply

Your email address will not be published. Required fields are marked *