mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 02:12:49 +00:00 
			
		
		
		
	Refactor: Kavita + Updated tools.func (no-same-owner) (#8594)
This commit is contained in:
		
							
								
								
									
										21
									
								
								ct/kavita.sh
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								ct/kavita.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -27,15 +27,20 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
    msg_info "Updating $APP LXC"
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "kavita" "Kareadita/Kavita"; then
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop kavita
 | 
			
		||||
    RELEASE=$(curl -fsSL https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
			
		||||
    $STD tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner
 | 
			
		||||
    rm -rf Kavita/config
 | 
			
		||||
    cp -r Kavita/* /opt/Kavita
 | 
			
		||||
    rm -rf Kavita
 | 
			
		||||
    msg_ok "Service Stopped"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "kavita" "Kareadita/Kavita" "prebuild" "latest" "/opt/Kavita" "kavita-linux-x64.tar.gz"
 | 
			
		||||
    chmod +x /opt/Kavita/Kavita && chown root:root /opt/Kavita/Kavita
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start kavita
 | 
			
		||||
    msg_ok "Updated $APP LXC"
 | 
			
		||||
    msg_ok "Service Started"
 | 
			
		||||
    msg_ok "Update Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 8,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -13,15 +13,11 @@ setting_up_container
 | 
			
		||||
network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Kavita"
 | 
			
		||||
cd /opt
 | 
			
		||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
			
		||||
$STD tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner
 | 
			
		||||
msg_ok "Installed Kavita"
 | 
			
		||||
fetch_and_deploy_gh_release "Kavita" "Kareadita/Kavita" "prebuild" "latest" "/opt/Kavita" "kavita-linux-x64.tar.gz"
 | 
			
		||||
 | 
			
		||||
msg_info "Creating Service"
 | 
			
		||||
service_path="/etc/systemd/system/kavita.service"
 | 
			
		||||
echo "[Unit]
 | 
			
		||||
cat <<EOF >/etc/systemd/system/kavita.service
 | 
			
		||||
[Unit]
 | 
			
		||||
Description=Kavita Server
 | 
			
		||||
After=network.target
 | 
			
		||||
 | 
			
		||||
@@ -34,15 +30,17 @@ KillMode=process
 | 
			
		||||
Restart=on-failure
 | 
			
		||||
 | 
			
		||||
[Install]
 | 
			
		||||
WantedBy=multi-user.target" >$service_path
 | 
			
		||||
chmod +x /opt/Kavita/* && chown root /opt/Kavita/*
 | 
			
		||||
systemctl enable --now -q kavita.service
 | 
			
		||||
WantedBy=multi-user.target
 | 
			
		||||
EOF
 | 
			
		||||
chmod +x /opt/Kavita/Kavita && chown root:root /opt/Kavita/Kavita
 | 
			
		||||
systemctl enable -q --now kavita
 | 
			
		||||
msg_ok "Created Service"
 | 
			
		||||
 | 
			
		||||
motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -1141,7 +1141,7 @@ function fetch_and_deploy_gh_release() {
 | 
			
		||||
      rm -rf "${target:?}/"*
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    tar -xzf "$tmpdir/$filename" -C "$tmpdir" || {
 | 
			
		||||
  tar --no-same-owner -xzf "$tmpdir/$filename" -C "$tmpdir" || {
 | 
			
		||||
      msg_error "Failed to extract tarball"
 | 
			
		||||
      rm -rf "$tmpdir"
 | 
			
		||||
      return 1
 | 
			
		||||
@@ -1263,7 +1263,7 @@ function fetch_and_deploy_gh_release() {
 | 
			
		||||
        return 1
 | 
			
		||||
      }
 | 
			
		||||
    elif [[ "$filename" == *.tar.* || "$filename" == *.tgz ]]; then
 | 
			
		||||
      tar -xf "$tmpdir/$filename" -C "$unpack_tmp" || {
 | 
			
		||||
      tar --no-same-owner -xf "$tmpdir/$filename" -C "$unpack_tmp" || {
 | 
			
		||||
        msg_error "Failed to extract TAR archive"
 | 
			
		||||
        rm -rf "$tmpdir" "$unpack_tmp"
 | 
			
		||||
        return 1
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user