diff --git a/filebrowser/CHANGELOG.md b/filebrowser/CHANGELOG.md index 1bd02a2bf..485d3d386 100644 --- a/filebrowser/CHANGELOG.md +++ b/filebrowser/CHANGELOG.md @@ -1,5 +1,7 @@ +### 2.23.0_10 (30-12-2023) +- Minor bugs fixed - Fix : correct cache for thumbnails creation -- Feat : new option to disable thumbnails (set disable_thumbnails to true) +- Feat : new addon option to disable_thumbnails (set disable_thumbnails to true or false ; default true for speed) ### 2.23.0_8 (20-12-2023) - Minor bugs fixed diff --git a/filebrowser/README.md b/filebrowser/README.md index 4836fbf35..2c543484c 100644 --- a/filebrowser/README.md +++ b/filebrowser/README.md @@ -35,7 +35,7 @@ ssl: true/false certfile: fullchain.pem #ssl certificate keyfile: privkey.pem #sslkeyfile NoAuth: true/false #Remove password. Resets database when changed. -smbv1: false # Should smbv1 be used instead of 2.1+? +disable_thumbnails : true/false (set disable_thumbnails to true or false ; default true for speed) localdisks: sda1 #put the hardware name of your drive to mount separated by commas, or its label. ex. sda1, sdb1, MYNAS... networkdisks: "//SERVER/SHARE" # optional, list of smbv2/3 servers to mount, separated by commas cifsusername: "username" # optional, smb username, same for all smb shares diff --git a/filebrowser/build.json b/filebrowser/build.json index a06135681..f8babb065 100644 --- a/filebrowser/build.json +++ b/filebrowser/build.json @@ -1,8 +1,8 @@ { "build_from": { - "aarch64": "filebrowser/filebrowser:v2.23.0", - "amd64": "filebrowser/filebrowser:v2.23.0", - "armv7": "filebrowser/filebrowser:v2.23.0" + "aarch64": "hurlenko/filebrowser:v2.23.0", + "amd64": "hurlenko/filebrowser:v2.23.0", + "armv7": "hurlenko/filebrowser:v2.23.0" }, "codenotary": { "signer": "alexandrep.github@gmail.com" diff --git a/filebrowser/config.json b/filebrowser/config.json index e11cc450e..50d287170 100644 --- a/filebrowser/config.json +++ b/filebrowser/config.json @@ -80,6 +80,7 @@ "options": { "NoAuth": true, "certfile": "fullchain.pem", + "disable_thumbnails": true, "keyfile": "privkey.pem", "ssl": false }, @@ -110,5 +111,5 @@ "slug": "filebrowser", "udev": true, "url": "https://github.com/alexbelgium/hassio-addons", - "version": "2.23.0_8" + "version": "2.23.0_10" } diff --git a/filebrowser/rootfs/etc/cont-init.d/99-run.sh b/filebrowser/rootfs/etc/cont-init.d/99-run.sh index ae8226721..c1760d196 100755 --- a/filebrowser/rootfs/etc/cont-init.d/99-run.sh +++ b/filebrowser/rootfs/etc/cont-init.d/99-run.sh @@ -85,22 +85,26 @@ else bashio::log.info "Default username/password : admin/admin" fi +# Set base folder if bashio::config.has_value 'base_folder'; then BASE_FOLDER=$(bashio::config 'base_folder') else BASE_FOLDER=/ fi -if bashio::config.has_value 'disable_thumbnails'; then - DISABLE_THUMBNAILS=" --disable-thumbnails" +# Disable thumbnails +if bashio::config.true 'disable_thumbnails'; then + DISABLE_THUMBNAILS="--disable-thumbnails" else DISABLE_THUMBNAILS="" fi -bashio::log.info "Starting..." +# Remove configuration file +if [ -f /.filebrowser.json ]; then + rm /.filebrowser.json +fi -# Remove default config -rm /.filebrowser.json +bashio::log.info "Starting..." # shellcheck disable=SC2086 /./filebrowser --disable-preview-resize --disable-type-detection-by-header --cache-dir="/cache" $CERTFILE $KEYFILE --root="$BASE_FOLDER" --address=0.0.0.0 --port=8080 --database=/config/filebrowser.dB "$NOAUTH" "$DISABLE_THUMBNAILS" & diff --git a/prowlarr/README.md b/prowlarr/README.md index bf07b6d92..374bb952d 100644 --- a/prowlarr/README.md +++ b/prowlarr/README.md @@ -1,3 +1,4 @@ +## ⚠ Open Issue : [🐛 [Qbittorrent] Unable to connect to Qbittorrent from Sonarr or Prowlarr (opened 2024-01-02)](https://github.com/alexbelgium/hassio-addons/issues/1153) by [@JohnnyPicnic](https://github.com/JohnnyPicnic) # Home assistant add-on: Prowlarr [![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium) diff --git a/qbittorrent/CHANGELOG.md b/qbittorrent/CHANGELOG.md index e022ebd35..5fbc54115 100644 --- a/qbittorrent/CHANGELOG.md +++ b/qbittorrent/CHANGELOG.md @@ -1,9 +1,18 @@ -### 4.6.2_29 (30-12-2023) +- [qbit_manage] : switch to develop + +### 4.6.2_40 (31-12-2023) - Minor bugs fixed -- Feat : sanitize ovpn files (disabling ipv6 as not supported by HA, ensuring CRLF, ensure trailing new line, checking paths of referenced static files...) -- Feat : if no ovpn is referred in the option, it will use a random one from the openvpn folder (from https://github.com/Trigus42/alpine-qbittorrentvpn) -- Fix : avoid addon restart at each start (due to blanks being cleaned in the whitelist field) -- Fix : reduce cron log level to avoid spam +- [qbit_manage] : corrects default yaml for the addon for url (127.0.0.1 instead of localhost ) ; username (from username in options) ; password (default is homeassistant) ; root_dir (from SavePath in options) [15f4d63](https://github.com/alexbelgium/hassio-addons/commit/15f4d632c5d6946d093e39b5d3f9bee135aadfe7) + +### 4.6.2_37 (30-12-2023) +- [openvpn] Feat (potential breaking change) : previously, "auth-user-pass" fields were removed to use the addon username & password. Now, the addon will respect those fields if the file exists to allow for multiple configurations storing different credentials in local files. If the referenced file doesn't exists, or if this field is not referenced, the normal addon username & password will be used +- [openvpn] Feat : use ovpn files directly in /config/openvpn instead of doing a copy in /etc/openvpn as before. This will make any change more obvious to the user. + +### 4.6.2_30 (30-12-2023) +- [openvpn] Feat : sanitize ovpn files (disabling ipv6 as not supported by HA, ensuring CRLF, ensure trailing new line, checking paths of referenced static files...) +- [openvpn] Feat : if no ovpn is referred in the option, it will use a random one from the openvpn folder (from https://github.com/Trigus42/alpine-qbittorrentvpn) +- [qbittorrent] Fix : avoid addon restart at each start (due to blanks being cleaned in the whitelist field) +- [general] Fix : reduce cron log level to avoid spam ### 4.6.2_27_reverted (23-12-2023) - ⚠ BREAKING CHANGE : I've decided to revert to the initial upstream image, apologies for this whole incovenience. After receiving many constructive (or plainly negative) feedbacks I have decided it was just not worth it to implement a new upstream image supposed to prevent ip leak for openvpn, plus wireguard support, and decided to just restore my own code. I've still kept qbit_manage, and will perhaps implement wireguard in the future but with my own code. As the databases were migrated for users to the new config locations, I've decided to keep it like that. It is more sustainable as HA is pushing in this direction and allows to backup the config with the addon (which was not the case previously). diff --git a/qbittorrent/Dockerfile b/qbittorrent/Dockerfile index 86309c1eb..68531b7b4 100644 --- a/qbittorrent/Dockerfile +++ b/qbittorrent/Dockerfile @@ -64,17 +64,21 @@ RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGL # ADD QBIT_MANAGE ################# -ENV QBM_DOCKER True -ENV QBT_SKIP_QB_VERSION_CHECK True +ENV QBM_DOCKER=True +ENV QBT_SKIP_QB_VERSION_CHECK=True +ENV qbt_skip_qb_version_check=true ENV PYTHONUNBUFFERED=1 # halodint disable=DL3019,SC3010 RUN \ # Install qbit_manage mkdir -p /qbit_manage && \ - curl -o /tmp/qbit_manage.tar.gz -L "https://github.com/StuffAnThings/qbit_manage/archive/master.tar.gz" && \ + curl -o /tmp/qbit_manage.tar.gz -L "https://github.com/StuffAnThings/qbit_manage/tarball/develop" && \ tar xf /tmp/qbit_manage.tar.gz -C /qbit_manage --strip-components=1 && \ \ + # Clean dependencies + sed -i "s/\\(qbittorrent-api\\)==2023.10.54/\\1/" /qbit_manage/requirements.txt && \ + \ # Install dependencies ## Allow python specific arch BUILD_ARCH=$(uname -m) && \ diff --git a/qbittorrent/README.md b/qbittorrent/README.md index 783cd3fb2..de6072253 100644 --- a/qbittorrent/README.md +++ b/qbittorrent/README.md @@ -1,5 +1,5 @@ ## ⚠ Open Issue : [🐛 [qbittorrent] Unable to get qbitmanage to run (opened 2023-12-13)](https://github.com/alexbelgium/hassio-addons/issues/1131) by [@hacshacdgacs](https://github.com/hacshacdgacs) -## ⚠ Open Issue : [[Qbittorrent] random ovpn is NOT used as advertised in changelog (opened 2023-12-30)](https://github.com/alexbelgium/hassio-addons/issues/1150) by [@Stooovie](https://github.com/Stooovie) +## ⚠ Open Issue : [🐛 [Qbittorrent] Unable to connect to Qbittorrent from Sonarr or Prowlarr (opened 2024-01-02)](https://github.com/alexbelgium/hassio-addons/issues/1153) by [@JohnnyPicnic](https://github.com/JohnnyPicnic) # Home assistant add-on: qbittorrent [![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium) diff --git a/qbittorrent/config.json b/qbittorrent/config.json index ab3652522..21d57d6c0 100644 --- a/qbittorrent/config.json +++ b/qbittorrent/config.json @@ -139,5 +139,5 @@ "slug": "qbittorrent", "udev": true, "url": "https://github.com/alexbelgium/hassio-addons", - "version": "4.6.2_29" + "version": "4.6.2_40_test2" } diff --git a/qbittorrent/rootfs/etc/cont-init.d/92-qbit_manage.sh b/qbittorrent/rootfs/etc/cont-init.d/92-qbit_manage.sh index ab07585a2..f10d7ba6c 100755 --- a/qbittorrent/rootfs/etc/cont-init.d/92-qbit_manage.sh +++ b/qbittorrent/rootfs/etc/cont-init.d/92-qbit_manage.sh @@ -19,13 +19,22 @@ if bashio::config.true "qbit_manage"; then # Set qBittorrent options echo "... align QBT username and password" - sed -i "/host:/c\ host: \"localhost:8080\"" /config/qbit_manage/qbit_manage.yml - sed -i "/user:/c\ user: \"$(bashio::config "QBT_USERNAME")\"" /config/qbit_manage/qbit_manage.yml - sed -i "s=root_dir: \"/data/torrents/\"=$(bashio::config.has_value "SavePath")=g" /config/qbit_manage/qbit_manage.yml - sed -i "s=remote_dir: \"/mnt/user/data/torrents/\"=$(bashio::config.has_value "SavePath")=g" /config/qbit_manage/qbit_manage.yml + # qBittorrent path to local + echo "... default url set to 127.0.0.1, change manually if you have an external qbt system" + sed -i "s/localhost/127.0.0.1/g" /config/qbit_manage/qbit_manage.yml + # Set password from options + echo "... setting username to the addon options one" + sed -i "/user:/c\ user: '$(bashio::config 'Username')'" /config/qbit_manage/qbit_manage.yml + # If password is default, correct + echo "... default password set to homeassistant, change manually in the file if not" + sed -i "/pass: password/c\ pass: homeassistant" /config/qbit_manage/qbit_manage.yml + # Set root dir + echo "... downloads directory set to $(bashio::config 'SavePath')" + sed -i "/ root_dir/d" /config/qbit_manage/qbit_manage.yml + sed -i "/directory:/a\ root_dir: \"$(bashio::config 'SavePath')\"" /config/qbit_manage/qbit_manage.yml # Startup delay 30s ; config file specific ; log file specific - python /qbit_manage/qbit_manage.py -sd 30 --config-file "/config/qbit_manage/qbit_manage.yml" --log-file "/config/qbit_manage/qbit_manage.log" --run & true + python /qbit_manage/qbit_manage.py -sd 30 --config-file "/config/qbit_manage/qbit_manage.yml" --log-file "/config/qbit_manage/qbit_manage.log" & true bashio::log.info "qbit_manage started with config in /addon_configs/$HOSTNAME/qbit_manage/qbit_manage.yaml accessible with the Filebrowser addon" fi diff --git a/qbittorrent/rootfs/etc/cont-init.d/93-openvpn.sh b/qbittorrent/rootfs/etc/cont-init.d/93-openvpn.sh index d20db8e25..34ae293e5 100755 --- a/qbittorrent/rootfs/etc/cont-init.d/93-openvpn.sh +++ b/qbittorrent/rootfs/etc/cont-init.d/93-openvpn.sh @@ -20,26 +20,26 @@ if bashio::config.true 'openvpn_enabled'; then # Function to check for files path function check_path () { - # Get variable - file="$1" + # Get variable + file="$1" - # Double check exists - if [ ! -f "$file" ]; then - bashio::warning "$file not found" - return 1 - fi + # Double check exists + if [ ! -f "$file" ]; then + bashio::warning "$file not found" + return 1 + fi - cp "$file" /tmpfile + cp "$file" /tmpfile # Loop through each line of the input file while read -r line do # Check if the line contains a txt file - if [[ "$line" =~ \.txt ]] || [[ "$line" =~ \.crt ]]; then + if [[ ! $line =~ ^"#" ]] && [[ ! $line =~ ^";" ]] && [[ "$line" =~ \.txt ]] || [[ "$line" =~ \.crt ]] || [[ "$line" =~ auth-user-pass ]]; then # Extract the txt file name from the line file_name="$(echo "$line" | awk -F' ' '{print $2}')" # Check if the txt file exists - if [ ! -f "$file_name" ]; then + if [[ "$file_name" != *"/etc/openvpn/credentials"* ]] && [ ! -f "$file_name" ]; then # Check if the txt file exists in the /config/openvpn/ directory if [ -f "/config/openvpn/${file_name##*/}" ]; then # Append /config/openvpn/ in front of the original txt file in the ovpn file @@ -54,16 +54,24 @@ if bashio::config.true 'openvpn_enabled'; then fi done < /tmpfile - rm /tmpfile + rm /tmpfile - # Standardize lf - dos2unix "$file" + # Standardize lf + dos2unix "$file" - # Ensure config ends with a line feed - sed -i "\$q" "$file" + # Remove custom up & down + sed -i '/^up /s/^/#/' "$file" + sed -i '/^down /s/^/#/' "$file" - # Correct paths - sed -i "s=/etc/openvpn=/config/openvpn=g" "$file" + # Remove blank lines + sed -i '/^[[:blank:]]*$/d' "$file" + + # Ensure config ends with a line feed + sed -i "\$q" "$file" + + # Correct paths + sed -i "s=/etc/openvpn=/config/openvpn=g" "$file" + sed -i "s=/config/openvpn/credentials=/etc/openvpn/credentials=g" "$file" } @@ -81,10 +89,6 @@ if bashio::config.true 'openvpn_enabled'; then echo "... configured ovpn file : using /addon_configs/$HOSTNAME/openvpn/$openvpn_config" # Check path check_path /config/openvpn/"$openvpn_config" - # Copy potential additional files - cp /config/openvpn/* /etc/openvpn/ - # Standardize file - cp /config/openvpn/"${openvpn_config}" /etc/openvpn/config.ovpn # Not correct type else bashio::exit.nok "Configured ovpn file : $openvpn_config is set but does not end by .ovpn ; it can't be used!" @@ -93,8 +97,8 @@ if bashio::config.true 'openvpn_enabled'; then bashio::exit.nok "Configured ovpn file : $openvpn_config not found! Are you sure you added it in /addon_configs/$HOSTNAME/openvpn using the Filebrowser addon ?" fi - # If openvpn_config not set, but folder is not empty - elif [ ! "$(ls -A /config/openvpn/*.ovpn 2>/dev/null)" ]; then + # If openvpn_config not set, but folder is not empty + elif ls /config/openvpn/*.ovpn > /dev/null 2>&1; then # Look for openvpn files # Wildcard search for openvpn config files and store results in array mapfile -t VPN_CONFIGS < <( find /config/openvpn -maxdepth 1 -name "*.ovpn" -print ) @@ -102,19 +106,18 @@ if bashio::config.true 'openvpn_enabled'; then VPN_CONFIG="${VPN_CONFIGS[$RANDOM % ${#VPN_CONFIGS[@]}]}" # Get the VPN_CONFIG name without the path and extension openvpn_config="${VPN_CONFIG##*/}" - echo "... Openvpn enabled, but openvpn_config option empty. Selecting a random ovpn file : ${openvpn_config}" + echo "... Openvpn enabled, but openvpn_config option empty. Selecting a random ovpn file : ${openvpn_config}. Other available files :" + printf '%s\n' "${VPN_CONFIGS[@]}" # Check path check_path /config/openvpn/"${openvpn_config}" - # Copy potential additional files - cp /config/openvpn/* /etc/openvpn/ - # Standardize file - cp /config/openvpn/"${openvpn_config}" /etc/openvpn/config.ovpn - - # If openvpn_enabled set, config not set, and openvpn folder empty + # If openvpn_enabled set, config not set, and openvpn folder empty else bashio::exit.nok "openvpn_enabled is set, however, your openvpn folder is empty ! Are you sure you added it in /addon_configs/$HOSTNAME/openvpn using the Filebrowser addon ?" fi + # Send to openvpn script + sed -i "s|/config/openvpn/config.ovpn|/config/openvpn/$openvpn_config|g" /etc/s6-overlay/s6-rc.d/svc-qbittorrent/run + # Set credentials if bashio::config.has_value "openvpn_username"; then openvpn_username=$(bashio::config 'openvpn_username') @@ -130,11 +133,32 @@ if bashio::config.true 'openvpn_enabled'; then fi # Add credentials file - if grep -q auth-user-pass /etc/openvpn/config.ovpn; then - sed -i "s/auth-user-pass.*/auth-user-pass \/etc\/openvpn\/credentials/g" /etc/openvpn/config.ovpn - bashio::log.warning "auth-user-pass specified, will be replaced by the addon options' username and password" + file_name="$(sed -n "/^auth-user-pass/p" /config/openvpn/"$openvpn_config" | awk -F' ' '{print $2}')" + file_name="${file_name:-null}" + if grep -q ^auth-user-pass /config/openvpn/"$openvpn_config" ; then + # Credentials specified are they custom ? + if [[ "$file_name" != *"/etc/openvpn/credentials"* ]] && [[ "$file_name" != "null" ]]; then + if [ -f "$file_name" ]; then + # If credential specified, exists, and is not the addon default + bashio::log.warning "auth-user-pass specified in the ovpn file, addon username and passwords won't be used !" + else + # Credential referenced but doesn't exist + bashio::log.warning "auth-user-pass $file_name is referenced in your ovpn file but does not exist, and can't be found either in the /config/openvpn/ directory. The addon will attempt to use it's own username and password instead." + # Comment previous lines + sed -i '/^auth-user-pass/i # specified auth-user-pass file not found, disabling' /config/openvpn/"$openvpn_config" + sed -i '/^auth-user-pass/s/^/#/' /config/openvpn/"$openvpn_config" + # No credentials specified, using addons username and password + echo "# Please do not remove the line below, it allows using the addon username and password" >> /config/openvpn/"$openvpn_config" + echo "auth-user-pass /etc/openvpn/credentials" >> /etc/openvpn/"$openvpn_config" + fi + else + # Standardize just to be sure + sed -i "/\/etc\/openvpn\/credentials/c auth-user-pass \/etc\/openvpn\/credentials" /config/openvpn/"$openvpn_config" + fi else - echo "auth-user-pass /etc/openvpn/credentials" >> /etc/openvpn/config.ovpn + # No credentials specified, using addons username and password + echo "# Please do not remove the line below, it allows using the addon username and password" >> /config/openvpn/"$openvpn_config" + echo "auth-user-pass /etc/openvpn/credentials" >> /config/openvpn/"$openvpn_config" fi # Permissions @@ -165,9 +189,9 @@ if bashio::config.true 'openvpn_enabled'; then sed -i '/Interface/d' "$QBT_CONFIG_FILE" # Modify ovpn config - if grep -q route-nopull /etc/openvpn/config.ovpn; then + if grep -q route-nopull /config/openvpn/"$openvpn_config"; then echo "... removing route-nopull from your config.ovpn" - sed -i '/route-nopull/d' /etc/openvpn/config.ovpn + sed -i '/route-nopull/d' /config/openvpn/"$openvpn_config" fi # Exit @@ -203,9 +227,9 @@ if bashio::config.true 'openvpn_enabled'; then fi # Modify ovpn config - if ! grep -q route-nopull /etc/openvpn/config.ovpn; then + if ! grep -q route-nopull /config/openvpn/"$openvpn_config"; then echo "... adding route-nopull to your config.ovpn" - sed -i "1a route-nopull" /etc/openvpn/config.ovpn + sed -i "1a route-nopull" /config/openvpn/"$openvpn_config" fi else diff --git a/qbittorrent/rootfs/etc/s6-overlay/s6-rc.d/svc-qbittorrent/run b/qbittorrent/rootfs/etc/s6-overlay/s6-rc.d/svc-qbittorrent/run index b8311578c..490bb2949 100644 --- a/qbittorrent/rootfs/etc/s6-overlay/s6-rc.d/svc-qbittorrent/run +++ b/qbittorrent/rootfs/etc/s6-overlay/s6-rc.d/svc-qbittorrent/run @@ -8,7 +8,7 @@ if bashio::config.true 'silent'; then fi if bashio::config.true 'openvpn_enabled'; then - exec /usr/sbin/openvpn --config /etc/openvpn/config.ovpn --script-security 2 --up /etc/openvpn/up.sh --down /etc/openvpn/down.sh --pull-filter ignore "route-ipv6" --pull-filter ignore "ifconfig-ipv6" --pull-filter ignore "tun-ipv6" --pull-filter ignore "redirect-gateway ipv6" --pull-filter ignore "dhcp-option DNS6" + exec /usr/sbin/openvpn --config /config/openvpn/config.ovpn --script-security 2 --up /etc/openvpn/up.sh --down /etc/openvpn/down.sh --pull-filter ignore "route-ipv6" --pull-filter ignore "ifconfig-ipv6" --pull-filter ignore "tun-ipv6" --pull-filter ignore "redirect-gateway ipv6" --pull-filter ignore "dhcp-option DNS6" else if bashio::config.true 'silent'; then exec \ diff --git a/sonarr/README.md b/sonarr/README.md index 1d9cebbac..874b59c72 100644 --- a/sonarr/README.md +++ b/sonarr/README.md @@ -1,3 +1,4 @@ +## ⚠ Open Issue : [🐛 [Qbittorrent] Unable to connect to Qbittorrent from Sonarr or Prowlarr (opened 2024-01-02)](https://github.com/alexbelgium/hassio-addons/issues/1153) by [@JohnnyPicnic](https://github.com/JohnnyPicnic) # Home assistant add-on: Sonarr diff --git a/unpackerr/CHANGELOG.md b/unpackerr/CHANGELOG.md index c6a830983..991dbf055 100644 --- a/unpackerr/CHANGELOG.md +++ b/unpackerr/CHANGELOG.md @@ -1,3 +1,6 @@ +### 0.12.0-3 (31-12-2023) +- Minor bugs fixed +- Deprecated options watch_path and extraction_path to avoid breakage of the configuration file. Any modifications needs to be done manually using (for example) the Filebrowser addon in /addon_configs/db21ed7f_unpackerr/unpackerr.conf. This also means you'll have to make sure the PUID/PGID specified really correspond to your actual permissions (the app doesn't allow to run as root) ## 0.12.0 (30-12-2023) - Update to latest version from Unpackerr/unpackerr diff --git a/unpackerr/README.md b/unpackerr/README.md index 248cc0f17..5ec3bae78 100644 --- a/unpackerr/README.md +++ b/unpackerr/README.md @@ -22,10 +22,10 @@ _Thanks to everyone having starred my repo! To star it click on the image below, ## About --- +Extract from the author's gighub : +[unpackerr](https://github.com/unpackerr/unpackerr) runs as a daemon on your download host. It checks for completed downloads and extracts them so Lidarr, Radarr, Readarr, Sonarr may import them. There are a handful of options out there for extracting and deleting files after your client downloads them. -[unpackerr](https://github.com/unpackerr/unpackerr) runs as a daemon on your download host. It checks for completed downloads and extracts them so Lidarr, Radarr, Readarr, Sonarr may import them. There are a handful of options out there for extracting and deleting files after your client downloads them. I just didn't care for any of them, so I wrote my own. I wanted a small single-binary with reasonable logging that can extract downloaded archives and clean up the mess after they've been imported. - -This addon is based on the docker image https://hub.docker.com/r/golift/unpackerr +This addon is based on the docker image https://hub.docker.com/r/hotio/unpackerr ## Installation @@ -46,18 +46,7 @@ The installation of this add-on is pretty straightforward and not different in c No webui. -Create a file named "unpackerr.conf" in /config. -In /config/unpackerr.conf you can set all variables according to this list of environment variables : https://github.com/davidnewhall/unpackerr - -Folders must be customized in the conf file with the lines : - -```yaml -[[folder]] -## Windows paths must use two backslashes: "C:\\Some\\Folder\\To\\Watch" -path = "/share/downloads_packed" -## Path to extract files to. The default (leaving this blank) is the same as `path` (above). -extract_path = "/share/downloads_unpacked" -``` +In /addon_configs/db21ed7f_unpackerr/unpackerr.conf you can set all variables according to this list of environment variables : https://github.com/davidnewhall/unpackerr ## Support diff --git a/unpackerr/config.json b/unpackerr/config.json index e4c739dac..a0d04bc42 100644 --- a/unpackerr/config.json +++ b/unpackerr/config.json @@ -80,17 +80,15 @@ "schema": { "PGID": "int", "PUID": "int", + "TZ": "str?", "cifsdomain": "str?", "cifspassword": "str?", "cifsusername": "str?", - "extraction_path": "str?", "localdisks": "str?", - "networkdisks": "str?", - "watch_path": "str?", - "TZ": "str?" + "networkdisks": "str?" }, "slug": "unpackerr", "udev": true, "url": "https://github.com/alexbelgium/hassio-addons", - "version": "0.12.0" + "version": "0.12.0-3" } diff --git a/unpackerr/rootfs/etc/cont-init.d/01-migration.sh b/unpackerr/rootfs/etc/cont-init.d/01-migration.sh deleted file mode 100755 index 39e0736e6..000000000 --- a/unpackerr/rootfs/etc/cont-init.d/01-migration.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/bashio - -if [ -f /homeassistant/unpackerr.conf ]; then - bashio::log.warning "Migrating unpackerr.conf to /addons_configs/$HOSTNAME/unpackerr.conf" - mv /homeassistant/unpackerr.conf /config/unpackerr.conf -fi \ No newline at end of file diff --git a/unpackerr/rootfs/etc/cont-init.d/99-config.sh b/unpackerr/rootfs/etc/cont-init.d/99-config.sh deleted file mode 100755 index 705ba0a97..000000000 --- a/unpackerr/rootfs/etc/cont-init.d/99-config.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/bashio - -# Set user -if bashio::config.has_value 'PUID'; then export PUID="$(bashio::config 'PUID')"; fi -if bashio::config.has_value 'PGID'; then export PGID="$(bashio::config 'PGID')"; fi -if bashio::config.has_value 'TZ'; then export TZ="$(bashio::config 'TZ')"; fi - -# Enable watch folder -if bashio::config.has_value "watch_path"; then - # Info - bashio::log.info "Watch path is $(bashio::config 'watch_path'), creating folder and setting permission" - # Enables folders - sed -i "/[[folder]]/c [[folder]]" /config/unpackerr.conf - # Set downloads path - sed -i "s|_path|_pth|g" /config/unpackerr.conf - sed -i "/path =/c path = \"$(bashio::config 'watch_path')\"" /config/unpackerr.conf - sed -i "s|_pth|_path|g" /config/unpackerr.conf - # Make path - mkdir -p "$(bashio::config 'watch_path')" - # Set permission - chown -R "$PUID":"$PGID" "$(bashio::config 'watch_path')" -fi - -# Enable extraction folder -if bashio::config.has_value "extraction_path"; then - # Info - bashio::log.info "Extraction path is $(bashio::config 'extraction_path'), creating folder and setting permission" - # Enables folders - sed -i "/[[folder]]/c [[folder]]" /config/unpackerr.conf - # Set extraction path - sed -i "/extract_path =/c extract_path = \"$(bashio::config 'extraction_path')\"" /config/unpackerr.conf - # Make path - mkdir -p "$(bashio::config 'extraction_path')" - # Set permission - chown -R "$PUID":"$PGID" "$(bashio::config 'extraction_path')" -fi diff --git a/unpackerr/rootfs/null b/unpackerr/rootfs/null new file mode 100644 index 000000000..4d8603eb8 --- /dev/null +++ b/unpackerr/rootfs/null @@ -0,0 +1 @@ +# Just for scripts harmonization \ No newline at end of file