How to Manually Uninstall Shinobi
The uninstall process currently is not automated. This article should help identify which components to remove.
Some things to keep in mind
Shinobi is a fairly simple application with the only main components being FFmpeg, MariaDB and Node.js. So if you only wish to remove Shinobi then you can ignore the steps to remove any of the components.
Although Shinobi should be run in an environment of its own you may have other data from other applications in your MariaDB (or MySQL) database and it is recommended you double check before proceeding.
Preparation
First you need to stop all the Shinobi processes.
pm2 kill
Now backup your database and videos if you want to keep them. Let's assume your Shinobi install is in the default location /home/Shinobi.
To backup MariaDB you can do the following. You don't need to do this if you used SQLite.
mysqldump -u majesticflame -p ccio > /home/ShinobiDatabaseBackup.sql
To backup an SQLite database just move the file. You don't need to do this if you used MariaDB.
sudo mv /home/Shinobi/shinobi.sqlite /home/shinobi.sqlite
To move your videos you can do the following.
sudo mv /home/Shinobi/videos /home/ShinobiVideos
Libraries and Components
- FFmpeg (Non-Static)
This is the core of Shinobi and does majority of the back end video processing. This package has a few other dependencies. The necessity of installing each can vary based on the OS installed.
To uninstall in Ubuntu you can run the following commands to remove FFmpeg and its dependencies.
sudo apt remove ffmpeg -y && sudo apt autoremove -y
- MariaDB or MySQL
This is the default database engine for Shinobi and only needs to be removed if you are using it over another Database engine like SQLite. Like FFmpeg it comes with a few other packages that can be removed in a similar way.
sudo service mysql stop sudo apt --purge remove mariadb-server -y sudo apt --purge remove "mysql*" -y sudo apt autoremove -y
Now to remove the SQL files in the system you need to run the following.
sudo rm -rf /etc/mysql/ sudo rm -rf /var/lib/mysql/
- Node.js, Node Package Manager, and PM2
Node.js is the engine that runs the daemon scripts of Shinobi. It also does the job of the web server in the same daemon. If you used the Node.js repo then you don't need to remove npm. PM2 is used to maintain the Node.js processes.
sudo npm uninstall pm2 -g sudo apt remove nodejs -y && sudo apt autoremove -y
Now remove any residual global modules and data files.
sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp /opt/local/bin/node /opt/local/include/node /opt/local/lib/node_modules sudo rm -rf /usr/local/lib/node* sudo rm -rf /usr/local/include/node* sudo rm -rf /usr/local/bin/node*
Removing the Application
Simply delete the Shinobi folder when you are done with it.
rm -rf /home/Shinobi