-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall.sh
executable file
·93 lines (75 loc) · 4.06 KB
/
install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
apt-get update
echo "Installing git..."
apt install git -y
echo "Installing Pip..."
apt install python3-pip -y
echo "Installing Apache..."
apt install apache2 -y
echo "Cloning Fuzzy Guacamole from github..."
git clone https://github.com/3DCrowd/fuzzy-guacamole.git /home/pi/fuzzy-guacamole
echo "Installing python requirements..."
pip3 install -r /home/pi/fuzzy-guacamole/requirements.txt
echo "Copying frontend into Apache server..."
cp -r /home/pi/fuzzy-guacamole/src/frontend/. /var/www/html/
echo "Creating API service..."
rm -f /etc/systemd/system/fuzzy-guacamole.service
echo "[Unit]" >> /etc/systemd/system/fuzzy-guacamole.service
echo "Description=Connecting to the printer and starting the API" >> /etc/systemd/system/fuzzy-guacamole.service
echo "After=network.target" >> /etc/systemd/system/fuzzy-guacamole.service
echo "StartLimitIntervalSec=0" >> /etc/systemd/system/fuzzy-guacamole.service
echo "[Service]" >> /etc/systemd/system/fuzzy-guacamole.service
echo "Type=simple" >> /etc/systemd/system/fuzzy-guacamole.service
echo "User=pi" >> /etc/systemd/system/fuzzy-guacamole.service
echo "ExecStart=/usr/bin/python3 /home/pi/fuzzy-guacamole/src/apiController.py" >> /etc/systemd/system/fuzzy-guacamole.service
echo "[Install]" >> /etc/systemd/system/fuzzy-guacamole.service
echo "WantedBy=multi-user.target" >> /etc/systemd/system/fuzzy-guacamole.service
systemctl enable fuzzy-guacamole.service
echo "Creating directories..."
mkdir /home/pi/fuzzy-guacamole/logs
mkdir /home/pi/fuzzy-guacamole/files
chown pi /home/pi/fuzzy-guacamole/logs
chown pi /home/pi/fuzzy-guacamole/files
ln -s /home/pi/fuzzy-guacamole/logs/printer.log /var/www/html/printer.log
echo "Creating UDEV rules..."
rm -f /usr/local/bin/fuzzy-guacamole-trigger.sh
echo "#!/usr/bin/bash" >> /usr/local/bin/fuzzy-guacamole-trigger.sh
echo "systemctl restart fuzzy-guacamole.service" >> /usr/local/bin/fuzzy-guacamole-trigger.sh
chmod +x /usr/local/bin/fuzzy-guacamole-trigger.sh
rm -f /etc/udev/rules.d/90-fuzzy-guacamole.rules
echo 'SUBSYSTEM=="usb", ACTION=="add", RUN+="/usr/local/bin/fuzzy-guacamole-trigger.sh"' >> /etc/udev/rules.d/90-fuzzy-guacamole.rules
echo "Changing hostname..."
hostnamectl set-hostname fuzzyguacamole
sed -i "6s/.*/127.0.1.1 fuzzyguacamole/" /etc/hosts
# echo "Installing mjpg_streamer..."
# apt-get install cmake libjpeg8-dev
# git clone https://github.com/jacksonliam/mjpg-streamer /home/pi/mjpg-streamer
# cd /home/pi/mjpg-streamer/mjpg-streamer-experimental
# make
# make install
# cd
#
# echo "Creating mjpg_streamer start script..."
# rm -f /usr/local/bin/startCamera.sh
# echo "#!/usr/bin/bash" >> /usr/local/bin/startCamera.sh
# echo "export LD_LIBRARY_PATH=/home/pi/mjpg-streamer/mjpg-streamer-experimental/." >> /usr/local/bin/startCamera.sh
# echo "/home/pi/mjpg-streamer/mjpg-streamer-experimental/mjpg_streamer -o 'output_http.so -w ./www' -i 'input_uvc.so'" >> /usr/local/bin/startCamera.sh
# chmod +x /usr/local/bin/startCamera.sh
#
# echo "Creating mjpg_streamer service..."
# rm -f /etc/systemd/system/startCameraStreamer.service
# echo "[Unit]" >> /etc/systemd/system/startCameraStreamer.service
# echo "Description=Connecting to the printer and starting the API" >> /etc/systemd/system/startCameraStreamer.service
# echo "After=network.target" >> /etc/systemd/system/startCameraStreamer.service
# echo "StartLimitIntervalSec=0" >> /etc/systemd/system/startCameraStreamer.service
#
# echo "[Service]" >> /etc/systemd/system/startCameraStreamer.service
# echo "Type=simple" >> /etc/systemd/system/startCameraStreamer.service
# echo "User=pi" >> /etc/systemd/system/startCameraStreamer.service
# echo "ExecStart=/usr/local/bin/startCamera.sh" >> /etc/systemd/system/startCameraStreamer.service
# echo "Restart=on-failure" >> /etc/systemd/system/startCameraStreamer.service
# echo "RestartSec=10s" >> /etc/systemd/system/startCameraStreamer.service
#
# echo "[Install]" >> /etc/systemd/system/startCameraStreamer.service
# echo "WantedBy=multi-user.target" >> /etc/systemd/system/startCameraStreamer.service
# systemctl enable startCameraStreamer.service
echo "Installation Complete. Please restart before using."