Official repositories are moving to Gitlab
Github is now owned by Microsoft. This means the official repositories are moving to Gitlab.
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.
- Halloween Documents - a series of memoranda that were leaked by a Microsoft employee to Eric S. Raymond in the late 90's, detailing Microsoft's desire to "disrupt the progress of open source software."
- Samizdat - The report states that the Linux kernel was written using copied source code from Minix and other resources acquired improperly or possibly illegally by Linus Torvalds. Andrew Tanenbaum replied.
- SCO’s Strategic Consultant Mike Anderer Foresaw Microsoft-Organised Patent Lawsuits Against Linux (Through Small Companies)
- SCO confirms MS ‘smoking gun’ email is genuine - Related to Halloween Documents.
- Microsoft is Still an Evil Company, Don’t Believe the Reputation Laundering ‘Campaigners’
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