diff --git a/restore.sh b/restore.sh index 366a9b8..511bf86 100644 --- a/restore.sh +++ b/restore.sh @@ -11,20 +11,6 @@ if [ ! -d "/var/lib/rustdesk-server" ]; then fi -sudo apt update -sudo apt install sqlite3 -y - -mkdir -p ${tmp_dir}/ - -tar -xf $path/*.tar -C $tmp_dir - - -cp -rf ${tmp_dir}/ /var/lib/rustdesk-server/ -sqlite3 db.sqlite3 < db_backup_file.bak - -# Get current release version -RDLATEST=$(curl https://api.github.com/repos/rustdesk/rustdesk-server-pro/releases/latest -s | grep "tag_name"| awk '{print substr($2, 2, length($2)-3) }' | sed 's/-.*//') - ARCH=$(uname -m) @@ -77,9 +63,52 @@ if [ "$DEBUG" = "true" ]; then exit 0 fi +# Setup prereqs for server +# Common named prereqs +PREREQ="curl wget unzip tar" +PREREQDEB="dnsutils ufw sqlite3" +PREREQRPM="bind-utils sqlite" +PREREQARCH="bind sqlite" + +echo "Installing prerequisites" +if [ "${ID}" = "debian" ] || [ "$OS" = "Ubuntu" ] || [ "$OS" = "Debian" ] || [ "${UPSTREAM_ID}" = "ubuntu" ] || [ "${UPSTREAM_ID}" = "debian" ]; then + sudo apt-get update + sudo apt-get install -y ${PREREQ} ${PREREQDEB} # git +elif [ "$OS" = "CentOS" ] || [ "$OS" = "RedHat" ] || [ "${UPSTREAM_ID}" = "rhel" ] ; then +# openSUSE 15.4 fails to run the relay service and hangs waiting for it +# Needs more work before it can be enabled +# || [ "${UPSTREAM_ID}" = "suse" ] + sudo yum update -y + sudo dnf install -y epel-release + sudo yum install -y ${PREREQ} ${PREREQRPM} # git +elif [ "${ID}" = "arch" ] || [ "${UPSTREAM_ID}" = "arch" ]; then + sudo pacman -Syu + sudo pacman -S ${PREREQ} ${PREREQARCH} +else + echo "Unsupported OS" + # Here you could ask the user for permission to try and install anyway + # If they say yes, then do the install + # If they say no, exit the script + exit 1 +fi + + +mkdir -p ${tmp_dir}/ + +tar -xf $path/*.tar -C $tmp_dir + +cp -rf ${tmp_dir}/ /var/lib/rustdesk-server/ +rm /var/lib/rustdesk-server/db.sqlite3 +sqlite3 /var/lib/rustdesk-server/db.sqlite3 < ${tmp_dir}/db_backup_file.sql + +# Get current release version +RDLATEST=$(curl https://api.github.com/repos/rustdesk/rustdesk-server-pro/releases/latest -s | grep "tag_name"| awk '{print substr($2, 2, length($2)-3) }' | sed 's/-.*//') + cd /var/lib/rustdesk-server/ rm -rf static/ +rm -rf ${tmp_dir}/ + echo "Installing RustDesk Server" if [ "${ARCH}" = "x86_64" ] ; then wget https://github.com/rustdesk/rustdesk-server-pro/releases/download/${RDLATEST}/rustdesk-server-linux-amd64.tar.gz