From 2d87429006e277a6a2c34e877cd3294fe433b090 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Wed, 18 Mar 2026 17:22:22 +0100 Subject: [PATCH] fix(tdarr): use curl_with_retry and verify binaries before enabling service Tdarr_Updater downloads the actual server/node binaries from tdarr.io at runtime. If tdarr.io is blocked by local DNS (e.g. OPNsense OISD blocklists), the updater exits silently with code 0, leaving no binaries on disk. The subsequent systemctl enable then fails with 'Operation not permitted' (exit 1) because the ExecStart paths don't exist. Changes: - Replace bare curl with curl_with_retry for versions.json and Tdarr_Updater.zip downloads to gain retry logic, DNS pre-check and exponential backoff - Add msg_info before Tdarr_Updater run so users see this step in the log - Check that Tdarr_Server and Tdarr_Node binaries exist after the updater runs; fail immediately with a clear message pointing to tdarr.io connectivity instead of letting systemctl fail with a confusing 'Operation not permitted' Fixes: #13030 --- install/tdarr-install.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/install/tdarr-install.sh b/install/tdarr-install.sh index f40ecf088..5359e2ad9 100644 --- a/install/tdarr-install.sh +++ b/install/tdarr-install.sh @@ -20,12 +20,15 @@ msg_ok "Installed Dependencies" msg_info "Installing Tdarr" mkdir -p /opt/tdarr cd /opt/tdarr -RELEASE=$(curl -fsSL https://f000.backblazeb2.com/file/tdarrs/versions.json | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1) -curl -fsSL "$RELEASE" -o Tdarr_Updater.zip +RELEASE=$(curl_with_retry "https://f000.backblazeb2.com/file/tdarrs/versions.json" "-" | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1) +curl_with_retry "$RELEASE" "Tdarr_Updater.zip" $STD unzip Tdarr_Updater.zip chmod +x Tdarr_Updater +msg_info "Running Tdarr_Updater (downloading server/node binaries from tdarr.io)" $STD ./Tdarr_Updater rm -rf /opt/tdarr/Tdarr_Updater.zip +[[ -f /opt/tdarr/Tdarr_Server/Tdarr_Server && -f /opt/tdarr/Tdarr_Node/Tdarr_Node ]] \ + || fatal "Tdarr_Updater did not download server binaries — tdarr.io may be blocked by local DNS" msg_ok "Installed Tdarr" setup_hwaccel