Restore qbittorrent to 5.2.0-1

Agent-Logs-Url: https://github.com/alexbelgium/hassio-addons/sessions/cdb03348-d634-4a0b-b56c-90df2b4dfb21

Co-authored-by: alexbelgium <44178713+alexbelgium@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-05-10 15:51:37 +00:00
committed by GitHub
parent a74a9c65ee
commit 5eb0b4812a
4 changed files with 10 additions and 46 deletions

View File

@@ -1,15 +1,3 @@
## 5.2.0-5 (10-05-2026)
- Minor bugs fixed
## 5.2.0-4 (2026-05-10)
- Fix "unbound variable" crash: use \`${LSIO_NON_ROOT_USER:-}\` so the variable is safely empty when unset; remove duplicate QB_BIN detection block
## 5.2.0-3 (2026-05-10)
- Fix qBittorrent restart loop: remove s6-notifyoncheck (notification-fd 3 EBADF when not running under s6-rc), discover binary path dynamically across LSIO image layouts, remove `/dev/stdout` redirect that fails on some ARM runtimes, align with upstream LSIO run script (WebUI address from config, LSIO_NON_ROOT_USER)
- Fix Dockerfile: add missing `-i` flag to `sed '11,13d'` so default config lines are actually removed at build time
## 5.2.0-2 (2026-05-10)
- Fix qBittorrent restart loop: remove s6-notifyoncheck (avoids notification-fd EBADF crash) and discover binary path dynamically across LSIO image layouts
## 5.2.0-1 (2026-05-10)
- Fix qbittorrent-nox path (/usr/bin → /app) after LSIO image update

View File

@@ -46,8 +46,8 @@ RUN \
# Set download folder to /share
sed -i 's|/downloads/|/share/qBittorrent/|g' /defaults/qBittorrent.conf \
\
# Remove fixed folders (SavePath/ScanDirsV2/TempPath), handled by init script
&& sed -i '11,13d' /defaults/qBittorrent.conf \
# Remove fixed folders, allows connection to webUI
&& sed '11,13d' /defaults/qBittorrent.conf \
&& echo 'WebUI\HostHeaderValidation=false' >> /defaults/qBittorrent.conf \
&& echo 'WebUI\LocalHostAuth=false' >> /defaults/qBittorrent.conf \
\

View File

@@ -143,4 +143,4 @@ schema:
slug: qbittorrent
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "5.2.0-5"
version: "5.2.0-1"

View File

@@ -4,12 +4,6 @@
WEBUI_PORT=${WEBUI_PORT:-8080}
export PATH="/usr/local/sbin:/usr/local/bin:${PATH}"
# Read WebUI bind address from config (mirrors upstream LSIO approach)
WEBUI_ADDRESS=$(grep -Po "^WebUI\\\\Address=\K(.*)" /config/qBittorrent/qBittorrent.conf 2>/dev/null || echo "")
if [[ -z ${WEBUI_ADDRESS} ]] || [[ ${WEBUI_ADDRESS} == "*" ]]; then
WEBUI_ADDRESS="localhost"
fi
# --- Configuration & Pre-checks ---
if bashio::config.true 'silent'; then
@@ -42,32 +36,14 @@ fi
# --- Launch qBittorrent ---
# Find qbittorrent-nox binary across different LSIO image layouts
QB_BIN=""
for candidate in /app/qbittorrent-nox /usr/bin/qbittorrent-nox /usr/local/bin/qbittorrent-nox; do
if [[ -x "${candidate}" ]]; then
QB_BIN="${candidate}"
break
fi
done
if [[ -z "${QB_BIN}" ]]; then
bashio::log.fatal "qbittorrent-nox binary not found"
exit 1
# Determine log output based on silent mode
QB_OUTPUT="/dev/stdout"
if bashio::config.true 'silent'; then
QB_OUTPUT="/dev/null"
fi
bashio::log.info "Starting qBittorrent..."
# Suppress output in silent mode by redirecting the current shell's stdout/stderr
# before exec replaces the process (avoids opening /dev/stdout which may fail on
# some ARM platforms / container runtimes).
if bashio::config.true 'silent'; then
exec >/dev/null 2>&1
fi
set +u
if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
exec s6-setuidgid abc "${QB_BIN}" --webui-port="${WEBUI_PORT}"
else
exec "${QB_BIN}" --webui-port="${WEBUI_PORT}"
fi
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost ${WEBUI_PORT}" \
s6-setuidgid abc /app/qbittorrent-nox --webui-port="${WEBUI_PORT}" > "${QB_OUTPUT}"