Our great sponsors
-
Kavita
Kavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
#! /bin/bash installFolder="/opt/Kavita" # defines the folder where Kavita is installed backupFolder="/opt/KavitaBackup" # defines the backup folder for kavita kavitaUser="kavita" # defines the kavita service user kavitaGroup="kavita" # defines the kavita service group architecture="kavita-linux-x64.tar.gz" # options are: # kavita-linux-x64.tar.gz # kavita-linux-arm.tar.gz # kavita-linux-arm64.tar.gz if [ ! -d $installFolder ] then echo "KAVITA FOLDER IS MISSING!!" exit 1 fi cd /tmp if [ -r $architecture ] then echo "Kavita already present - extracting now!" tar -xzf $architecture else echo "Downloading latest Kavita from GitHub" wget https://github.com/Kareadita/Kavita/releases/latest/download/$architecture echo "extracting now!" tar -xzf $architecture fi if [ ! -d Kavita ] then echo "Something went wrong downloading or extracting" exit 1 fi echo "Stopping Kavita service" systemctl stop kavita.service if [ -d $backupFolder ] then echo "Deleting old KavitaBackup" rm -r $backupFolder fi echo "Creating new Kavita backup" cp -r $installFolder/config $backupFolder echo "Deleting Kavita" rm -r $installFolder echo "Installing new Kavita" cp -r /tmp/Kavita $installFolder echo "Deleting default config" rm -r $installFolder/config echo "Moving old config into install folder" cp -r $backupFolder $installFolder/config echo "CHOWN Kavita folder to kavita user and group" chown -R $kavitaUser:$kavitaGroup $installFolder echo "Make Kavita executable" chmod +x $installFolder/Kavita echo "Launch Kavita" systemctl start kavita.service echo "Cleaning up downloaded files" rm -r Kavita rm $architecture echo "Update process finished :)"