1 | #!/bin/bash
|
2 | echo "Shinobi - Updating Repositories"
|
3 | sudo apt update -y
|
4 | echo "============="
|
5 | echo "Shinobi - Get dependencies"
|
6 | sudo apt install libav-tools ffmpeg -y
|
7 | echo "============="
|
8 | echo "Shinobi - Do you want to Install MariaDB?"
|
9 | echo "(y)es or (N)o"
|
10 | read mysqlagree
|
11 | if [ "$mysqlagree" = "y" ]; then
|
12 | echo "Shinobi - Installing MariaDB"
|
13 | echo "Password for root SQL user, If you are installing SQL now then you may put anything:"
|
14 | read sqlpass
|
15 | echo "mariadb-server mariadb-server/root_password password $sqlpass" | debconf-set-selections
|
16 | echo "mariadb-server mariadb-server/root_password_again password $sqlpass" | debconf-set-selections
|
17 | apt install mariadb-server -y
|
18 | service mysql start
|
19 | fi
|
20 | echo "============="
|
21 | echo "Shinobi - Install Node.js?"
|
22 | echo "(y)es or (N)o"
|
23 | read installNode
|
24 | if [ "$installNode" = "y" ]; then
|
25 | sudo apt install nodejs npm -y
|
26 | fi
|
27 | echo "============="
|
28 | echo "Shinobi - Get latest Node.js?"
|
29 | echo "(y)es or (N)o"
|
30 | read updateNode
|
31 | if [ "$updateNode" = "y" ]; then
|
32 | sudo npm cache clean -f
|
33 | sudo npm install -g n
|
34 | sudo n stable
|
35 | fi
|
36 | echo "============="
|
37 | echo "Shinobi - Link node to Node.js?"
|
38 | echo "(y)es or (N)o"
|
39 | read linkNode
|
40 | if [ "$linkNode" = "y" ]; then
|
41 | ln -s /usr/bin/nodejs /usr/bin/node
|
42 | fi
|
43 | chmod -R 755 .
|
44 | echo "============="
|
45 | echo "Shinobi - Database Installation"
|
46 | echo "(y)es or (N)o"
|
47 | read mysqlagreeData
|
48 | if [ "$mysqlagreeData" = "y" ]; then
|
49 | if [ "$mysqlagree" = "y" ]; then
|
50 | sqluser="root"
|
51 | fi
|
52 | if [ ! "$mysqlagree" = "y" ]; then
|
53 | echo "What is your SQL Username?"
|
54 | read sqluser
|
55 | echo "What is your SQL Password?"
|
56 | read sqlpass
|
57 | fi
|
58 | mysql -u $sqluser -p$sqlpass -e "source sql/user.sql" || true
|
59 | mysql -u $sqluser -p$sqlpass -e "source sql/framework.sql" || true
|
60 | echo "Shinobi - Do you want to Install Default Data (default_data.sql)?"
|
61 | echo "(y)es or (N)o"
|
62 | read mysqlDefaultData
|
63 | if [ "$mysqlDefaultData" = "y" ]; then
|
64 | echo "Default Username : ccio@m03.ca"
|
65 | echo "Default Password : password"
|
66 | mysql -u $sqluser -p$sqlpass --database ccio -e "source sql/default_data.sql" || true
|
67 | fi
|
68 | fi
|
69 | echo "============="
|
70 | echo "Shinobi - Install NPM Libraries"
|
71 | npm install
|
72 | echo "============="
|
73 | echo "Shinobi - Install PM2"
|
74 | sudo npm install pm2 -g
|
75 | if [ ! -e "./conf.json" ]; then
|
76 | cp conf.sample.json conf.json
|
77 | fi
|
78 | if [ ! -e "./super.json" ]; then
|
79 | echo "Default Superuser : admin@shinobi.video"
|
80 | echo "Default Password : admin"
|
81 | cp super.sample.json super.json
|
82 | fi
|
83 | echo "Shinobi - Finished"
|
84 | touch INSTALL/installed.txt
|
85 | echo "Shinobi - Start Shinobi?"
|
86 | echo "(y)es or (N)o"
|
87 | read startShinobi
|
88 | if [ "$startShinobi" = "y" ]; then
|
89 | pm2 start camera.js
|
90 | pm2 start cron.js
|
91 | pm2 list
|
92 | fi |
\ | No newline at end of file |