From b598d5ca6da0ed46030bb78f1ab30c5be690ef3d Mon Sep 17 00:00:00 2001 From: Kjeld Schouten Date: Tue, 15 Oct 2024 18:36:24 +0200 Subject: [PATCH] (feat): add zurg (#27725) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Description** Adds Zurg chart **โš™๏ธ Type of change** - [ ] โš™๏ธ Feature/App addition - [ ] ๐Ÿช› Bugfix - [ ] โš ๏ธ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] ๐Ÿ”ƒ Refactor of current code **๐Ÿงช How Has This Been Tested?** **๐Ÿ“ƒ Notes:** **โœ”๏ธ Checklist:** - [ ] โš–๏ธ My code follows the style guidelines of this project - [ ] ๐Ÿ‘€ I have performed a self-review of my own code - [ ] #๏ธโƒฃ I have commented my code, particularly in hard-to-understand areas - [ ] ๐Ÿ“„ I have made corresponding changes to the documentation - [ ] โš ๏ธ My changes generate no new warnings - [ ] ๐Ÿงช I have added tests to this description that prove my fix is effective or that my feature works - [ ] โฌ†๏ธ I increased versions for any altered app according to semantic versioning - [ ] I made sure the title starts with `feat(chart-name):`, `fix(chart-name):` or `chore(chart-name):` **โž• App addition** If this PR is an app addition please make sure you have done the following. - [ ] ๐Ÿ–ผ๏ธ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._ --------- Signed-off-by: Kjeld Schouten --- charts/incubator/zurg/.helmignore | 32 ++++ charts/incubator/zurg/CHANGELOG.md | 0 charts/incubator/zurg/Chart.yaml | 31 +++ charts/incubator/zurg/README.md | 61 ++++++ charts/incubator/zurg/icon.png | Bin 0 -> 19479 bytes charts/incubator/zurg/templates/NOTES.txt | 1 + charts/incubator/zurg/templates/common.yaml | 2 + charts/incubator/zurg/values.yaml | 198 ++++++++++++++++++++ 8 files changed, 325 insertions(+) create mode 100644 charts/incubator/zurg/.helmignore create mode 100644 charts/incubator/zurg/CHANGELOG.md create mode 100644 charts/incubator/zurg/Chart.yaml create mode 100644 charts/incubator/zurg/README.md create mode 100644 charts/incubator/zurg/icon.png create mode 100644 charts/incubator/zurg/templates/NOTES.txt create mode 100644 charts/incubator/zurg/templates/common.yaml create mode 100644 charts/incubator/zurg/values.yaml diff --git a/charts/incubator/zurg/.helmignore b/charts/incubator/zurg/.helmignore new file mode 100644 index 00000000000..feb7464da6f --- /dev/null +++ b/charts/incubator/zurg/.helmignore @@ -0,0 +1,32 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png +icon.webp +icon-small.webp diff --git a/charts/incubator/zurg/CHANGELOG.md b/charts/incubator/zurg/CHANGELOG.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/incubator/zurg/Chart.yaml b/charts/incubator/zurg/Chart.yaml new file mode 100644 index 00000000000..a8b1e4a6867 --- /dev/null +++ b/charts/incubator/zurg/Chart.yaml @@ -0,0 +1,31 @@ +annotations: + truecharts.org/category: security + truecharts.org/max_helm_version: "3.15" + truecharts.org/min_helm_version: "3.11" + truecharts.org/train: incubator +apiVersion: v2 +appVersion: 1.32.1 +dependencies: + - name: common + version: 25.0.0 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: zurg Self-Hosted +home: https://truecharts.org/charts/premium/zurg +icon: https://truecharts.org/img/hotlink-ok/chart-icons/zurg.webp +keywords: + - zurg +kubeVersion: '>=1.24.0-0' +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: zurg +sources: + - https://github.com/truecharts/charts/tree/master/charts/premium/zurg +type: application +version: 0.0.1 diff --git a/charts/incubator/zurg/README.md b/charts/incubator/zurg/README.md new file mode 100644 index 00000000000..ddf90d742cc --- /dev/null +++ b/charts/incubator/zurg/README.md @@ -0,0 +1,61 @@ +--- +title: README +--- + +## General Info + +TrueCharts can be installed as both _normal_ Helm Charts or as TrueNAS SCALE Apps. +Both solutions are fully supported, but we heavily advice the use of normal Helm Charts where possible + +For more information about this Chart, please check the docs on the TrueCharts [website](https://truecharts.org/charts/premium/zurg) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + +## Installation + +### Helm-Chart installation + +To install TrueCharts Helm charts using Helm, you can use our OCI Repository. + +`helm install mychart oci://tccr.io/truecharts/zurg` + +For more information on how to install TrueCharts Helm charts, checkout the [instructions on the website](/guides) + + +### TrueNAS SCALE Apps + +For more information on how to use TrueCharts as TrueNAS SCALE Apps, please checkout the [quick-start guides for TrueNAS SCALE](/deprecated/scale). + +## Chart Specific Guides and information + +All our charts have dedicated documentation pages. +The documentation for this chart can be found here: +https://truecharts.org/charts/premium/zurg + +## Configuration Options + +Please note: For TrueNAS SCALE, only options available in the GUI are supported. +Hence most of these docs do not apply to TrueNAS SCALE + +To view the chart specific options, please view Values.yaml included in the chart. +The most recent version of which, is available here: https://github.com/truecharts/public/blob/master/charts/premium/zurg/values.yaml + +All our Charts use a shared "common" library chart that contains most of the templating and options. +For the complete overview of all available options, please checkout the documentation for them on the [common docs on our website](/common) + +For information about the common chart and all defaults included with it, please review its values.yaml file available here: https://github.com/truecharts/public/blob/master/charts/library/common/values.yaml + +## Support + +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/charts/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](/general/sponsor) or contributing back to the project any way you can! + +_All Rights Reserved - The TrueCharts Project_ diff --git a/charts/incubator/zurg/icon.png b/charts/incubator/zurg/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d1087135ed49fd298dc03e887f9d0d0541c6ec57 GIT binary patch literal 19479 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 X2pm`Hr&6-V_URPGft6Cf{V)I7%P_-I literal 0 HcmV?d00001 diff --git a/charts/incubator/zurg/templates/NOTES.txt b/charts/incubator/zurg/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/charts/incubator/zurg/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/charts/incubator/zurg/templates/common.yaml b/charts/incubator/zurg/templates/common.yaml new file mode 100644 index 00000000000..992373e7501 --- /dev/null +++ b/charts/incubator/zurg/templates/common.yaml @@ -0,0 +1,2 @@ + +{{ include "tc.v1.common.loader.all" . }} diff --git a/charts/incubator/zurg/values.yaml b/charts/incubator/zurg/values.yaml new file mode 100644 index 00000000000..634fef54676 --- /dev/null +++ b/charts/incubator/zurg/values.yaml @@ -0,0 +1,198 @@ +image: + repository: ghcr.io/geek-cookbook/zurg + pullPolicy: IfNotPresent + tag: v0.9.3-hotfix.11@sha256:f3110e087387d0584700d43708121135f6b2880290711c682d9f817a0637a3f6 + +service: + main: + ports: + main: + port: 9999 + targetPort: 9999 + +workload: + main: + podSpec: + containers: + main: + probes: + liveness: + type: tcp + readiness: + type: tcp + startup: + type: tcp + env: + # forces the use of env vars to be always used! + zurg_FORCE_ENV: "true" + # Set this to your rclone's mount `__all__` dir if using Zurg + LOG_LEVEL: DEBUG + +zurg: + token: YOURTOKEN + +persistence: + config: + enabled: true + mountPath: "/config" + data: + enabled: true + mountPath: "/app/data" + config-file: + enabled: true + type: configmap + objectName: config-file + mountPath: /config/config.yml + subPath: config.yml + items: + - key: config.yml + path: config.yml + plexupdate-file: + enabled: true + type: configmap + objectName: plexupdate-file + mountPath: /config/plex_update.sh + subPath: plex_update.sh + items: + - key: plex_update.sh + path: plex_update.sh + +configmap: + config-file: + enabled: true + data: + config.yml: | + # Zurg configuration version + zurg: v1 + token: {{ .Values.zurg.token }} # https://real-debrid.com/apitoken + + # basic functionality + host: "[::]" # do not change this if you are running it inside a docker container + port: 9999 # do not change this if you are running it inside a docker container + concurrent_workers: 32 + check_for_changes_every_secs: 10 + + # misc configs + retain_folder_name_extension: false # if true, zurg won't modify the filenames from real-debrid + retain_rd_torrent_name: true # if true, it will strictly follow RD API torrent name property w/c should make this more compatible with rdt-client + auto_delete_rar_torrents: true # if true, zurg will delete unstreamable rar files (these torrents will always be compressed in a rar archive no matter what files you select) + use_download_cache: false # if true, during zurg initialization, it will fetch all downloads to unrestrict links faster + # Disabled by default, causes Plex scanning to get stuck on in-progress files + enable_repair: false # Don't change this, we run a separate zurg for doing repairs without blocking i/o + on_library_update: sh plex_update.sh "$@" + ignore_renames: true + + # advanced alternative for Jellyfin/Emby support + # on_library_update: |- + # # Log the updated directories and send refresh request to autoscan + # for arg in "$@" + # do + # echo "Detected update on: $arg" + # # URL encode the directory path + # encoded_arg=$(python -c "import urllib.parse; print(urllib.parse.quote_plus('$arg'))") + # curl -s -X GET "http://autoscan:3030/triggers/manual?dir=/storage/realdebrid-zurg/$encoded_arg" + # done + # echo "All updated sections refreshed." + + # network configs + network_buffer_size: 1048576 # 1 MiB + serve_from_rclone: false # serve file data from rclone, not from zurg (zurg will only provide rclone the link to download) + verify_download_link: true # if true, zurg will check if the link is truly streamable; only relevant if serve_from_rclone is set to true (as it already does this all the time if serve_from_rclone is false) + force_ipv6: false # force connect to real-debrid ipv6 addresses + rate_limit_sleep_secs: 6 # wait time after getting a 429 from Real-Debrid API + realdebrid_timeout_secs: 60 # api timeout + retries_until_failed: 5 # api failures until considered failed + # preferred_hosts: # Run ./zurg network-test + # - 20.download.real-debrid.com + # - 21.download.real-debrid.com + # - 22.download.real-debrid.com + # - 23.download.real-debrid.com + # - 30.download.real-debrid.com + # - 31.download.real-debrid.com + # - 32.download.real-debrid.com + # - 34.download.real-debrid.com + # - 40.download.real-debrid.com + + # List of directory definitions and their filtering rules + directories: + # Configuration for anime shows + anime: + group: media # directories on different groups have duplicates of the same torrent + group_order: 10 # group order = priority, it defines who eats first on a group + filters: + - and: # you can use nested 'and' & 'or' conditions + - has_episodes: true # intelligent detection of episode files inside a torrent + - any_file_inside_regex: /^\[/ # usually anime starts with [ e.g. [SubsPlease] + - any_file_inside_not_regex: /s\d\de\d\d/i # and usually anime doesn't use SxxExx + + shows: + group: media + group_order: 20 + filters: + - has_episodes: true # intelligent detection of episode files inside a torrent + + movies: + group: media # because anime, shows and movies are in the same group, + group_order: 30 # and anime and shows has a lower group_order number than movies, all torrents that doesn't fall into the previous 2 will fall into movies + only_show_the_biggest_file: true # let's not show the other files besides the movie itself + filters: + - regex: /.*/ # you cannot leave a directory without filters because it will not have any torrents in it + + plexupdate-file: + enabled: true + data: + plex_update.sh: | + #!/bin/bash + + # PLEX PARTIAL SCAN script or PLEX UPDATE script + # When zurg detects changes, it can trigger this script IF your config.yml contains + # on_library_update: sh plex_update.sh "$@" + # Modified from https://github.com/debridmediamanager/zurg-testing/blob/main/plex_update.sh + + plex_url="http://plex:32400" # If you're using zurg inside a Docker container, by default it is 172.17.0.1:32400 + token="yourplextoken" # open Plex in a browser, open dev console and copy-paste this: window.localStorage.getItem("myPlexAccessToken") + zurg_mount="/storage/realdebrid-zurg" # replace with your zurg mount path, ensure this is what Plex sees + + # Get the list of section IDs + section_ids=$(curl -sLX GET "$plex_url/library/sections" -H "X-Plex-Token: $token" | xmllint --xpath "//Directory/@key" - | sed 's/key="//g' | tr '"' '\n') + + for arg in "$@" + do + modified_arg="$zurg_mount/$arg" + echo "Detected update on: $arg" + echo "Absolute path: $modified_arg" + + ##### START Added by ElfHosted for auto DMM symlinking ### + echo "Symlinking $modified_arg to /storage/symlinks/real-debrid-blackhole/$arg" + + # Ensure blackhole exists + mkdir -p /storage/symlinks/real-debrid-blackhole/movies + mkdir -p /storage/symlinks/real-debrid-blackhole/shows + + # Copy to the RD blackhole, preserving the directory structure + cp -rs "$modified_arg/"* "/storage/symlinks/real-debrid-blackhole/$(echo $arg | cut -f1 -d/)/" + ##### END Added by ElfHosted for auto DMM symlinking ### + + encoded_arg=$(echo -n "$modified_arg" | python3 -c "import sys, urllib.parse as ul; print (ul.quote_plus(sys.stdin.read()))") + + if [ -z "$encoded_arg" ]; then + echo "Error: Encoded argument is empty. Check the input or encoding process." + continue + fi + + for section_id in $section_ids + do + final_url="${plex_url}/library/sections/${section_id}/refresh?path=${encoded_arg}&X-Plex-Token=${token}" + + echo "Encoded argument: $encoded_arg" + echo "Section ID: $section_id" + echo "Final URL: $final_url" + + curl -s "$final_url" + done + + done + + echo "All updated sections refreshed" + + # credits to godver3