From 67c391e3ed70cbecac90a0346b3650d8b8c66f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 24 Mar 2025 23:29:53 +0100 Subject: [PATCH] qBittorrent: Switch to static builds for faster updating/upgrading (#3405) * qBittorrent update to v5.0.4 * fixes --- ct/qbittorrent.sh | 40 ++++++++++++++++++++++++++++------ install/qbittorrent-install.sh | 25 ++++++++++++++------- 2 files changed, 50 insertions(+), 15 deletions(-) diff --git a/ct/qbittorrent.sh b/ct/qbittorrent.sh index 5b4fa0d48..7d2bbbccf 100644 --- a/ct/qbittorrent.sh +++ b/ct/qbittorrent.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: tteck (tteckster) | Co-Author: Slaviša Arežina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.qbittorrent.org/ @@ -27,10 +27,36 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - msg_info "Updating ${APP} LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated ${APP} LXC" + if [[ ! -f /opt/${APP}_version.txt ]]; then + touch /opt/${APP}_version.txt + mkdir -p $HOME/.config/qBittorrent/ + mkdir -p /opt/qbittorrent/ + mv /.config/qBittorrent $HOME/.config/ + $STD apt-get remove --purge -y qbittorrent-nox + sed -i 's@ExecStart=/usr/bin/qbittorrent-nox@ExecStart=/opt/qbittorrent/qbittorrent-nox@g' /etc/systemd/system/qbittorrent-nox.service + systemctl daemon-reload + fi + FULLRELEASE=$(curl -s https://api.github.com/repos/userdocs/qbittorrent-nox-static/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(echo $FULLRELEASE | cut -c 9-13) + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Stopping Service" + systemctl stop qbittorrent-nox + msg_ok "Stopped Service" + + msg_info "Updating ${APP} to v${RELEASE}" + rm -f /opt/qbittorrent/qbittorrent-nox + curl -fsSL "https://github.com/userdocs/qbittorrent-nox-static/releases/download/${FULLRELEASE}/x86_64-qbittorrent-nox" -o /opt/qbittorrent/qbittorrent-nox + chmod +x /opt/qbittorrent/qbittorrent-nox + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated $APP to v${RELEASE}" + + msg_info "Starting Service" + systemctl start qbittorrent-nox + msg_ok "Started Service" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi exit } @@ -41,4 +67,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}" diff --git a/install/qbittorrent-install.sh b/install/qbittorrent-install.sh index dcc1857f1..d4d5abf25 100644 --- a/install/qbittorrent-install.sh +++ b/install/qbittorrent-install.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: tteck (tteckster) | Co-Author: Slaviša Arežina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.qbittorrent.org/ @@ -13,10 +13,14 @@ setting_up_container network_check update_os -msg_info "Installing qbittorrent-nox" -$STD apt-get install -y qbittorrent-nox -mkdir -p /.config/qBittorrent/ -cat </.config/qBittorrent/qBittorrent.conf +msg_info "Setup qBittorrent-nox" +FULLRELEASE=$(curl -s https://api.github.com/repos/userdocs/qbittorrent-nox-static/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +RELEASE=$(echo $FULLRELEASE | cut -c 9-13) +mkdir -p /opt/qbittorrent +curl -fsSL "https://github.com/userdocs/qbittorrent-nox-static/releases/download/${FULLRELEASE}/x86_64-qbittorrent-nox" -o /opt/qbittorrent/qbittorrent-nox +chmod +x /opt/qbittorrent/qbittorrent-nox +mkdir -p $HOME/.config/qBittorrent/ +cat <$HOME/.config/qBittorrent/qBittorrent.conf [LegalNotice] Accepted=true @@ -26,16 +30,21 @@ WebUI\Port=8090 WebUI\UseUPnP=false WebUI\Username=admin EOF -msg_ok "qbittorrent-nox" +echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +msg_ok "Setup qBittorrent-nox" msg_info "Creating Service" cat </etc/systemd/system/qbittorrent-nox.service [Unit] Description=qBittorrent client After=network.target + [Service] -ExecStart=/usr/bin/qbittorrent-nox +Type=simple +User=root +ExecStart=/opt/qbittorrent/qbittorrent-nox Restart=always + [Install] WantedBy=multi-user.target EOF