diff --git a/ct/huntarr.sh b/ct/huntarr.sh index d951bfe..ef27838 100644 --- a/ct/huntarr.sh +++ b/ct/huntarr.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash source <(curl -fsSL https://git.bila.li/Proxmox/proxmox-ve-install-scripts/raw/branch/dev/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG -# Author: [YourUserName] +# Author: BiluliB # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: [SOURCE_URL] @@ -25,21 +25,21 @@ function update_script() { check_container_storage check_container_resources - # Check if installation is present | -f for file, -d for folder - if [[ ! -f /opt/huntarr/huntarr ]]; then + # Check for Python app with hardcoded path + if [[ ! -f /opt/huntarr/main.py ]]; then msg_error "No ${APP} Installation Found!" exit fi # Crawling the new version and checking whether an update is required RELEASE=$(curl -fsSL https://api.github.com/repos/plexguide/Huntarr.io/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + if [[ "${RELEASE}" != "$(cat /opt/huntarr_version.txt 2>/dev/null)" ]] || [[ ! -f /opt/huntarr_version.txt ]]; then # Stopping Services msg_info "Stopping $APP" systemctl stop huntarr msg_ok "Stopped $APP" - # Creating Backup + # Creating Backup - maintain only one backup file msg_info "Creating Backup" # Remove any existing backups if ls /opt/${APP}_backup_*.tar.gz &>/dev/null; then @@ -50,11 +50,15 @@ function update_script() { tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" /opt/huntarr msg_ok "Backup Created" - # Execute Update + # Execute Update for Python app msg_info "Updating $APP to v${RELEASE}" - curl -fsSL -o "/opt/huntarr/huntarr_${RELEASE}_linux_amd64.tar.gz" "https://github.com/plexguide/Huntarr.io/releases/download/${RELEASE}/huntarr_${RELEASE}_linux_amd64.tar.gz" - tar -xzf "/opt/huntarr/huntarr_${RELEASE}_linux_amd64.tar.gz" -C /opt/huntarr - chmod +x /opt/huntarr/huntarr + curl -fsSL -o "/opt/huntarr/${RELEASE}.zip" "https://github.com/plexguide/Huntarr.io/archive/refs/tags/${RELEASE}.zip" + unzip -q -o "/opt/huntarr/${RELEASE}.zip" -d /tmp + cp -rf "/tmp/Huntarr.io-${RELEASE}"/* /opt/huntarr/ + + # Update Python dependencies + cd /opt/huntarr || exit + /opt/huntarr/venv/bin/pip install -r requirements.txt msg_ok "Updated $APP to v${RELEASE}" # Starting Services @@ -64,11 +68,12 @@ function update_script() { # Cleaning up msg_info "Cleaning Up" - rm -f /opt/huntarr/huntarr_"${RELEASE}"_linux_amd64.tar.gz + rm -f "/opt/huntarr/${RELEASE}.zip" + rm -rf "/tmp/Huntarr.io-${RELEASE}" msg_ok "Cleanup Completed" # Last Action - echo "${RELEASE}" >/opt/${APP}_version.txt + echo "${RELEASE}" >/opt/huntarr_version.txt msg_ok "Update Successful" else msg_ok "No update required. ${APP} is already at v${RELEASE}"