diff --git a/ct/huntarr.sh b/ct/huntarr.sh index c20cec2..c73398b 100644 --- a/ct/huntarr.sh +++ b/ct/huntarr.sh @@ -5,7 +5,6 @@ source <(curl -fsSL https://git.bila.li/Proxmox/proxmox-ve-install-scripts/raw/b # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: [SOURCE_URL] -# App Default Values APP="Huntarr" var_tags="${var_tags:-arr}" var_cpu="${var_cpu:-2}" @@ -25,41 +24,32 @@ function update_script() { check_container_storage check_container_resources - # 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/huntarr_version.txt)" ]] || [[ ! -f /opt/huntarr_version.txt ]]; then - # Stopping Services + if [[ "${RELEASE}" != "$(cat /opt/"${APP}"_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping $APP" systemctl stop huntarr msg_ok "Stopped $APP" - # 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 rm -f /opt/${APP}_backup_*.tar.gz msg_info "Removed previous backup" fi - # Create new backup tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" /opt/huntarr msg_ok "Backup Created" - # Execute Update for Python app msg_info "Updating $APP to v${RELEASE}" 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 msg_info "Updating Python dependencies" cd /opt/huntarr || exit - # Check if requirements changed with md5sum if [[ -f "/opt/huntarr/.requirements_checksum" ]]; then CURRENT_CHECKSUM=$(md5sum requirements.txt | awk '{print $1}') STORED_CHECKSUM=$(cat .requirements_checksum) @@ -72,31 +62,26 @@ function update_script() { uv pip install -r requirements.txt --python /opt/huntarr/venv/bin/python fi else - # First time update - ensure UV is installed - if ! command -v uv &> /dev/null; then + if ! command -v uv &>/dev/null; then msg_info "Installing UV package manager" curl -LsSf https://astral.sh/uv/install.sh | sh msg_ok "UV package manager installed" fi uv pip install -r requirements.txt --python /opt/huntarr/venv/bin/python fi - # Store new checksum md5sum requirements.txt | awk '{print $1}' >.requirements_checksum msg_ok "Updated Python dependencies" msg_ok "Updated $APP to v${RELEASE}" - # Starting Services msg_info "Starting $APP" systemctl start huntarr msg_ok "Started $APP" - # Cleaning up msg_info "Cleaning Up" rm -f "/opt/huntarr/${RELEASE}.zip" rm -rf "/tmp/Huntarr.io-${RELEASE}" msg_ok "Cleanup Completed" - # Last Action echo "${RELEASE}" >/opt/huntarr_version.txt msg_ok "Update Successful" else diff --git a/edfafdsaf.sh b/edfafdsaf.sh new file mode 100644 index 0000000..e69de29 diff --git a/install/huntarr-install.sh b/install/huntarr-install.sh index 512e075..e6bd2aa 100644 --- a/install/huntarr-install.sh +++ b/install/huntarr-install.sh @@ -5,7 +5,6 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/plexguide/Huntarr.io -# Import Functions und Setup source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 @@ -18,11 +17,15 @@ APPLICATION="huntarr" REPO_NAME="Huntarr.io" msg_info "Installing Dependencies" +$STD apt-get install -y +jq \ + msg_ok "Installed System Dependencies" + +msg_info "Installing Python" $STD apt-get install -y \ - jq \ python3 \ python3-venv -msg_ok "Installed System Dependencies" +msg_ok "Setting up Python" msg_info "Setting up UV package installer" curl -LsSf https://astral.sh/uv/install.sh | sh @@ -37,7 +40,6 @@ unzip -q "${RELEASE}.zip" mv "${REPO_NAME}-${RELEASE}/" "/opt/${APPLICATION}" echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Setup ${APPLICATION}" msg_info "Setting up Python Environment" $STD uv venv /opt/${APPLICATION}/venv @@ -46,18 +48,17 @@ msg_ok "Created Python Virtual Environment" msg_info "Installing Python Dependencies" $STD uv pip install --python /opt/${APPLICATION}/venv/bin/python -r /opt/${APPLICATION}/requirements.txt msg_ok "Installed Python Dependencies" +msg_ok "Setup ${APPLICATION}" msg_info "Creating Service" cat </etc/systemd/system/${APPLICATION}.service [Unit] Description=Huntarr Service After=network.target - [Service] WorkingDirectory=/opt/${APPLICATION} ExecStart=/opt/${APPLICATION}/venv/bin/python /opt/${APPLICATION}/main.py Restart=always - [Install] WantedBy=multi-user.target EOF @@ -71,4 +72,4 @@ msg_info "Cleaning up" rm -f "${RELEASE}.zip" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" \ No newline at end of file +msg_ok "Cleaned"