What you are about to read should be taken with a grain of salt. I am actually a Windows user and have been since I was a child. MacOS even has yet to win me over when it comes to actually doing my work... but my work is done in my room. A "closed" environment. :D

Why it matters

Shinobi was made with the intent to help people. So it was made as a Free Open Source Software. Many of my reasons that led me to start Shinobi were political but we won't get into that.

Microsoft has engaged in a few things that are more than questionable. Below are some stories.

It may be true that Microsoft is building a new image but Shinobi would prefer to wait and see what their true resolve with Github really is.

What to do

Sadly waiting without updating is not an option for me so I don't think it is for many people reading this article also... so Gitlab wins the loyalty of now the public repositories as it has proven honorable even before Shinobi had a name.

To this day Gitlab is the home of Shinobi's first lines of code and private builds. You can find the public Shinobi repositories in the Shinobi-Systems extension.

How to Switch Repositories (Git Way)

Namekal#7692 and CoolTNT#8409 mentioned a method using Git. I didn't have a chance to write up a tutorial for it but thanks to David we have one! You can review it below. The Manual Way is provided just underneath.

You should be root before doing this or using sudo.

1. Open the Shinobi directory and kill all Shinobi processes.

cd /home/Shinobi
pm2 kill

2. Switch the origin of the repository.

git remote set-url origin https://gitlab.com/Shinobi-Systems/Shinobi.git

3. Verify the GitLab change:

git remote -v

4. Reset master branch:

git checkout master
git reset --hard origin/master

5. Optional: If you're using the development branch, reset dev branch:

git checkout dev
git reset --hard origin/dev

6. Pull New Files. This will erase any modifications you have made to the system files. Your configuration files will not be modified.

git reset --hard
git pull

7. Install any new packages.

npm i

8. Start the processes again.

pm2 start camera.js
pm2 start cron.js

How to Switch Repositories (Manual Way)

You should be root before doing this or using sudo.

1. Backup your SQL database before attempting this.

mysqldump -u majesticflame -p ccio > database-dump.sql

The password should be blank for this user. It is the user created by sql/user.sql during the Shinobi install. The database-dump.sql​ file will be found in the directory you are currently in.

2. Stop all Shinobi processes before proceeding. If you do not stop camera.js and cron.js before proceeding you may lose the contents of your SQL database.

pm2 kill

3. If you have a copy of Shinobi already installed at /home/Shinobi you can move it to a temporary location.

mv /home/Shinobi /home/Shinobi2

4. Clone the Pro repo to /home/Shinobi.

git clone https://gitlab.com/Shinobi-Systems/Shinobi.git /home/Shinobi

For more frequent updates you can try the dev branch.

git clone https://gitlab.com/Shinobi-Systems/Shinobi.git -b dev /home/Shinobi

5. Now we need to move your conf.json, videos, and super.json files to the new folder.

mv /home/Shinobi2/conf.json /home/Shinobi/conf.json
mv /home/Shinobi2/videos /home/Shinobi/videos
mv /home/Shinobi2/super.json /home/Shinobi/super.json

6. Install the node modules.

cd /home/Shinobi
npm install

7. Lastly start Shinobi.

pm2 start camera.js
pm2 start cron.js