From df1047cd5f7978b18be0a0322b9bcf7dd1126b40 Mon Sep 17 00:00:00 2001 From: Timothy Farmer Date: Sun, 14 Jan 2024 08:19:52 -0600 Subject: [PATCH 1/2] FIX: Rewrote update-config.sh to be cleaner as well as support lidarr being optional. ADD: Added support for vuetorrent to qbittorrent & updated the readme for instructions to enable. --- README.md | 2 ++ docker-compose.yml | 1 + update-config.sh | 64 ++++++++++++++++++---------------------------- 3 files changed, 28 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index baee727..e606475 100644 --- a/README.md +++ b/README.md @@ -181,6 +181,8 @@ In Lidarr, set the Root folder to `/data/media/music`. Then qBittorrent can be configured at Settings > Download Clients. Because all the networking for qBittorrent takes place in the VPN container, the hostname for qBittorrent is the hostname of the VPN container, ie `vpn`, and the port is `8080`: +To use the VUETorrent WebUI just go to `qBittorrent`, `Options`, `Web UI`, `Use Alternative WebUI`, and enter `/vuetorrent`. + ## Prowlarr The indexers are configured through Prowlarr. They synchronize automatically to Radarr and Sonarr. diff --git a/docker-compose.yml b/docker-compose.yml index af2ce69..7c8a390 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -251,6 +251,7 @@ services: - PGID=${GROUP_ID} - TZ=${TIMEZONE} - WEBUI_PORT=8080 + - DOCKER_MODS=ghcr.io/gabe565/linuxserver-mod-vuetorrent volumes: - ./qbittorrent:/config - ${DOWNLOAD_ROOT}:/data/torrents diff --git a/update-config.sh b/update-config.sh index 1d3ec3c..d8df531 100755 --- a/update-config.sh +++ b/update-config.sh @@ -2,44 +2,30 @@ # See https://stackoverflow.com/a/44864004 for the sed GNU/BSD compatible hack -echo "Updating Radarr configuration..." -until [ -f ./radarr/config.xml ] -do - sleep 5 -done -sed -i.bak "s/<\/UrlBase>/\/radarr<\/UrlBase>/" ./radarr/config.xml && rm ./radarr/config.xml.bak -sed -i.bak 's/^RADARR_API_KEY=.*/RADARR_API_KEY='"$(sed -n 's/.*\(.*\)<\/ApiKey>.*/\1/p' ./radarr/config.xml)"'/' .env && rm .env.bak +function update_config { + echo "Upadting ${1^} configuration..." + until [ -f ./$1/config.xml ] + do + sleep 5 + done + sed -i.bak "s/<\/UrlBase>/\/$1<\/UrlBase>/" ./$1/config.xml && rm ./$1/config.xml.bak + sed -i.bak 's/^'"${1^^}"'_API_KEY=.*/'"${1^^}"'_API_KEY='"$(sed -n 's/.*\(.*\)<\/ApiKey>.*/\1/p' ./$1/config.xml)"'/' .env && rm .env.bak + echo "Update of ${1^} configuration complete." + echo "Restarting ${1^}..." + docker compose restart $1 +} -echo "Updating Sonarr configuration..." -until [ -f ./sonarr/config.xml ] -do - sleep 5 +for container in $(docker ps --format '{{.Names}}'); do + if [[ $container =~ ^(radarr|sonarr|lidarr|prowlarr)$ ]]; then + update_config $container + elif [[ $container =~ ^(jellyfin)$ ]]; then + echo "Upadting ${container^} configuration..." + until [ -f ./$container/network.xml ]; do + sleep 5 + done + sed -i.bak "s//\/$container<\/BaseUrl>/" ./$container/network.xml && rm ./$container/network.xml.bak + echo "Update of ${container^} configuration complete." + echo "Restarting ${container^}..." + docker compose restart $container + fi done -sed -i.bak "s/<\/UrlBase>/\/sonarr<\/UrlBase>/" ./sonarr/config.xml && rm ./sonarr/config.xml.bak -sed -i.bak 's/^SONARR_API_KEY=.*/SONARR_API_KEY='"$(sed -n 's/.*\(.*\)<\/ApiKey>.*/\1/p' ./sonarr/config.xml)"'/' .env && rm .env.bak - -echo "Updating Lidarr configuration..." -until [ -f ./lidarr/config.xml ] -do - sleep 5 -done -sed -i.bak "s/<\/UrlBase>/\/lidarr<\/UrlBase>/" ./lidarr/config.xml && rm ./lidarr/config.xml.bak -sed -i.bak 's/^LIDARR_API_KEY=.*/LIDARR_API_KEY='"$(sed -n 's/.*\(.*\)<\/ApiKey>.*/\1/p' ./lidarr/config.xml)"'/' .env && rm .env.bak - -echo "Updating Prowlarr configuration..." -until [ -f ./prowlarr/config.xml ] -do - sleep 5 -done -sed -i.bak "s/<\/UrlBase>/\/prowlarr<\/UrlBase>/" ./prowlarr/config.xml && rm ./prowlarr/config.xml.bak -sed -i.bak 's/^PROWLARR_API_KEY=.*/PROWLARR_API_KEY='"$(sed -n 's/.*\(.*\)<\/ApiKey>.*/\1/p' ./prowlarr/config.xml)"'/' .env && rm .env.bak - -echo "Updating Jellyfin configuration..." -until [ -f ./jellyfin/network.xml ] -do - sleep 5 -done -sed -i.bak "s//\/jellyfin<\/BaseUrl>/" ./jellyfin/network.xml && rm ./jellyfin/network.xml.bak - -echo "Restarting containers..." -docker compose restart radarr sonarr prowlarr jellyfin From c1d516a34ff7bc055510ff5b3d739fec46e3f73f Mon Sep 17 00:00:00 2001 From: Timothy Farmer Date: Sun, 14 Jan 2024 08:24:05 -0600 Subject: [PATCH 2/2] ADD: Credits to gabe565 for the VueTorrent implementation as well as correcting the spelling of VueTorrent --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e606475..356049b 100644 --- a/README.md +++ b/README.md @@ -181,7 +181,7 @@ In Lidarr, set the Root folder to `/data/media/music`. Then qBittorrent can be configured at Settings > Download Clients. Because all the networking for qBittorrent takes place in the VPN container, the hostname for qBittorrent is the hostname of the VPN container, ie `vpn`, and the port is `8080`: -To use the VUETorrent WebUI just go to `qBittorrent`, `Options`, `Web UI`, `Use Alternative WebUI`, and enter `/vuetorrent`. +To use the VueTorrent WebUI just go to `qBittorrent`, `Options`, `Web UI`, `Use Alternative WebUI`, and enter `/vuetorrent`. Special thanks to gabe565 for the easy enablement with (https://github.com/gabe565/linuxserver-mod-vuetorrent). ## Prowlarr