Scripts/Linux/Syncthing/install_syncthing.sh

61 lines
1.8 KiB
Bash
Raw Normal View History

2021-11-02 14:16:03 +00:00
#!/bin/bash
# Elevate Privelage
echo "This Script has to be ran as Sudo"
sudo -v
sudo apt install net-tools
# Set Variables
ip=$(sudo ifconfig eth0 | perl -ne 'print $1 if /inet\s.*?(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\b/')
echo "Please enter Syncthing Version required"
read syncthingversion
# Setup Syncthing User
adduser \
--system \
--shell /bin/bash \
--gecos 'Syncthing Client' \
--group \
--disabled-password \
--home /opt/syncthing/config \
git
# Setup Folders
sudo mkdir /opt/syncthing
sudo chown syncthing -R /opt/syncthing
sudo chgrp $(echo "$USER") -R /opt/syncthing
sudo chmod 770 /opt/syncthing
mkdir /opt/syncthing/config
mkdir /opt/syncthing/bin
mkdir /opt/syncthing/bin/current
# Get Syncthing and setup
cd /opt/syncthing/bin
2021-11-02 14:35:50 +00:00
wget https://github.com/syncthing/syncthing/releases/download/$(curl --silent "https://api.github.com/repos/syncthing/syncthing/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')/syncthing-linux-amd64-$(curl --silent "https://api.github.com/repos/syncthing/syncthing/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/').tar.gz
2021-11-02 14:16:03 +00:00
untar syncthing-linux-amd64-v$syncthingversion.tar.gz
cp -r syncthing-linux-amd64-v$syncthingversion/* /opt/syncthing/bin/current
sudo ln -f /opt/syncthing/bin/current/syncthing /usr/local/bin/syncthing
# Setup Supervisor
sudo apt-get install supervisor
sudo cat <<EOF > /etc/supervisor/conf.d/syncthing.conf
[program:syncthing]
autorestart = True
directory = /opt/syncthing/config
user = sycthing
command = /usr/local/bin/syncthing -no-browser -logflags=0 -gui-address=$ip:8384 -home=/opt/syncthing/config/
environment = STNORESTART="1", HOME="/opt/syncthing/config/"
EOF
sudo service supervisor restart
sudo supervisorctl reread
sudo supervisorctl update
echo "If everything installed with no errors"
echo "Please go to http://$ip:8384"