2020-08-01 22:52:19 -04:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
if [ "$(id -u)" != "0" ]; then
|
|
|
|
|
echo "This script must be run as root" 1>&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "This is the installation script for PhotonVision."
|
|
|
|
|
|
|
|
|
|
echo "Installing the JDK..."
|
|
|
|
|
if [ $(dpkg-query -W -f='${Status}' openjdk-11-jdk-headless 2>/dev/null | grep -c "ok installed") -eq 0 ];
|
|
|
|
|
then
|
|
|
|
|
apt update
|
|
|
|
|
apt-get install openjdk-11-jdk-headless;
|
|
|
|
|
fi
|
|
|
|
|
echo "JDK installation complete."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo "Downloading latest stable release of PhotonVision..."
|
|
|
|
|
mkdir -p /opt/photonvision
|
|
|
|
|
cd /opt/photonvision
|
|
|
|
|
curl -s https://api.github.com/repos/photonvision/photonvision/releases/latest |
|
|
|
|
|
grep "browser_download_url.*jar" |
|
|
|
|
|
cut -d : -f 2,3 |
|
|
|
|
|
tr -d '"' |
|
|
|
|
|
wget -qi - -O photonvision.jar
|
|
|
|
|
echo "Downloaded latest stable release of PhotonVision."
|
|
|
|
|
|
|
|
|
|
echo "Creating the PhotonVision systemd service..."
|
2020-08-06 15:52:54 -04:00
|
|
|
|
|
|
|
|
if service --status-all | grep -Fq 'photonvision'; then
|
|
|
|
|
systemctl stop photonvision
|
|
|
|
|
systemctl disable photonvision
|
|
|
|
|
rm /lib/systemd/system/photonvision.service
|
|
|
|
|
rm /etc/systemd/system/photonvision.service
|
2020-09-05 16:28:17 -04:00
|
|
|
systemctl daemon-reload
|
2020-08-06 15:52:54 -04:00
|
|
|
systemctl reset-failed
|
|
|
|
|
fi
|
|
|
|
|
|
2020-08-01 22:52:19 -04:00
|
|
|
cd /lib/systemd/system/
|
|
|
|
|
touch photonvision.service
|
|
|
|
|
printf \
|
|
|
|
|
"[Unit]
|
|
|
|
|
Description=Service that runs PhotonVision
|
|
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
|
WorkingDirectory=/opt/photonvision
|
|
|
|
|
ExecStart=/usr/bin/java -jar /opt/photonvision/photonvision.jar
|
|
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
|
WantedBy=multi-user.target" >> photonvision.service
|
|
|
|
|
cp photonvision.service /etc/systemd/system/photonvision.service
|
|
|
|
|
chmod 644 /etc/systemd/system/photonvision.service
|
|
|
|
|
systemctl daemon-reload
|
|
|
|
|
systemctl enable photonvision.service
|
|
|
|
|
|
|
|
|
|
echo "Created PhotonVision systemd service."
|
|
|
|
|
|
|
|
|
|
echo "PhotonVision installation successful."
|