From a8ca94fe62452215a4440218e2dfe3587c98b2c3 Mon Sep 17 00:00:00 2001 From: <> Date: Sun, 27 Feb 2022 15:22:55 +0000 Subject: [PATCH] Deployed 3c2ea0c with MkDocs version: 1.2.3 --- 404.html | 14 + Bazarr/After-install-configuration/index.html | 14 + Bazarr/Setup-Guide/index.html | 14 + .../Tips/Bazarr-suggested-scoring/index.html | 14 + Bazarr/index.html | 14 + Bazarr/scripts/index.html | 14 + .../Deluge/Deluge-Basic-Setup/index.html | 14 + .../Deluge-how-to-add-labels/index.html | 14 + Downloaders/Deluge/index.html | 14 + Downloaders/NZBGet/Basic-Setup/index.html | 14 + .../NZBGet/Paths-and-Categories/index.html | 14 + Downloaders/NZBGet/index.html | 14 + Downloaders/NZBGet/scripts/index.html | 14 + Downloaders/SABnzbd/Basic-Setup/index.html | 14 + .../SABnzbd/Paths-and-Categories/index.html | 14 + Downloaders/SABnzbd/index.html | 14 + Downloaders/SABnzbd/scripts/index.html | 14 + Downloaders/index.html | 14 + .../qBittorrent/Basic-Setup/index.html | 14 + .../How-to-add-categories/index.html | 14 + Downloaders/qBittorrent/Paths/index.html | 14 + .../qBittorrent/Port-forwarding/index.html | 14 + Downloaders/qBittorrent/index.html | 14 + Downloaders/ruTorrent/index.html | 14 + .../ruTorrent-Basic-Setup/index.html | 14 + .../Check-if-hardlinks-are-working/index.html | 14 + Hardlinks/Examples/index.html | 14 + .../Hardlinks-and-Instant-Moves/index.html | 18 +- Hardlinks/How-to-setup-for/Docker/index.html | 14 + .../How-to-setup-for/Dockstarter/index.html | 14 + Hardlinks/How-to-setup-for/Native/index.html | 14 + .../How-to-setup-for/Synology/index.html | 14 + Hardlinks/How-to-setup-for/Unraid/index.html | 14 + Hardlinks/How-to-setup-for/index.html | 14 + .../Replace-copies-with-hardlinks/index.html | 14 + How-to-setup-for/Docker/index.html | 14 + How-to-setup-for/Dockstarter/index.html | 14 + How-to-setup-for/Native/index.html | 14 + How-to-setup-for/Synology/index.html | 14 + How-to-setup-for/Unraid/index.html | 14 + How-to-setup-for/index.html | 14 + .../index.html | 14 + .../index.html | 14 + Misc/images/sync/notifiarr-cf-audio.png | Bin 0 -> 39968 bytes Misc/images/sync/notifiarr-cf-hdr.png | Bin 0 -> 43665 bytes Misc/images/sync/notifiarr-cf-table.png | Bin 0 -> 29917 bytes Misc/images/sync/notifiarr-scores.png | Bin 0 -> 33313 bytes Misc/images/sync/notifiarr-sonarr.png | Bin 0 -> 59126 bytes Misc/index.html | 14 + Misc/trash-sync/index.html | 2240 +++++++++++++++++ Misc/x265-4k/index.html | 18 +- Plex/Tips/4k-transcoding/index.html | 14 + Plex/Tips/Plex-media-server/index.html | 14 + Plex/index.html | 14 + Plex/profiles/index.html | 14 + .../index.html | 14 + .../index.html | 14 + .../index.html | 66 +- .../Radarr-import-custom-formats/index.html | 14 + .../index.html | 14 + Radarr/Radarr-remote-path-mapping/index.html | 14 + Radarr/Radarr-setup-custom-formats/index.html | 14 + Radarr/Tips/Merge-quality/index.html | 14 + .../Radarr-add-a-movie-collection/index.html | 14 + .../Radarr-rename-your-folders/index.html | 14 + .../index.html | 14 + Radarr/Tips/Sync-2-radarr-sonarr/index.html | 14 + Radarr/index.html | 14 + SQP/1-1/index.html | 14 + SQP/1-2/index.html | 14 + SQP/index.html | 14 + .../index.html | 14 + .../index.html | 14 + .../Sonarr-Release-Profile-RegEx/index.html | 14 + .../index.html | 14 + Sonarr/Sonarr-remote-path-mapping/index.html | 14 + Sonarr/Tips/Merge-quality/index.html | 14 + Sonarr/Tips/Sync-2-radarr-sonarr/index.html | 14 + Sonarr/index.html | 14 + index.html | 14 + search/search_index.json | 2 +- sitemap.xml | 153 +- sitemap.xml.gz | Bin 895 -> 901 bytes thnx/index.html | 14 + 84 files changed, 3376 insertions(+), 129 deletions(-) create mode 100644 Misc/images/sync/notifiarr-cf-audio.png create mode 100644 Misc/images/sync/notifiarr-cf-hdr.png create mode 100644 Misc/images/sync/notifiarr-cf-table.png create mode 100644 Misc/images/sync/notifiarr-scores.png create mode 100644 Misc/images/sync/notifiarr-sonarr.png create mode 100644 Misc/trash-sync/index.html diff --git a/404.html b/404.html index 28c9738dc..5422ce918 100644 --- a/404.html +++ b/404.html @@ -1595,6 +1595,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Bazarr/After-install-configuration/index.html b/Bazarr/After-install-configuration/index.html index 03704e27b..7374bc352 100644 --- a/Bazarr/After-install-configuration/index.html +++ b/Bazarr/After-install-configuration/index.html @@ -1616,6 +1616,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Bazarr/Setup-Guide/index.html b/Bazarr/Setup-Guide/index.html index eabd5df9f..f10a3d1dd 100644 --- a/Bazarr/Setup-Guide/index.html +++ b/Bazarr/Setup-Guide/index.html @@ -1797,6 +1797,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Bazarr/Tips/Bazarr-suggested-scoring/index.html b/Bazarr/Tips/Bazarr-suggested-scoring/index.html index 66e698dfa..eb8952edb 100644 --- a/Bazarr/Tips/Bazarr-suggested-scoring/index.html +++ b/Bazarr/Tips/Bazarr-suggested-scoring/index.html @@ -1663,6 +1663,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Bazarr/index.html b/Bazarr/index.html index 94866005f..72f44f30d 100644 --- a/Bazarr/index.html +++ b/Bazarr/index.html @@ -1654,6 +1654,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Bazarr/scripts/index.html b/Bazarr/scripts/index.html index 887b83c7d..e416a3c16 100644 --- a/Bazarr/scripts/index.html +++ b/Bazarr/scripts/index.html @@ -1606,6 +1606,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/Deluge/Deluge-Basic-Setup/index.html b/Downloaders/Deluge/Deluge-Basic-Setup/index.html index d4248d7a7..e6697f645 100644 --- a/Downloaders/Deluge/Deluge-Basic-Setup/index.html +++ b/Downloaders/Deluge/Deluge-Basic-Setup/index.html @@ -1649,6 +1649,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/Deluge/Deluge-how-to-add-labels/index.html b/Downloaders/Deluge/Deluge-how-to-add-labels/index.html index fbcaf7f48..99828dfb8 100644 --- a/Downloaders/Deluge/Deluge-how-to-add-labels/index.html +++ b/Downloaders/Deluge/Deluge-how-to-add-labels/index.html @@ -1618,6 +1618,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/Deluge/index.html b/Downloaders/Deluge/index.html index 75e00bd3a..9e0bd5bac 100644 --- a/Downloaders/Deluge/index.html +++ b/Downloaders/Deluge/index.html @@ -1618,6 +1618,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/NZBGet/Basic-Setup/index.html b/Downloaders/NZBGet/Basic-Setup/index.html index d8821e4c0..343db8aeb 100644 --- a/Downloaders/NZBGet/Basic-Setup/index.html +++ b/Downloaders/NZBGet/Basic-Setup/index.html @@ -1739,6 +1739,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/NZBGet/Paths-and-Categories/index.html b/Downloaders/NZBGet/Paths-and-Categories/index.html index dc53c31c0..d4db7a86b 100644 --- a/Downloaders/NZBGet/Paths-and-Categories/index.html +++ b/Downloaders/NZBGet/Paths-and-Categories/index.html @@ -1618,6 +1618,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/NZBGet/index.html b/Downloaders/NZBGet/index.html index 5fca8126d..f0a56cc31 100644 --- a/Downloaders/NZBGet/index.html +++ b/Downloaders/NZBGet/index.html @@ -1608,6 +1608,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/NZBGet/scripts/index.html b/Downloaders/NZBGet/scripts/index.html index 2e6067076..4449661ea 100644 --- a/Downloaders/NZBGet/scripts/index.html +++ b/Downloaders/NZBGet/scripts/index.html @@ -1608,6 +1608,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/SABnzbd/Basic-Setup/index.html b/Downloaders/SABnzbd/Basic-Setup/index.html index 0c36743ec..6b4bd0cdd 100644 --- a/Downloaders/SABnzbd/Basic-Setup/index.html +++ b/Downloaders/SABnzbd/Basic-Setup/index.html @@ -1764,6 +1764,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/SABnzbd/Paths-and-Categories/index.html b/Downloaders/SABnzbd/Paths-and-Categories/index.html index f7c8094dd..6d37b2177 100644 --- a/Downloaders/SABnzbd/Paths-and-Categories/index.html +++ b/Downloaders/SABnzbd/Paths-and-Categories/index.html @@ -1649,6 +1649,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/SABnzbd/index.html b/Downloaders/SABnzbd/index.html index 7862cdd6b..3a79255b8 100644 --- a/Downloaders/SABnzbd/index.html +++ b/Downloaders/SABnzbd/index.html @@ -1608,6 +1608,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/SABnzbd/scripts/index.html b/Downloaders/SABnzbd/scripts/index.html index ada006ed2..b8b0380f6 100644 --- a/Downloaders/SABnzbd/scripts/index.html +++ b/Downloaders/SABnzbd/scripts/index.html @@ -1608,6 +1608,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/index.html b/Downloaders/index.html index a69417312..58e6bc418 100644 --- a/Downloaders/index.html +++ b/Downloaders/index.html @@ -1654,6 +1654,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/qBittorrent/Basic-Setup/index.html b/Downloaders/qBittorrent/Basic-Setup/index.html index 7bfb54131..5978ee58f 100644 --- a/Downloaders/qBittorrent/Basic-Setup/index.html +++ b/Downloaders/qBittorrent/Basic-Setup/index.html @@ -1649,6 +1649,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/qBittorrent/How-to-add-categories/index.html b/Downloaders/qBittorrent/How-to-add-categories/index.html index 359e6854d..1e53f090a 100644 --- a/Downloaders/qBittorrent/How-to-add-categories/index.html +++ b/Downloaders/qBittorrent/How-to-add-categories/index.html @@ -1656,6 +1656,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/qBittorrent/Paths/index.html b/Downloaders/qBittorrent/Paths/index.html index d26b858a2..847f0fff6 100644 --- a/Downloaders/qBittorrent/Paths/index.html +++ b/Downloaders/qBittorrent/Paths/index.html @@ -1618,6 +1618,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/qBittorrent/Port-forwarding/index.html b/Downloaders/qBittorrent/Port-forwarding/index.html index c8bfd6e85..325cffdf5 100644 --- a/Downloaders/qBittorrent/Port-forwarding/index.html +++ b/Downloaders/qBittorrent/Port-forwarding/index.html @@ -1618,6 +1618,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/qBittorrent/index.html b/Downloaders/qBittorrent/index.html index dcb357a30..ac5853d29 100644 --- a/Downloaders/qBittorrent/index.html +++ b/Downloaders/qBittorrent/index.html @@ -1608,6 +1608,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/ruTorrent/index.html b/Downloaders/ruTorrent/index.html index 3e34973be..b7a3a57dc 100644 --- a/Downloaders/ruTorrent/index.html +++ b/Downloaders/ruTorrent/index.html @@ -1618,6 +1618,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Downloaders/ruTorrent/ruTorrent-Basic-Setup/index.html b/Downloaders/ruTorrent/ruTorrent-Basic-Setup/index.html index 973bb3e5c..0805a9e1e 100644 --- a/Downloaders/ruTorrent/ruTorrent-Basic-Setup/index.html +++ b/Downloaders/ruTorrent/ruTorrent-Basic-Setup/index.html @@ -1649,6 +1649,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Hardlinks/Check-if-hardlinks-are-working/index.html b/Hardlinks/Check-if-hardlinks-are-working/index.html index 41e65626e..54e5be6ae 100644 --- a/Hardlinks/Check-if-hardlinks-are-working/index.html +++ b/Hardlinks/Check-if-hardlinks-are-working/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Hardlinks/Examples/index.html b/Hardlinks/Examples/index.html index 30dd1f68c..18ce70651 100644 --- a/Hardlinks/Examples/index.html +++ b/Hardlinks/Examples/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Hardlinks/Hardlinks-and-Instant-Moves/index.html b/Hardlinks/Hardlinks-and-Instant-Moves/index.html index b0c912775..31fe60bd5 100644 --- a/Hardlinks/Hardlinks-and-Instant-Moves/index.html +++ b/Hardlinks/Hardlinks-and-Instant-Moves/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + @@ -2191,7 +2205,7 @@ diff --git a/Hardlinks/How-to-setup-for/Dockstarter/index.html b/Hardlinks/How-to-setup-for/Dockstarter/index.html index 02cac5fc2..4d06aa131 100644 --- a/Hardlinks/How-to-setup-for/Dockstarter/index.html +++ b/Hardlinks/How-to-setup-for/Dockstarter/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Hardlinks/How-to-setup-for/Native/index.html b/Hardlinks/How-to-setup-for/Native/index.html index aed91f896..3a2294425 100644 --- a/Hardlinks/How-to-setup-for/Native/index.html +++ b/Hardlinks/How-to-setup-for/Native/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Hardlinks/How-to-setup-for/Synology/index.html b/Hardlinks/How-to-setup-for/Synology/index.html index 75572bd08..7bad69ed9 100644 --- a/Hardlinks/How-to-setup-for/Synology/index.html +++ b/Hardlinks/How-to-setup-for/Synology/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Hardlinks/How-to-setup-for/Unraid/index.html b/Hardlinks/How-to-setup-for/Unraid/index.html index 97eb70219..fab6602df 100644 --- a/Hardlinks/How-to-setup-for/Unraid/index.html +++ b/Hardlinks/How-to-setup-for/Unraid/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Hardlinks/How-to-setup-for/index.html b/Hardlinks/How-to-setup-for/index.html index b05499dc2..ef1e8dd86 100644 --- a/Hardlinks/How-to-setup-for/index.html +++ b/Hardlinks/How-to-setup-for/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Hardlinks/Replace-copies-with-hardlinks/index.html b/Hardlinks/Replace-copies-with-hardlinks/index.html index 3a36b905d..184979961 100644 --- a/Hardlinks/Replace-copies-with-hardlinks/index.html +++ b/Hardlinks/Replace-copies-with-hardlinks/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/How-to-setup-for/Docker/index.html b/How-to-setup-for/Docker/index.html index 2ebacdd35..2b29f294a 100644 --- a/How-to-setup-for/Docker/index.html +++ b/How-to-setup-for/Docker/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/How-to-setup-for/Dockstarter/index.html b/How-to-setup-for/Dockstarter/index.html index 42903a684..1c8ebf566 100644 --- a/How-to-setup-for/Dockstarter/index.html +++ b/How-to-setup-for/Dockstarter/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/How-to-setup-for/Native/index.html b/How-to-setup-for/Native/index.html index 0a10ff661..03ff4cd31 100644 --- a/How-to-setup-for/Native/index.html +++ b/How-to-setup-for/Native/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/How-to-setup-for/Synology/index.html b/How-to-setup-for/Synology/index.html index 0f936ce4f..5cfc2fab0 100644 --- a/How-to-setup-for/Synology/index.html +++ b/How-to-setup-for/Synology/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/How-to-setup-for/Unraid/index.html b/How-to-setup-for/Unraid/index.html index 2c9ccac7f..6053a85a3 100644 --- a/How-to-setup-for/Unraid/index.html +++ b/How-to-setup-for/Unraid/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/How-to-setup-for/index.html b/How-to-setup-for/index.html index ae68e0d45..ffa5052ee 100644 --- a/How-to-setup-for/index.html +++ b/How-to-setup-for/index.html @@ -1604,6 +1604,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Misc/How-to-setup-Torguard-for-port-forwarding/index.html b/Misc/How-to-setup-Torguard-for-port-forwarding/index.html index 83d510652..a7074b1b9 100644 --- a/Misc/How-to-setup-Torguard-for-port-forwarding/index.html +++ b/Misc/How-to-setup-Torguard-for-port-forwarding/index.html @@ -1774,6 +1774,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Misc/how-to-provide-a-docker-compose/index.html b/Misc/how-to-provide-a-docker-compose/index.html index a7509266c..727ba1cd8 100644 --- a/Misc/how-to-provide-a-docker-compose/index.html +++ b/Misc/how-to-provide-a-docker-compose/index.html @@ -1616,6 +1616,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Misc/images/sync/notifiarr-cf-audio.png b/Misc/images/sync/notifiarr-cf-audio.png new file mode 100644 index 0000000000000000000000000000000000000000..a5675795b54d5d7a618b631739c1ec33c9c1f8c9 GIT binary patch literal 39968 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 ODs@#I6^zm)zyAYzs@h`! literal 0 HcmV?d00001 diff --git a/Misc/images/sync/notifiarr-cf-hdr.png b/Misc/images/sync/notifiarr-cf-hdr.png new file mode 100644 index 0000000000000000000000000000000000000000..c7da6e7324bf438c6df7efe5d4b4087bccd24f55 GIT binary patch literal 43665 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 literal 0 HcmV?d00001 diff --git a/Misc/images/sync/notifiarr-cf-table.png b/Misc/images/sync/notifiarr-cf-table.png new file mode 100644 index 0000000000000000000000000000000000000000..963fe48494e37735933436caf51ef40e53f84c3d GIT binary patch literal 29917 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
      MCS_*NtE(41kvW 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 M8<`stj@SqM6R+7sfdBvi literal 0 HcmV?d00001 diff --git a/Misc/images/sync/notifiarr-sonarr.png b/Misc/images/sync/notifiarr-sonarr.png new file mode 100644 index 0000000000000000000000000000000000000000..2a9c503ab30c54101a7fce83f5e19b0542e2f44e GIT binary patch literal 59126 zcmb@t2{_d6+c!-5rIIZP*-O?!WM?E>c0!UFQz415@5@YykTpxl7P5trea13MWEo7> ziLqoIj3vuhX3Tg;|NH;m&%503{k+fd%yBrze6QG))k=5Adzfew=pJGSQ-=t4?G(dh!qL z_c_mdwmx)pEZl}RS{o~+Phd`OID1n=wKezgA zRAWjl*XyhB2>}0e&WO3|{tm9T<}B~hKi;lIQ_Mtbh*HirqsOt}3hVI!>?&3BZ(#=S zG*y#=Ass(LOmDRvwXMMHJTFtmGdCIk7W;G@ld4QhjO2=&PM!REiKK5o5f7d0VcPv*PAs!Y3f>+u~La@_jW*QnsRc%z&9QC04$9auGnu7R1 z%(V?X#GE#?~SRQAiHT!>PVN!-r15y+^o zPo8y}2(%N0M-1~%-<|2@=M_Pc_AFWRFj~P|vV*ydYpBEL9JHo?vNc_nrcQWbhHG~x zT&o7R=DSt|VXZNMt)AmNs;0*d6fm&m`vKSR^NECPFwXSP)tMme*sdFuoaC`p5MeG* zVn-5KgF?F$uKu*Y{vP+xfMNDTOlJ(S?VW9--r#E}(rWo`ERlD)UDsy$c&C9J{BC~b zHcx(xt$v8r1rDJ4HTIBaDwXH7e)ioG%ociXn^B|@YTT1-Z*94v;&GX2dce>C4vh(X zPG9>C&))eCl2q;x*`&ASgfl!mD@Rm-IB6~H%9KOrIdysUyBfb4egb+;?z~(l^q#jt zNe{j#TE2E7L*L?%SyC^S2n;zoaIJemZ1tV5v0I)AUA{&-Zs{khc&exCoi}Q!;j9{1 z?g5(3J+S&Dgy^9(_|=WYMzdeI$?)jL{aeq)g5Sq|?dFuuNu&TJ%tl5VjSP+Q;TE}5 z3)jj2tzWDZbC6`xul=KveK<@8OFxeobQJPIFb|)R`_}&ECNKNB(US3CovsaTk@}@4L!;@ZFA+GkkTR8m#x`>}clL9I%>*TCT%Q>#_wg_?VurI6< zZmnoT&-2f`S?dLvB9u+@rR6jS+fF97Y>aJR%)O0~dU#YXeEa~d?m~49&f4GcQg;zJ zDHkes{j1`1bQJo3{lhKGCVf)!lKx-HPxt@vpfED_c;^I~PG&~;mG67*KmXB)(EofR z|9vifespl{g9jV{OI>j6KH_oD)S3YL)R=^jULYt1HKeayIJngV|xvmq8cExO&r zG3Y7LV6wNae%9vpxqu+lk~P8+sbLR(GwCP)t^Il=)cg*Dj?SSknkoG%Pxs>L>&%Yt zZ530G`Krtjb%&gAad#(gt|0wG1RGvM_8mqPZMd+Bp9lP50J9)wpQP88Wp0Rz00X3JBX46tq6J3B}`f_4j@WhCRy}?>g!tKt2#w z%%BLEhIra3;u?lp2UxH#*cmXshEp=jrLbPTqRZe*M^bGkicyKBgP- z#9Ya%UB~r|FTWf|mGGxnO{pUh2hj_f5{o|}wZih5IvhNBf><*G^ya=s??rYZ#AU7) zFUlgCyJ>c7HZw;3Tw0B;U@Y4}+e)*t2)@ju)mI=5)sJm-0KA{``_Wa1D&JEoQSjw`w?asB!X{Z5>95|SuvS&JeHb%DK7f!u`A%JTBJZl2S-juW zZ(ff^-M`R&sq&G^?rK_+Tv{=oSt@NaEAXH^>#t?@-F_;>nv$u!G5_n8EzEywNNcL2 z%=F=t`&%5QzJ1K3?b>$i&0N{1Yo{f}G(ipHf+h=4xmkzL+0E8eDQxq@2RcKhLGazJPdCE@=lVy{V>Ukb1*%As68d zVa{*~mK8s1!*asj+Z*7%AyG=QL^tk zIrQTCY#PJ{%H=Xk*WV{g!_*6`SO*)#QFr$sBbXX!G5_IScYNz4UtxTGf{-452;RXT{Y{58@?@Z zG+K@rd8iprftrT_137u(tu32|VOLjQ0MMxO>lg5#-Pj2k+@&-Sn{+LVzja=w9lE3N z^agM-a8H?zu8;njIMCppC_rO*;`f=Snzr5N+TE*cwoF=N2P5dGp#H)VQVTc5#O>a* zAY&Q~#kCh}wQRbv!;PgQHNp#Prjky)J?f8NCQfEBXXu{*j$K9;LhD)nyn|6K`<}**pr<>fz8^jAx^4);wDg)eQnEO161{8R}%~XjA_10H7 zm({X)5GY9Ej>?JseOY~~T_GGXN`Hi=mCg%k7iS6wsjW>0 zcHzX@%ri&0P9Hi16QYhic3~hAEMF-nO^xNGH7~|?h0UW|6dLVyAib_Njr2URPaM6^ z&)Mw875?eVJ>W6z*@-`oxxf0p5%fn-)oJw-hF3Z;L~;77#5wFk4S~CWc?oF4P_{7X zTCn{vUpvO$Fpu}L#eNfSjE^M7I`=1Q&b)tY5cSc;rsY_z9D?b>DsFE={P#}gVf-c< zI>F9`dv_NaGCP)YFip7} z{C$LXWh4N-Zn@-KUnNgL=mrKf2g-_9O3C#5DQ&?y{bakP|d8;YPdhM zd}Z_fks~f7OIh$1AmK>iw0amw$tSTT7jKPFO~`-E16#^s=aiN|OJD=BJsCCHY}_h2 zgz-57!(KI;D_0wOn`Ww}O=qhWtHe()*t7v#8i&h_(o#VKF8$R)hD#YZSnp8dPuvK! z^=+;2a0sZvbA`7fawxultfOyEDVQTY~Kb1EjTQN#7f5Rc*6E6(dNcp?7B@8%WlS{C!k5%$QN?JfU!(7&sL} z=@ctQ0~UVIEh}b;)#{Tiy`2bQ@I(l;i9eKOjVhiq&b6-{joaWmq{ii56}04(u9dk^ zu?}a>g2w`ue(&_vRY3sZFT&PaJ0L0e&L8I}OTFp%RP;S^jds@6yW`mnw|R6aWjoA= z)`XHh9AUhJeZAI29T_70BJaEgsJ7t-<-uu=;?2v4G0@HWY3ic|q3w6%LMpo6q)~Xp z&Yo#J)GLvV^SG-ybtLBuw&c*w7&)^of{0}aG5pMcAT+P~Gw!OOsXU->1 zd#H`s-&xYhNZ|%V4X}!JyBSS~2C;p57#OFHtm3Y}?eePTzTcrs4>WCQs$?)L=Z=f5 z{9PwhLtJEk(PlI%=J4q|$Xmwrmun0mDFlBsM%o?@OAZYi-#C+s*8@%_JZ~$Dm6E^k zKmpCRwMZv^>+n~ds-Wpbci({cid~8r!4Y6HAFHeZ4v;gm+nl8Hto@wgQPpjf&b41I zVRm2A4&oC`U8Cl8;7N$4MFQX4Wz0Kx;bdO9!$x+`UiZ$&-|CC?`NL_rpy4UQ3cp;h ziBR&yZu-ajGlp5(0v3Wg>&Z@$nAR~}4iF}D{sQ)UapJb*sLVuOHbbIYVziG>j_cS0 zN6x%>Yo%osaV$(^zJ$WRnK)3^FV?!zPh~mOftV&aT|yhp+u%N;|2RZF_p!omD~MF# zOWT}s-a6ewv?QeuV8?9mgaMb?+_-_9qct3)mw4E%9)>gK2hwz}Gwky|d9P1~LkK9H zfRJ_L@#JJ-GL|*=?`n-5fTqGGwW>I7r|9+HA1bEUtf1W|9Jj(Y(P@WkMFe zQQ;H8eP=l6FjxfZbVZUle-P;^J zCzlop7SUXwHp=8}Ih|*UXNe*iIdBkH`_-kSV7M!YAJ!U*#^rL+AXTks=B6J3D^&$lp3{?p0Pe zjO5))^SKO?FYcSG&)-kSNo<}Q?>gM8Uy;!&LR}nR>TT%J1aiUSXML0)=NF6cQ=cTp zOo#+u^rFXp+Nu~vYily*V0+>ZrEHIIB#+hJ`jCdrn0Ozw68vkobu3GhOl5K+K-W{v z9*Oar@z;aJwoy+378)FqemB#^=A0+kh+e5a6<*Aze+f zyM{D)h-pV_WKjv51)g5XQDIZwG&M|Ip69sf7{B;DIySk{FPO{wkbA)ck?}C1SMvkr ze0m)0(9T!=eWQxq?9h6BzAycu@~B|HzLH5b%@7 z_HI-{Rk$Ypy*FU{%B?&lv%QrnxPaU za9rkahn*zc0SQPj4mBOZB`);`xq-R(yNaZU)opv$yixiQ!4%@$Jyr^Cbma{+*+l<^s#`Y${>3M@u&-$TYR@3?IQKv}ga{aU% zN*zYMVlBL?e;V(DD>pl;T}m$f^*jU|jP9qxMzgV|wn(!CyF@GQ2UndV}tETEp@4 zD{^e`n7c==Dc_?XYCNag2Cqrp*~PPmNPDu}k!P36Q;i$YRR4b=VkhM5e{d7NkpcE3 zx|%F6$$Xg8wBx@rm^ab%vn%mWC_sPZrv!SC*FK=zte7`GZD%*kG`8O;^ z;iD_up|zRJG`x)Y*sMc6RA4;%(j>hEWF|w$@YR@_1wTt@g$}>!jMCI7cu*Zf$kGHvF`T9O=4zGc?V309t>j4#Q`_`X8@ocAUl$`7wa$_uwEIKTEU zuEHfF-!G-w6NYc{6Q*)JiN+HGtr~p>ZWnnpXU|_)QAPi>rWA(0xe2_!bUI*xe!*-P`h4F z`MxzpshE$1F75EH&M((c*Ga#|#(|pKxdHhTGl0q$mdoVZxsVj7dC|GyfLQ1*{u;LN zY2KPEm)j#t*x+%RPxg`nCbo^mDMzhQrPmCcrD*SKmZ7{f>60s6b@x%4=x+Y`G)3+O z3V-Ly-jz1nIvI{C>O(HPb5fXO)lH>=2m)>%cTKQqeF&Mfn-j}1ie0)%63gb`q7m(m zduP*8kAYn~UIB%d-Cr*2#88Tqu=-oN)Xvb|23_#kEvh*<Vs*VNP$o8 zC_b$KY9T1P)$gVK+_KE0pITZ`Ix|Upw2WIm>Y-ksjpW9Zb7p7(^&({XbH96=`|Ez% z5wusTt_1Q3{NO%oR9i_<^N7AEgn9)tYALiITN5lm00K>bc|V~(ET4&veYb*g)p7)L zsuHeE@T_lA)Du;AM1U@5xss7W$w}FlR9p~j(x*ad{Jw};fFFu>^A>~wF27SeZ8LMw zZY-0%eC7|=JA~(vu7mWLvZMRysQ|C>qP+~twrI4BW6(GMQC4=ZW|c4n=#WxDOR2#5 zJd`rsJsm-P3j4jC#3a1sSl3L;)f4FvY+7?9%*NEfSnrvhKw(H0DfJK0d!1u_uM3&L zzdBT{nX-G1I*}42>a>6x{;u-HPgXc!J!77Klc#vd{@sIA^vaO}|7fSh=9Qr>za(s1 zk37pLK`GT*RjCJRD+mL1c$s{0T2bDvjq~{F_XlDO*NEyX`30V;Q-PF-SFQVf_3Cx` zuEM5eFLf2uTfM*+wTJLEF3Wuts%o^-v@)`}0)?>z!IT-<4Jb`2nt+6g5>`kT!d!C}`k2TvCU87lZ?s)_~@Umq^R8 znwD5TibFR-0I0P|fsV(|fY%4<;AfND0I2WQ_mLE!g^d!Vm~1x>B2=%;($ksr7Kr zH-Kf=SEEu+=xFs93={bpciPH5iIi zeFHq+9zj&KYi9DahtCACTumnV`9MRn+ZEcE{e8Qgvoiu_d#5K+4vW=4XGuDT>K(d5 z(l;_$yY>%bQ)nJV54(aa!1Y$1c}PxM%THpY!(0bZfqWEixpK{@4!m$p<{@Rg{+hdG z>FbHhVWZZXIvwi^Syy+p00}o_+@r*+AYe6RRQ#}sW{kR%1~L8yZgW+1M`o;~8G18~ zYgEP#s~9GBcCn$%?26`!3_RU{E1ie*37Eb?k~a|iMr0vw9qLl-4QHlQN<;k*S21um zOTBu*KIe1~RO{8s8%A9gm4CoDi$|K@4DDPa2rQ;#dx)l9$4SnMke!-$X{5cE(sTni zM%$JCZ$jr?Bjz1RWf^Am%%FOtC5Y&3qgQHqtMUlAYBVt1INULKs1K3)lt#J#+=e!{ z@x!Ls-AJg}D#uUjIGpb%|-H+$5YKP9udbl%@*;>FDMu#{9Wj2AF>`iaK|aJ*$^FR|6VUEyN) zQWY6<`fw?jUrCh}e(V%>ciJ7+1-+S?KGysQyBCK4E7EXv4By=u`G!{24y)J6ZyX>Y;`1!AYUV6S_*QJzuYj1$V=;Bn}bx)^|O4%yq%FKa9^p9VjIM`{QGZ!M5 zPQD+1{VyN%{fRUJbQLY-;fpbshQ4V!h`?HQohJb9dqLtpk%76fEc1sq-rZSIk@ki~ zIXA|shQ{|gGmatv3knbR-_hqwFMU|OSv3^I;A5byzet6L@LMfA80YM$8lRqugMjAp z%$&a8!E?*@(vJBHFJ-yfIYBL33-&5-Cyxa80>Dp(FKl;rN_r`cFsj6^-3Vq&g~$0b z)=s7ywW^=|^e%|hT^=a-@|F48CJCz*ncFo&Kl0>aMs0`)|8bupsX6n4Euycpn8EC_ zzh}nMu@{@%Q|UmiZH9a9rxwCCp27u`UK^<&W`&8CdLvBtV!lgPvR~skiZ7VYENQ|q z_@=lgPIph2@{76U+5aPmF&-iHw5mq86avos$sgA&iCx`6MHy#}`Zw6u7;_rW{DKa- z7@rLjB}oOXdM_dXdH!Fwg3?wu2fUhVuFpNXuhlhp80mT)$OIwD;_#(s#xOt!pq0jo_s6#(_MIU@l^$>poiHas z8*gTRYuIY?s{3F#k}lN?%$jVVivbs*hFnmOe*0k-O`D#i4x64F$cTRMa8 z4P^Go=RNpg-HkF#bkVWBYTw+VHly?+Z-XPv-s9QoKTDCqOzG_`XGvG9l`@c-3-Q<8 zFLBC*q)6;Wa;>KaIVNz)KrM3NDbd#mQahNDsZ=L-Ax#P0UxBI!^_vz`jsl|bXtRcu z;%1x3Z!ZZBjEqxY04zk?nUrW-w(Xgxt=Z+W3(aigjTl0C>p9vL5!hikDx1x}+#X2sI!{5t|pISZtI`BE7w|kG_EGOdtV%H>ZHhyi>&pX}PLB zeBWaFn#^8fpS+9fNF#m1JmD)xO=%X~rhj3 zsdopl<{Y%O%yffU+Wro>!i7!AVIwg38}A(NgZF9EzoB2HMnONSUAzynewxr_=aJVE z2;OQJlxwOMgywdVU#FX-6yTn|9#AuwC%j*}PBK|azrZ$5;=*{9xn(tKe+mea&u%kC zcZD_i`<2?;uooOX_gs6~vS*B}snX$XUXKD&A(*sS*MzLcXspw-fvoVIQQ~5#o87SM z0CN&FlN8^KuER0}yZb_MlB_@Nea#_CLe`kB=_W zc1xIU(nO6f6a^f_clunOyELq~bv+;EG}GKbOb#d^i=tS*mddubj~+f9ZV9MMy=myWCmXr zeWv^_B^Hmc^1p&9z%VdoapBA7s;m|}h-*bGr!1g0*pz|c(V4o=R4KAyT{RAR@2sE8 zFu1`(a*-e>kMA$CIP|6>T@$vjjRP~IpayI67hoJzG97YnViF?gKdc0qSipg9$cUl_ zyeT&cTL<`Ya-%-S`aPclesFryn8pkp;H%B(afCz61Zv#6db@Tv5!u5 zFu#7>tu|TVrP5S6uBEf&w0-vEg73Nuq7vESCm2E9(}75g&a4GEMTDZA$VZS+LH%^D z0UoovH;+fJ4x?CVC~44(ivfNbJx$9PX_$0*C{%4v`);XG7S&L*dAo2YrC@uW%0Y1% zYJvK0_?e+G3Vj}5h=x{uOen!V9MKOE*;ou@PjI)UUUQz(1n&hvrD<_E(*jC!wUnbKSD?do0z zU0Qm!%@r40qD^g&k$w=1GGFh^RLj)|{>)?=U2q8()R`CoO;6rhDn2WW)bh(!JP7Vm zN`@QxzWyNFDm)pz)i23-BPB|t&SW(5xTs>7Cc|tIP5#|P)fC0&ZfbrX6p5JJd4DG( z9Sy5LSY}IuVJCj?#po6wcqLRBR1#b^e^li*d>O92EENW6T6ZT23y&0mVB)FEQ>cD$#HcAl>iFebkIf2xlZ&c8wbiDY_7 z&tVeB;8=78G5;;_Vp7U&y4Q4A?&qRx(z03z7=?Kr>{I@n!uH7>kpa6N1+!(4#s0p+ z(ErcBW2*j3cgnL*5$K~sH>#Oy6n#2)Q^xr~AD09BQh9s zZl!f=a&72%z<54kA}bw^#CpSiAB&K6gW*xCvPEsm7l^!tZGn=xUF=bW9F1d|bF%N{ zKw2Bhk&XCP0Q9?EIh#>M(QTu;N-TC4D)<8|oXF%|vGMHq<8ryW3Pv}&+6maze}PRp zia(WLe5RP1BNKNIVaS!;(!Derp5iyM{#h7E(JanaNBkI46^$c&{YDfBnte;I4^HeP z^2HML6PPm7Gv} zG~X?;nLK~0*;UJxy~!kKV;pEfV+_g*j$+$3`SMI&f=+p>E`M)F%xK%8+{hcRIh{p`pOcC^uLM>i(}#?Y!pSXXrU*%uZQ^zJeQV zs86`IGiG@tC-VJNB{qvTiOw}`GeJRT@iTlo-_j}x!UM1ouKZ(1-i3(e{l*aG&l_26 z#@YUUoWG#)XB@`^RBR1MW9&JMxT+RRqdvaV$q$!^BuEMKxEkBesk*M`mjF-O;g1fL z@ZaN1ykHBs#|b?x1+L1i&*Z|u>s2D~P5c!~5#eb#>}OSP*Y$VAWMa%j!RpT-;1>}J z2QjDAXmT@Oph;6|-?4d*Yqe5*8ec#ikNTz;_H54y4-rEx>A$04!}`a`b4pwhNczdne6w7FRoMNto-a8YbI7CJ zf1W00#&+gLlmY|pcAl&0TI@_l4}%_B04zYNdA>P$&0l?ynYZ_@4wE67#qQfniVQdQ zx$rBi<%DjT1P(t&$=1G>r3k>_#{MGxz?fw_K z>RW1Og;@qJA`R-N1k<;i!kU^k5d)#!_EE`hyld3be#NTiZ8x;dmt|;HPq;OJv|hCf z#T3O)SR>EO1CoQR$+7#*1l>cZdLJP-7kqAr0E&Ep(?v;|pl0-A*}0@ct|s3mb@aw6toyb?Oyh2d zeX8XuYs=8)*}i%^X#Dq_D3@`)bY`rWFiI9VX?!I}SdYsocz(R;SM2?j%N$joKB$ z_MsBi9|iM)B;kkL$W8kA7T@Xfluo}<$nW_LXc-pFS2C=SKQEGRX=mu<)3!`O-F(p| zj_&LshD?;anI?eLF%}_)i#-5WpWO8Z(VoU%d2^4_un{*fk0;#jLT{A0sdW$qy4dk% zBiAB~?XPwGi7aPcI+gPJ?YcUydgIif*qD8VoJn>R^4x+h=g>Hl)}%W8f)9OW-3HZ zroM|f=3=FWtO8L%#E_My7dAE^O`C@2u2vql&}a@4w!^ENP&%ZTIKH{czU^UYV{pF> zVH~*;>pp;djdKcbffjErQML}zqm?6E*L}l4sG9g~zPF00n6|QjdKmMlqSel}Um~f_ zcbd-y<`rs@iCygCk3_Pa73 z(y71|SPHlSO7l$+%)8_%{X|b}c29|An@5~)vp&&hr0WBeFtwtd-kTCu+)xM*2Z~u_d$$I*c|>h+aFpD)_cev6CCkwSI*zsA z8@9I$uoSaNUskgj)wgXUc>I zVpUj2_x?h_dYa$wbP^irL8@+DZ)31`SiW$UyPk=C(J! z(P-kKPfmf4>-V_NQE$b__3MI=Qiu=SIElDV#vMHe)afraej6|ui2=E zdF9>q18Yf!#*y#ZzeYA>k+Ni4wc;2De?7*;-@FDk;}ElZBMNz~wZu7)731pf?=x)` zO_D+>l2&A5q`Houqhdn~lzWJqy}u9g`_CCnL-UvlTJr_ZYd+n~r_=yCsYIf9ni%=U z^imSUXTbEGUY>fT3}`AU#6_>09=~#u-bx;Hx~B zv|h(7l$cow5T;Y2j2(|;f1dhIH3Zv2WLH9If^w)Zz|>F4!AG2r+-sNi^) z=PxUKIrvl{!U#|_rlDD0*M2?sfmCjNQQnT6{Iy(1v{_l2SwkhjkL#}!3&q{!>0;}B zcX3ft4A}EIo$c1nV~ytIqBgxcxi_4Dqjuwjw7K9%gp1zo*KHbsvQIe;vJx2o#^ioo zmYZwmMCqme%M&JRdI5xx1WUZol7tm4!xFDMp8wZyyq+$%cm9z~XIfHvq%u24*>>&x zGGTp5ni3+-d6c*;3_cl325d?9Umms(r~mIBw!W6L*pV4%f&h7ZX4uk<`Zr?z>(BAJ zS;4x*1$8GjTE_@4Flml!8Jq+C&zuEr)nn3b?aB|CqxGMkTxo-lvO6Zl`P9b$&1m4h zd;`=nl(v(Gd`2rm2O{+tP6l#;cP}}+s!!oxOL6=1*}szd`tsGk*60HF|Js9(&ZzoB zr_T}Npt`Lul(qJ?Ch@6>ao?G3@&4IMS1l9>{rMu?b;V{VTKQllNn*6vFewsd??FrVsuPhLL;eXvu{|vi_n3?xTxkn;Q?^ zOD#Iu6742_`0`rh%Y}}Vy$M^18#fqguW&_O7f(m2&Gx2Sb4qF3BYKnb=P|u|)rjZ= z)VfN~yHAUV_1ihoU01E%X#yUU`iRZ;j#Z5a@G#QJ+MFyiW%#wH3i547ROi);Wo!Y^ zNOVthDrZ7oMIaJkoA34abx<@{?B{PIZRU7XMEQsS-B+QPG})0#t^)UP5?n1JF+Dkp zch1upr87&*ypJ_3J)1tY8LnY(;EL{LN{@GV?GekSMZI$SQ;JLWfp~s(2yhvm{X*4- z7T8wv&hLxgvItPIfoUDbK*xQWwn%r5FWDdtYLm`fKBZQfl?1l+^0s_e*dPV;vbC<3 zq`A^MmS;Znu%$t^<{m!M@=oo2xAO4q-R#*4&+7+!jtTU1FHVBNcg-vim!6(Vw28T- z2x^)!u<&SiO2pN?V6xFwcWdc|ipk|f6q}oVFs=B!g4yOyuZ*lP$qC_vKMm30qx+hD z66wBcrZ#*3%L3nYi`1jmTctgq&H3Zl$B~83v-dM<`aC*@ev6pC`JM$U+y24}=o@0m zG7~RPZM2ItocJnyF{&i>A?wFSnuoOf50J8H|KTpT)`gy;;8GlH{d%f&p5a9Cn zfW<*;=hNTAM&@<-m08mT@$uD+FN@7vON{1O5;;}CnXWW6FeR73Dth=C>24>=ieB&r z$~rw>qonF`%lMb}zR9dN14ywivhUR^hS?WvnJ~UcwvIBjhYchHrTsgIAFOAwpN1+ui;lNb+RfQ7 zDgCN@PU-i`u2?vDW!fRLjv2w8v*I@Yd`b)rX>PaX@g03>>ymf1(d_>76e**P{Y6Y) zMnlhSgRnU&`ogLrDp8E&+S)BSP%;7L&SqwV7ysTU8qyHmk0QIbw&huu#=(UDP*M}r zKKRdnZbuKD;gLy0ga)OlAE9nT&AAg6NIe0v7ygAqWt#fkskhgiN z?W^Q#t74RNg3;!7thSz~TkfF$Rpn=%Obivg%M+u>VK0E_e)D#iC!~C&^G)y9=}1qf zyN#4lMk*OhVF&T7qqIQ@IV)e_Ju4dhcZL zggTLH3OHsbXji*SWU1A>7lKjVxRF9}U_LA?s3FV?_wsc6=mklKJ37IdjQQL9#k}%I z8o*YiVYwzj8*5Joi=yn*)xax>u-15!$IzFaCX)P->;083>VFS`&ncqv>l2aT)8GG6$> za@Iz^d-`>*)%|3035d^2rqjt+3I3y|W1&|uP-Qq@1eh-XaNIt%!xZ6qU&46pm9J3s zB{Bc&k4VSmYw=U}=bYUCSVi-tY3br2y*sb(@y;3!2TYhUVtXGGPJa@Tkb)fD56Ljh z3g(2je_fsX5UR$!`U1Rn)PTW7`mej5XM?{dv1T^3woaU3gQ)BT9mIjbLZHl|KT{)-Q~hLZG+p-1#P=V)Sx`6PaB z#U$sA&d`z0hR5FIt7^!U)weg=P_61uVRr+qwhjrjFR=#B{wI%v$`^G&iS$T zCD*9-X|O+XCe$7>P_>fiEl@&-!vGBY38`MKW9_6 z@id!ZhlSSXiXOsy%e#G+u|ifEnbmrggD3n;k+7{vGDG2KheavW!hs2VqhWwQQYx8E zg)Q>iXIGw{3v({uOOde#LpF0dcwJ&j{N_Az{uy>fV+56y{En&&1TNtBz!|x{cg*>%YIc>mwGnqL zxjAP^vHP%S=$CDGntM#Q3KeWTOq$wU9z5RT&Z++MI_+Sk_Z`ZaXlSf1%G2}Z+w|}t z<))42LT`f5+4TO9_W>EdyHs+<{@G$xs^;%HM^qwaj?NdeJY5@f!m<6ZlK=6+oEuv+ zH|xJ)GJ-Wt~@n-y5wL-9@GCL=8TNq zme&{b5z|_xa^TK47V2W+&VfA}b~zwH!>lh~rZn9yJ?4arU1IgoAEEsE_r%VU$kXp8)^ET?kT zz-y~NBjs(J$^1@FyteSMZ`{pfekod@ie{$6RdD7Qw)RpR7I2QNRr|{Gy7KJP?HZ>) z40_(RhxFG-T+bEOXZs1y3$Oe^bt+XGwploFxVve&v#|&5yj=1)GUQXspxx2s^65-4 z`-b*KxV6%8Tk07gf`3e7qpn$8+^-XmnXG;%90~^NkJlPaz_>4nEV(O>cjHTkCU`S#n&#-OetUQ~$_U(^qwh>DBUrLa^LF*7 zm-%onhqfLf1VxN(YiL0%Y7RGn8`MP6?E`>mef#W-`^5$B3QbJ!_AU1Y<@oUC|Eb>o*fiqqjL^F8J0=dw(@T zpL#sW<1u@Rk`jH9PWvz4zC@#dr)E#M1r7bhPcZTDdI1UR9qyVdk`3IXYFZu`=J@#gd^cAt1+J zWH+Y0Ws6WoSOY```;}Wo`c2XPwT?~k<-2p zE;^UexHTchxq;Z2j6k#6hE=k>jBQ!g`f48Ya=I*Jnt){H=q|p>(C%^gwai~a> zK$cNuZz?9%)z>6ob2Q?e07#?wa-demRS zqM)fL#VnVxI?o}vVk=uO<(6_KT_?Rrz+?AC;|rAx6*m3tTVPf#7FnV4b!Tjk--r(V zTR~vr%d@A8p+!W#Sb7-Ft7zw9E0PILSGo0th%kA4eM!~SuVU;E)XY`oD=oEWMEu+X zd>rC8yYig+PjZ7xT;0G6LbCfpU^UZhJ3F+9`)XfY|A=4t@pCK;Dk5*r0)8tr<=j)h zU|~+ ziz|ApjmSM7Ked;IHDls(KU}Ln?Zn#!${U-mSKs2F+E&Vtt!t0H zIEf$Ii$TC@#lK5zvzj&T%@*xjF#?P6vvEQ~&S_*ARg5fv;OS~Rd>^eg#1vS1bzYZ` z3mS07f^RNlJ~JawgPurs`WX`dQ2&ZcTU^To5oM_31nx55w3jIF+!yklv6k|gRdU-) z(QtS-w%1;5sbKe_F0E(Ms+#V({^sBwl3R)4OYOK|)dRzTpn=6P;pw@tjB-fkGT(Yj zyHMoOVuuDMON*}m?l^7w8e?kO+8Ud-LbgA{knG1xf8x$tAr~s|M-^UOwdr)h;Qs85!74O5=k9ynnxU(srX z(_?Hy2=e>6DzkY=YQU;?(mV9nnSm8dDnT`>fR6dyS^2)HtM5_3TgL+C+;-B_sMD3E zo0t%@)V{$S70l+ejPmqZ>FXrjLS~gJvX$S-g^G}FDS9GweboPUcC*bL8UL)p<=LGr zqEkp#j#FuFzNk8fhi~$5<<9-87kA8S9Pv+%X{!8Y)Uc;hCA^1s^bj5v>UMH_CfMcE zY1HlKtt%=^Kh$>5Mr`fZWH}AS;qTyUKFZAZJlrl#Rv#&2r=kfWwV85vk6wIVAVNps z+fjP1u>Y(vrD^YDVo;Kb{r;C11G$r3n0M^_2BMYNbj}1w|H=`j-)=n+k}vH= zko!&_X=kE9DDl;XhTcr{-n+u&ZuSxngyDQ zqQdGVYNbu_Gue-{x2(BP)!8j}SIz`x99vH7$ocJgOT8RebU4%quY|~KWs$>1_WR+c zdwim#4`>88pD~d3yL!KRFxC^19lez3zzOCzRvAXQj|=6+JwN$C@d-4Di=`^|1yvzA zHkcVa^fI6y!{(%_-|aVpNe*{pn%u&CpI^u823pK#uA_;2ooM zvpxbhe0YDqHYQVu+sQ7uWT}oWN7(OiOBsmy{d`4noQHqPa~VW0;Yg5~L;uuJ<>4Kg z3&^26RD58Cr#n?2q0iT6=3p9Sy%rmz-0|Ct+F?R0*xJt=}EQSU2p8o1jf>CNk#;maIJjw>v{RWuVJ z`CrTn6IKx`V#IrO)JU7tep&*Vf~7LniJO!2*~IV2B{RwJv@QUHMU5Xw{}vJ^y*4lbsqdBRNrd*%;lL#Yx#)FcRXY{h6HCYrUK zj-SkIs3X|C;`OYyUS8d9>pC_~HxKu4E%heNTHo=J1Aho8gXYR6uhl@!&y+SP(dskG zCxX}ax=N1L+Vz-Y?{!nb=KNDGa)$CTxqh!Ig>P3Q4SViI748Gy9<^wQ! z`CvAL=UEfiT$g|Q-HjU=!u%6u5wg1nyOrB-KY|uNZ^~8g@tTiRo?0Y=$rYYpC$5yq zX;Gb(nB(`4z;v{}=?J&1J}7|tKbsDp)!Gh?P8j)w5DbHCRv!{X63K2;HmFM@V0%;7`&*9?lpZ~($cw&@)z$l=@`~%L*v;P$-{|5f?#1d_ZL0do4kn9?- zqCX`0HoW%bZ?hky2*mydC3%s^WZ8QqYp$oS6g)jZ6CLoYXx!h=USf-W=1K7fM zXW>|}hX`vPb))LJq`9`FMRqkR=b53hCx%h8Hk^DaY~cP(K?8gC2)r0v5SID{PzHO& zmB|&L+s2!mxwF#v37a?T^C6LKQK6>9AQGaKwxt0V zy!a>!*Yq&I=C-U?Uo6JUr(u_^UdZo9(kSrqY7CS~ZmB%~|cb$=%G`1frKCoaJ^0g@0KJ#D}<1^F`G?a!^0dh>pCEDx|Tfhv_z@iPmJ z>7s!gmqWAe&W!N|&-l{FymUUW@*{-^P=2N2D0$P@3X%K=5zHiX?Ax@5v;krpMe51N zo3chVpYwnO%&v|JU*0QG=GJuC?TSi>esQ_$bV0qn0?Hobf}Fqn-7lHmzl0|8hJVYQ z+hY2_blC>TT#T4)e%H6yH^raEp5S+!70KX;5X=7|BJ_VhQL7ep;HL!G#$NJl7pRzWT=(^!i<-%f}C>qDPt!GPRuR@Vo3!F1TiC zSK4DKDv<7H@V!KRVgF!1rMjJxP*mSqNzi3ksQ>iJbvY+!%eO{Jvu1G~A}8qF^s5|; zFPE1AI*nU=ARm|V-Pe|BhbJ@j-#vK2BgapgBR?Z6o&`~UBEe8;2)=h6EQ>bUsA}IE zXn{s{C2l--JHmQ7RHfug!7r+>Sm8gOH;MiWyZ)zn+-Z8+9nDRyRQ!)}7xV4{u zb^>1tKPjI-<7IwY*oRMb`3jCBSH^5>3Ijg3x75>`HK$QxsOixtk+-1dF}j+)pBR2f z`g2By&|E3odOXK|_FRSCMigtTq$fqFT8ZUs(|*(ag~*h;`Cv*7l=G~R$fUn(@HS<) zf_bj2t2>2Pdfft6;;zu!7ym8VCkZW);WuD5wknwLsit7`4YS{FVlgvBCsLvnqQwO* zKQ=2|_^+@+N@^Kvf#Vr|9Q5}{;LJQrQTj;8R+JA^mf ztK=TMKdk>%0-C*wIZ)t#U#*yE`+*RYW!WUC#xO~}J33EOrNt1p1(^@>2Lyq?;r{UU z&#+7Fi*Dc%9Ev}TFSR&w9z6O)N)FqT{NTc879N{H1Gfn6(j22hy%hhTX7`ZYb*fqi;OKiIWxEm$eQ2|hH<$od{9A_8(6-t>&RQDj#* zC5%ovM~+Sj&TtH3+8?g9NXa9{T6#y-@%iSnLDS6nwLg34&qg8`Y(YZ0M|6ERYKySN z89(J{Q-_iu4qk-gdT)at8E-;n*g2HGlG$93dDJS>g3NCw9`r&;bxNi8Zml3$?y|yv z-7%lY(S>>jFrtfxIeX0D4V(T6pdzTf=%Pt6!P4)Cn+RnxR$M&AvhO6k4p7-|`t(}7 zu`-g$d(Wrx$rytrVwYs6d$fINGeqwFxGh|7yryq!k*Tn|lmL?=1LE-FdHBOS@&+}Q zEK7Fe)ghOYT_;k24n5}~yj`d>r|0Kt{7PY;E9TFXsvJzsVBmLf&@nKtJ^Md`A-xHo_ zvSQa1J6557MVsl}Btf%Qw1-e(cJHZDsUv_M_ZxWugs2=$cp0Rfb;<#Y8#6Z-gr&|Gjawj{ZE0_r_XyLpN zBMQ0u%~b(mF|E@4bQJzw@~RrUcNe0&K(BRGK9av4D0c}SX$1e!3T=zYn5 z;#rp;ResQtq0+Xrd}5ayBLPN#2t9bNz)XGoW*guzE8e>|B+VBK^9XR9Xj$yx+?bRqcCCFK3puvWgJ@XkU|zTu+`45T43U>48H6!aU~`EFEXEpMMz#J+A^v z9B|n`s~4xB|Iw~4^d$@|Y3UdC@kB|0f9>Iz*Iyr!Cz$g1auf5WOXt0u@n2R^%&ixN`l%U)oYzQn#HZpt_sy2B=>w*aYx`$o0Fm}`!y7W1j^~92Kuuf8 z{FYdh2-YrOtGB`--BtF~z0Pmfukuyx$%HO+io?~txq$=EIWv(M>&%t=;S1XlH-y-ZN^XVAAzT4UN67dv5Zi{>jvrfMc>Htsd zGVpKIc1Aq45xng!FN$-g4INnZtUYQeDwon`x>Li&&?WaXM^F;Wm4)C_ql)r{YQu)J zaP`9NAcz*=#_j#$HLCyhU9`8)J;2p3>-iTE(}2&)lKr_DmG8tOC(UCT+FuTWifJ%W z7JKUo%sOfNhpl98YZ((%TV7BfNQoy)3E5W1N$u>(Fuo=O&ITj=5Y?nzX?aJ=DzU`U z2m$tGH#UlQlRg@aOt-l0dQQW5T07@UKF2L^695bWO96BAFP~;IOf37iv;a=&a+C`q zc2_&~i*Eu6MM)1Dh# zE}K4UjJ^oydDqo);g?ET(&5{btew93X;iS~k!Zj#1?u#A!Gx(M_v_-DDk3>mLd_!s z75R*Su87-PbD;NQt=Evrsd6c7jD?jmZ>V@#9VdxEH&6#}KLB_6?=3h0dSlEHv;!^c z++e{h`~KCbVy3mT4(kN%1QRszTqvK=?J~&xcBU&jaaS$&u{+6coAfvHlCz6uKKX2& zJUivHk*{O!?*3*W_@3RdCA&+Sd87QArM%u*Fc6q0Cv)R?; zj=2spzi-o=FqkSdx@LYPigg2vOuk$joUHL;g&1=YSlc*F=O4)IojXV9CDBUTsh#z6k|! zo#BUWq(F*r{%!g!JgD|wYk#$ac z!BjA-)RL|AX`;)?mUrImtd>|=FV9W;e2Z8#Z|j9q_73yPXpjU_0A?VT?cO_$!OM-m zBBL>@uj%?n%>?s-J}~BSf1>P0jJ4Fu@KFndR-67f36$FT^5XOQ!PrkH_~%!0bnHYr z6~hr^%*`C@P;Q}oS8;R2#b;(us$YVwt81bqiQKWy1^_kGqK56fgL>cd(_Pdhx=0hM z(U79jB(CxW-g*0CN`e@kGQ&9t|9{Uw7!!|3{=Z}(fQ%;9IIhE7!}=`-Orw$WLspdC zq9Q4vygsF1^(pmYmxvAOa4Wa4N~0`lwoNCQ;L#3_E&nz&=mrkWj0R@gy?)AQ3qgO9 zwPQwyc}=C>D_XaM9JDl;4UUWk-0O|{dMzK0bLZr3Y%~@pTC#^ZF6O)KJ%;AP*UtnP zXO$cLLu0cI&H|iX4X^7fRGr+wjy2isls#6F=yR%nk+;$48NW2gYTA7E^;r%%ERBm8 z#IMxRnL^E2R!*&!5kUoy<>b?5fUm%hMUe9Y8NMNX?uSuKc*^8|@g8phzcmxiOWbjN z>mkzxO7*D&4^)hcZ0&bNHQ3O(Bl`pIdnYcS)xEYTv3*qPrk45&?!N2-)2`Rdq!fa9dOLsxeFc1luCI%8UN!@91{ z$$oG7oLwzyy~tMg#FU7RWH_P9ZE}wU^WH4r>E%_LsuyS<{B+#P5j|EF+H`T=O~AuJfokkr{DRF3N+H`m7V|2nS?;vr0qeb6*~hGg1tf z@%-PqLJkYWsR^0nGi8dWmxPX6v`=R_{(?zfz79u2mb_qMA03y74ULCa0F5;50sx)$ z&{1>WNYzVI=&yBueq&jiaOp#j&O#D#>ZCa98GLXeRPgX;4o&6ytpF$c5Xv9{f+nr# zgM%H3B^9_adhDfufS*6ROuHN*b1tNcYNQArMMcc)LX|iP?+MZVaMU1tNQm+S|4}v^w~006m$h^VjKp$L?eoxeYxP6bQiFuX8-B!4MzW zzXpu@VA#PLZ=J^OniKXR1*jk8*U%XC+^dea^lB&{u4oA;0RntBQ>U^oBt~KwQN4d- z@TAV&O8MjO%-GI;eOK3+eD3f3iU0p(-h9!yJMC^?0|UW>2HgGCy~zuJJv_abT>eH{ z{@~8v-pxmY+JlbP>12q~7E3;IZsYnwbSmAtu_Dy_*n7;Yud-(R^XA=2%>IdC{%M;$~|HSu+9#r}}Tu=OcTv)SM z^_)?k{Iy%2vp0p{Lkj^ks(o;=KHGEjn9BErl2yG++$-~Q$+NcV2MFa?k#vHmpw;oy zUr^Ne=}#!i?CfXUQfVRmY52e?IbI*$giPWm`_OOr$0yq;Uj799el;^#V zc+Rzg8$AH_hC=Tb*1Y2ts)mWGe|*Nkqm?{VcoDnrm~hbMl;j?JVKa!i|k2= z?*+V!(8C~Ka)E+9P$Vg|kcR{a->MGrkbJ}!Iy~Xgx%IQVrlT$gzN~VaI3X3Y# zS6?qBTrIb7$ewNI#1j_8ed?{?V>U2WXukC^(Ra(9*TJ7#dkdphh9)aY@UFW9vId@R z>TL?a6Z!7B`#F@`pS7rvvm|rG`fN&~qSye@LHT`1N$>x z?6?A8Tz>?vm*E1Q6wZwd{9Oddh)aI*Kv5lDAnEysaU_r6_cPMrLggjkcf9i&#S6gi zc!M?9I);BJ2_&q zc-MX(a^{{ck5*Ue+Whu>R)^o>Z03b{8-|wu{Vu_GXQ}@zny78kU^-^pkK=Hb6Suw_br7wW9M%b{yAi9atx( zh-lg*5uFD6rjBZd0V!rxg2GrKML_qW2dkfThmBjTlt=$^;L1;fAxax3tMmgp$ty}-Mhj!B?*ZgVE0^23?Ei1e8!khJo9pH zDBL?xM`62jpP6Z!FpTX7je{Z!dxx%S9a%r{de?Y(%?oBZaT+H-^=3cBh{Fc?J`-@}i5l4YFAmFSxuUAcUn;#F-9y^R~p6;!! zt%IGJGo+oSqh#ZcCKpAVZ#-!FeqFoWdE(5~8Q1{{n5A8z#B{Sp)ufDf_$(R;Q`7B* z@;08$j2ecTcPNfmK}OY*A5>aXaD5e43&&n|Ajc@hw?FXjP|UfU%>{ZI}q3D znQooOhPiY_taNY8R?bW;xnhE)?Fz_v7rFk-=0|92G#-+&?(YifOIga{+MAP5Hy9ckV@ zzAFW#|1$%r1^tV707VQ`=8{)#gWx~K{`%}uch)|>JNFDQ`~4TopGwszu!OuJ<6-wu z82QqEoAOJNg%Kh*a$5Vl_#D@Il;W)|2Tf@Z89SjjLFqKhGXEIeiTzam2&?AuVdTB% zmy(3wH+lzU=HLTL?u3*#RgXT;m4v9*ThO)JaBS`zraxR8ysdP1J#C8q#J-6`SF>u` z23q@Qc>~K{8trJ-WXV|IH#(cVGO%ld8j-SCTBQCfT$Tj%yk7zJ>aK)lXM!b#A2=5D zbhW;qHD!_dxOz1+Q~cRC!Vwm=d`L3o*9J&8k9x!~U6|vqKhYR=m1HScN1%W&mH+vH zqhD)hJZbGv-l5{qix%O_!Y1iaMon)BX^g@a64B8%=ZOrLcHDkr(V2aox{>2w zArJW+=rsFJM7O-Q#j`w<3j(C`EuWaHU6Q|ao?p0h5&tNBp_6l#RX-;QvD-e>h0M44 z!24%U;Q{kxa;xQR=8e)0vLte|9nxqsIj4rLyuSV z;co?wu(a(S{{S)HrrO_o%E{VAd+S1dylmN=h?ELrz5T9*&oeoh<8;Kw3BHFrRHNhS zDIDCg56EGpa2I-ha+ou&s|3$IT^BuL_^}r*>e80jX4M7{32Z~&p)sm4uwNUKA79Tnod!_miZ@R@hRr3VUX^!S8-`F_K27j_dDH7c2PXBP5cBK?rQM z6$kRv9uAAf!fnO=t zGfd7To#zyC-CLvdQrT5M8m<}Hp-5#Od%C^p5QHn``#n6?6P?5F-rKg7(EWo$JdFOt z7ZC}ZNSMec?V_iXC$Dq*PF7p?I@IE_m-HOnlY%rLs0s**Lu62rO#)@t4aefIB!f6q z%LBlpnq>_Jd8i$=Ls<*h3#}V4oh1S)-rWmK=PM>SEZPd=5|Dl?GR*O|%&I?f9vMm7 zz3#5>On4MfZk(t8B#cjUXULF>orEFg(_CKQei>ebuYsu$ku01+uyjSUfm`hG8X9VmqT{Xp`-sgBR`gOj&q>VG_EQ4%U{T%&O(s%cLU8^L16j(8#&(b zw(uW0K07)57UAu_B!3Pr@dHWe!x{=$R_KqPN~~{97Th{q0Q1D>Ty3VCz=2i1Bx5Y_<9!;tB2Vn`m2lHFN z--~fQO1KaHKMgoK7G8J!4!bN1;J)*GCQUo}Haoqib5Og1|1RwCn{n&pRL0R3z2eUC z43>R4Ic;!Wb~m@Z;3T=pt99n7-u$gDu^^QIYKz(VIdGxB%z{0t=;abzQ(Cz2Jg@@e z-w-tMP(7Mi2bb8qm=#t1JM`eR(%3mVijx z(u{XfV^Yj`%^YpDh~+%_2`YNhcsIhk(q}Sm13op7vJ6@m+E!=t`MjqDsKmI~zygl? zrz*UVM}IIR(ne7!I)d&dJ3d#Aq~IP1n6wG)vu^LeHPC3WTwTrC70wm5{gPe@cy6-n zS-g0se(OfDzsQ-oT&TArrr#@Fvj0@wtFds%y`!(X+1E$YOHYg&*KCFdG)d(PQ`s|^ zRyrSApU_wvqxHV%d`*FcX?)C5O!7|~)DIGV_?ll>wvlkl^PA8&`P;AIpr*BVG6e!$ zKTceRR8>_Zb_bj^L+mTMdiRyanoYi}$dpd?0GBx~d6jod9A|I;zDkjLI7Ju<=3XY{ z{U2>q4Y!2&z**2qQ2JcR=QI(8iDG%&dQS;5cvOt2w5?C$qJ&kRvc>lDQS~ytWJ774 zDBK))?A*AhkBBhW+Z*QLdHHppoV(7Q_NR6fNys0{E5$%Z@ zR_zT3cXJWyah4-|e-Ib|Tp;T;KeRJ16ksBUcZWc(Fq)Y$L8B{cdlNpeReF2cB4J4f1q8DIC>v95u?Hi&aAn5Qm4S@v}B6%`z{6IZz7L&N8Q zXODMI2`&@U!L6%Ejw`+V@t(fVRK8b-5v~dn(#hyW>ZrZg&pX7$i}%_~HOI~c z(UOHRg29?$ni%!*Xz;go}zWm5r8=>TheBHCws@X~X>@ z=hI0j6W7_2rxJ1A-+7#}N0ftJKg5MqX?4M{61B*TQuc~EFdvGWy{Fdi$DOCU;IO|U z{r*6_H*XqL+~i^t>doQaGoQ2*QW6p?1T-lsjtC6EE|SBha4!{i1Hs%2KwC|%u>ZR| z;pQE4qg9Z|WJU=uM;A7#Wp+^HTxUGVkReCXFp&W+qExLd2inKcP%y6gPufy76jkwc zG1)2HY-uu#+4UojgK8mMy_2bzt3x6I;Rz~B6Mi#r2c zR%bf2(EzlA%yYTD8cPM<&A{n{(O3nl!1y&*%mek%r`ie8OBn4)FmSj=}ZZ zi>DujcI|z5O}GCz+*jS&a16Q1NbDj$D6)cio|+obwzod zpW>m0bdj2l-wG0T%N;c1MOgQGpB1UUzQ)+4E^KY95W&8E)%{jfVo9b9?Uq5i1fn|Z zpv~7;?oAk9v018I22cm)jnlHyG=bHRU6ii#-@RI;omM*({#PwQpJb(2P3lLrbNCqq zvH80mc`29XE~$$W{C7dpdAI3*Cs+OJXp}C2F7JJ)e%3lAGg91ZM~4A+FU`Bt8y?j) zC!%5QDsoHOZRMsHFtDYbI11<-YZ;hB%s;BkwdvDTkJeMr#ioms9~rO zuE|Sx^B=i$g8QkuA8VTDv(QJbn$_LF#&8S&ZfkifxXlkfHu!bmFe{Le<6L6klyk}` zgEp7GGx5s6J0@at02LygkK}~bJlTupjsY1Ze=myyPd3CD@qVv1Yn%P4*jbRNw!%9T zRekicbKg(5Q{{_ah@r4>`1$+X2D!r+%L@0j*s@@x*+vLvg z8ycx2lZ#Qrpv+{U2jG|HDy-@-QmbZl_7%uBFXwYXp>dEl@4fj;pBZqzRbbus8p!1L znMY58^Mmj?2@OmTF3iNjG8f`-H}s@BEBO02F@_lz8^-LkDhf`4mkh}(Jg8;nqw$7%3PFKShuDjKWartW zfe47;;J+Z)|5!8q*OQR`5*j;Dau(#jA*xsiPFjS51Kvzwh2%1{93|rf>*fh6ZFl`L z#$VLN^mKf^gg1A7SzrbKQ`3nZ&#HrsN~+8S8SLKn zj&w%^S8}Au7J%9YoFoYtt~3Je?Dek+%REn_n@0`Q_H%6ZI@TCWMRz_~puOY8*Zqdp z@^-siP&9If76S`3azKAqn&LV0zD)yrag4k*(DpKYtr%jiLbf5{T!pF5a9S7Zw!GzZ^^ecXem(o~yjtgb-miOw}5jJ{+*&OdK{sbj~XsUhKPaJ_?$lE0_4* z*cCx~#dAa8DdZaemyXI3JCm07!5yPc0%=r=;tp&_`I5 zF|b)lmh`B!Sgr3kF{rlTmL=ZUxuzZy3Az2;W~J|8#mtZqVqG&#L+z_b)!E}Nhxabj z^aUH#m^37>ZhS!5O(}ML}?uB$_t*~%Jscq|0gJ2`J12z&8v?$T6YO}{mn|K)C9noh&bCdCQ|si zsS=$c=3+l6k|C?o{^PeL^442~sbj+~k7Hk+yg#%E(^$w4fIx{sl-#M@cz?_RV8$K1 zD>%*)uxRUim@LrMo;vXL(y*w3z04-dZZsXWar7Vw4TT1c4Uk&@O`wz{^eNKjWbDe`iN@T_+rY zTAYyW_&_`40;182ZkzAfT^z10_AAvK2M&L1(s4Z!I6zC|HU4=kL4f-ZZMiXCE@*y+(%Gp*Z3vq>ugHcOvo2ho-~<5AXK*BEL=u;x&y`@woZYdUJ;0Z2@Mg;@PD` zZb+5wl2s#em&IvfB}aZbcehIfbw?fEys1+{$Lc-fci}A0Yg-Z6e|^&Y;S#~V*vZld zEWH#XRJ2up_d$BWWa+i8;?1MLX{q=wKJT`qAB!_aQ$}wU+yq?~C62@czh@FCj#=OH z%i7vyz-}ZJ>{pHdl+Bla06FS^YIlO^0&3rFc%A;V^-R~;!q`UqxpN4k@|ZV zLy@@|q6-7<+ao0(H2{PPWH{lgUlkFaG%MRHG2pT%&c>T7ERSf=8I&bv%L6;F)@+Yj zuTJ)~pEMs2T^8j;9X__YI6%b`J`A`Ek>516v5b)mZ!?O(Otwf7)>R3ro6Q@#Yx8P- zI(ZDl!Kvx-14KrPjv-L6K3Z?S?$I(-vskuivO2WGxV6Hj>v2<@xK6v4FuB_>dWo zm#Xq6PHJlGQ`B%TgrR3(FIttZ2XuF%+Hc`#EDz{zROfJQ_OMJZ*?hRskOZmXQE zWnz%6wN@m@XEs!IGJ&~~`_|R17F2$Vy_laJNxkPVfx|0jY+#)vS|0$9|qg{m8JMzO+RnMxj{E==eb^V98qp$^6exmeNIW-Ld}=LcpPX)y}ZH6599i&#x{ zEjL(F!{xj8i&bN#ndVC(mXXw*z*$a5n$Xa?PU(vd=DFUZr-X|g^A5{DV_g}4KS(O> zLH_bc3~ai#Hs>oh12ZI_oyY0Ry&U4dUew9vsHJKKd%Mi&9`^gDNw(y*je8(bteT1U z#lBZ(`T`B%X$696s$8Dg@N53L3vPA%_k!sBrJ1xQ{4Hq)2%H&hGHn=h{hD9}&6h=W!{uY>$BXH+w*s;Q(-8KlDzR|5v*{7dNKHZT23+tf^P1^czSIGCIeRWoC) z+KUM_#mj*}={wHo%OgpB{3UEBk`vdeCDSyl@{t%4VZ`_~>(h-la-@Oh2+$!4pqJS5 ze~Zg2|3ljw7{`BQgxu(PAN~CBLaB)#bYaiT`&dH>@5Uc14cN3RQNSOX>(fmpcl}Q4 zo{WUF>VV450ND)W$*c9|AixUIx`Y>Tp4)(IdTxavsG@OJh!%jo79uC5D*q$9SR4-g z&MwJ5*nQu4=}Y{VVP?m9NB(NiP+7`edX4dH=?)ng!6TOaCocm8qjey0afMciIgP_Y z=cAKGjPpjg9{8uxMrk@Ei0*q8y$Ymz7Wp(3jW@;{b#UljppC)4;Dp*dB)eoPdE zC>K;|zf6*vlC;FL?aJ=FtGe>2+I+mb#dN+la&|>LKX~Dn0w)R->WG};5LP+I_COs* zL)7k}yE4qUT=L_AJNc(5h*rlCFwtN9h0iA7iA6*n>UrDk$h=jM7Vn0h!C?%#mZci#jhx!u~hVa%8S@^U2;O68y8`ZIV8%P9ySR&9cG7doxJL! z&HyDj2&OUTq_B^KZcJdzRmS!gU=Z+ETx|is1`z z@;2gB;$$K)aVoHupYVY1i_IxAYhl^^8l)bF3Z#^k$G-_JF|}pmR0vcU6F&mMYkv=3BX z`%@kAuR&xODD4xJ$$|}a`vDcK{89c67ua0&!G~jmv?~JOI=B|)Wl;lQ->NH;ml*`rpJ0ydr`1}1ICtJ`%<|RwPx3U!o zK|3Zo-<~6dh;&3S(L07gL>DQUOHhpvdY+DCX4DNgnIw_% zruq6Rk&x41`AwcioJQpKA}^7YwsMiCg&snLbveZLPZduPWN4;=$F!nE>UFipq{;|1 zHFBEtW8jXW;g8RV^UrA3LGIFmRiVb^X)rKq7I15quZ4Ri6IEV9-no0eWV9%N@|x-M zpMk~t-&WfEjWvo~LGBiU&Muuy*=><_Au+tb-#hOAjS$`|^W3Cb9B|t(;mTo{ z%6J#POFR-%=?wRo*NGk$>QV(|j-WLKXJo=APIGdgZ8~q6w+WDY6AQMu9an);rwGoVBm>Jn!{>@e)XK&)oN%W6Uw;82{g{(T_?!(%i*418^!E zFH6pJ?x2Zrz9lFjJy1^?bgdX3&?K5CIe^v>IKJe6XG?Y_icMW>oeJHbd0Wj+>SXdU zsRE&a!~EOOX=molS0+$qHNK%r1zYLq?{0g(Tcec<4?fVhGF75D=wLxzPQ;3C@<@hO z<|5TnIcoc+qFl1Fma=w=8k?>Q{1D@t14(hVz$NBkqOUcVH+M!DJCQVHQ(U-0_Fim%EPcJ6WeH2XmQr4XD)!v|T z_}%Jg#Zh<;qb+}81v#7FX18Cc<37jWt(#fZBhecm6Ut{i5wvZhX_9m#&V-SVliTRC z+_0^$z7r%rcGDKe#aT8>G-|(AKCoRTEnr=x$1Sv+w0GAveE9J4pXW7&ey`SN`=$jy z{dwp7bq56;`m$dZljaKcXOmsx=4U(G6lU@(d(R6>2}rB-Nc+>de7LI`Z&M4ub+_Yr zk`kk_s7tHHHS$=0Tn9bAi)I;3UL9GVG?kY~UsbcDY;D^;9lCLu4OMs5g>lRFJ&*S> zQ(x8qjhwbGA|)|2k1wiHPq8<@olWHl4e`>kh2ZeisV%gsD%O%cS zyUt zgqV+5+~q+UC2>k$(@|zRYIaJ$A3aF=PZ}lJyO>F9C9jCb) z6l;^Zx62ng1?3!ks8_7LlrTuRpEb~7)uER=E)AOd&k{jdWV1@$pY)#b6#WsYA3B-R z-Uz}adR_MW^xpw(cMkz-DxQOa(3D2h{v2s2VL=uXmLlKj_fvQR9(Wg~3jLqT1pi{Z z{^@x5jo7KkXWy62nUM#l^46fB6ZA7;oi>GDjY^QW20H8*`UK|V%6N#t_^rFvg09Vzn)z(du=)yWxk$=GPJrZo@Y_b` zHjAA~enzk`s&y|!3D4Y-qn;c$aCy_~qN@tpEbH5FA#_0b-S@1}3ykiDore7TFcO;5 z%zCxEqNTp(>waFWvT>wrr3IJnVt@pgBQox29OeZGqU}Xg_&prRlQW|YR8Ph42}{Rj z-`4)}VkhF624Z3yF17bt3lwvl_K7kZhaYL3-D9X3`_eOpG?yvhNURb-V_uwXj4|zSIl>8JHH!ry-iu9+?ZpNpk3>7p@}b}XF}3;J`7M0t zQ+|~)s@Ddz<=wdCJsMQCP3vPj*Z4cVa~mo_3;OcH|Ln^XvALxjV_wS?Y`OS(u8@G= z-&J(`%yyhd-@+Tj6*iis6L8)D8ix&jbFn#oNrw2P`idr^9=P|_!w_R*NfVaUeb(t1 zJrTjJ9cn(y+^fltPW43ek`5m4pu#2woQger>m63Ek*jQd848@hS=glYQC<0`5hcn9 zxiH5ajkBfJtK_EoT(d}4Vm}UDai1Y8@1j2WR&o-z;%Y^4w4U1kkh}2xv0dZN+$wBH zY>{A0Od&n2l4RDZs!sW!>hjrFDd93gN8-M=TWJcz>S9lcIt|6rWUN zor)Z?n2qjo>)7wUw`$BMF0Y*%=x&_TWKhR<#%Lq9Rh#H$&6n%3&dug!EEB8r?Cj`k zG!r06|Hy7j(8jerA+tKb&e@A2@&Y=4<+E0wJ!?z=xhm~Bx*yhcza|8kip-~Sn0-Q+ zi>IP5o)Ev68u{Y_M)8k}x7S(URo`zhlDtO#L>Y&?sycz%eFms(ME$X_5`&dznDG;! zVxpp%#`BXD^CiMStI&C#Q6~IKW!m$n+aGR283Q;f9ZXr_0Eej3v(+gi<)ebp`>;yg zNI1OczCCaG;^0(KLazl`ucpvA|1q?{FwY`&IWJQQ2O@K}83%Q35nN6U#0L8-uSS&N zmByyiqm|uBTfA9@>-Kl`}T1KwAU4*4DY%GM-;s^I4a7On#>z zHvZL{AEKVgdsm}QhPKaI-hfWv^;2_`dJf4jJ(qU1Qo1)OQa{rc`Mj>>61^7C{DpQz zYm+Ky(n0USDEM+&heMTT_{o;tf=je6ccJTgi&h3Hw(>U;^p#???}Xcomd|3BZ~YXh z66X>^7aY+ZXgs~xhCS#ps=|gNR(zm4Bl)qv!1U66c6&2H*0y`e(>d;&1?^rnBCl4a z-R1;VlIN|vg7ou|#j83x`-jr5fhV&67^49zRM{ViGVqnvy3WxUMw%N6&YF}7*R!6@ zKi7Z01DXFpPLtBlJ|>1bx;t7ExiWO3SN=lU@?<8(pwYeg3{^?Fi4tZP2!^}NQX6*wzIA9S86&%86f z4bon$p3?F1cF*^9velcbOOVqCdQDIqx*P`753zG-yt5g9RSO+@MH!K4ce`0>?j1bA zu6nV{DpyP8O|Qci+<{ino*9Z3nrbd~e7rgALs`Dk_~6W?n3dbK4?;fhC`tXiQtL6l zj->LNdlCdw5hVCj?nunXmd<}vUGrhVio+ePx$<1J!JTElZQEElMeYmLJ0?LLlrz5C|bcghI&zbG9fKTH~DMMgBV=iRtgOyf2$kv8l> zDe=du1GOh3e;6~YKh6@sAOG9T{{LME_Fwfc{IC6D)LWZko%>i=UB3<4pHW=YIXqOS z$2J$%qlBrIFaPMb;0XPfKYpQwdhR%T0!mkt5*^m-m8Q`r_U)HNe!W>bJ}VziRY5-+ zd~0)#gU@cK4_b@t4{#7W?SXN}i3+<9=I1+lXO(ttWrTnnCUcLq(35N<_m4Nwdu7G_ zeghCcczUN9e7+KILH*g#-EqjlY46joV0dL|6oVKo8Bkd(;^hanBWD-v4X`*n6j8W} zUXZjRI)~*Tvl9OaBLIT+7}Fm@FZZv01a|{d?Q-T#IFVaBJEFmuhM#tLBhbxz~h z8Updd>zxCgnXn~`)!nr`2F}X!l z9>8BwQsci=JRKtyCun0^O3&M)JQ|E%{ZD^7$!xz`2>>KW!?WT@%)!#XUu6B4mYUXJ z_@ZtM?5;qiS9Qb^OfbvI`k28|NU>=4&8`*|AMBG}l<*JSC+PsD{LZ9o#gEX~%#ueR zX{kH+)$ag{_wx`6YxDPUh759R)+Am5ze6Zy%xwm_v?eNOPqmyFWj1N~EFlv9e4Mho z#^xqEng(4^z_5@bRZKDeta(AR18eTgKNxku7b#uGZ<_SXTc)t;@#AIbOFtX|Ezegd zvR}=)D@#t{1wscw1yg}b=lV6`L-|k2i*K*jJT4*q4muBOzI0}X%2L4Z%okYVWI5f7 zWh1%6#j2!+WvR>KBM^NkH3khb^=g%m#UKv$@AO@Icve1U6zH{hNu)PxBwz(~=UQkDw))$ii-8yBOe_?FfBNc@tE4vE52_e*GEHP|XNX4M85%dWDm4K1|`;Od!jvA)YerjqL;q5-?C%q;vG6Hd9)4xNEi`LR+ z^Jgj}y!bdh;9|?g4MRtIZYi`~qs6ajvX&Nu7U%EHWQM~@DZQ82Wme2ptnB-whsOmF zc5bW0r`R@NJ`(ZC=Mp5tv2I|X38zt-KM*$9`y)L1H^PrUt+#?SVr3T{w+YmjqNrX1 z6Y{q4JT>vD4f63nMGm>Xp7!iNkM-$l&?TX}XU5_tx&;(XJiK*kYcN-zJO6*_zrb+4 z{Kbs*?ak$c^H|@Y!PnWSpRT>20XRX(0oK_sjvjB}T{=vvY5i<9lApd=cA? zHGCu8>;4n){h0kW7T+Q<*-*A&@2@W!k@MnWoP|AiE_Ia{*=K|`!=~D|-fJSV>*jy9 zEa#|*>pl7%3C}1ZIudu{Y||##TUhmOg5$HQUFZk;x&_^sh&d+hE>6OFf)wO5oJm&y z-fOWr#aA^aZyaf@RU@x+vC5QNX)5z67bS?cmNe|mS^8z`8r4|%`O&w^i~8}Dm-z5i zZTo(?3}n4A^AoIK)J>CEvGfF6O`bqqU%5;2A0nu>-S** zKN(wOj#JIF9UY0E9O1jluka!_>c>6b8nxdVmu5J)JOGf4d*zDP#MPj$;#7>MnIe;| z;92-@x(k5bBkdybelsP-Ya8te3}1)qEKxA?7(o{6;^afq!McR9#!zyeeXjpb3l z9%Po;4S+PX#AAw~mSFA)E@Vf`?EPK4!cL`44@a+e!2~<~@qXmZlHz=tk@)oTY!}b< znbE)D{C=o4DyyW5738xa z&h6Dg9M3Ipj`eo-UAT9WMFvQde{MRs*FYO?V|^CX`k>ZR-umDj_~+=IXi{ms@h*+> zfdtk!_~eRn^^VJxpZTwUZ(!>2qmFb`zl+8b^cdAEG=bgDdD|U+zsQLDe{3qgQ4(sF zy>*C=IPJ{#{wdkoLWbF;&G_Gj9%o4fP&rhAX6m~)oog1|#se>$nXad~gjrDK$~J=e zb6866R^5fM2i8veR_x_j^oV$|E@0h_8mStWMeiFP&2+~|q6o_r2MFhl54720J=(xAMBZ+^ z^q|W)2yoWm6a+x2z^)MstG&Lp>vqHC7~TeItk>{HxG&i$%m+v9VbrsWgXgirG4t@2 z4{>r?c(T|OF4jj%VCG&oBqoGRPMNY@Y@VsN85;!1&fgSHdZ>6gr>*Pv=~@?Yu&Lue zeew6a5f0C4;YM)kH&tm5P@(OZFxixH#jC*nJ~WnbHqP$?mMIT-dXFYE@E}z41zEb7 zA1KZ)H9nW;1r8)~XgYKU?P|s+Dhtpc==mkSkr6(dqJogkP z*pj#Iy9G;_Ul^SV9Ibpa1xo2xBVDFs*ZU2;HH{~gIV|@%78XOk>G3Xi_O{#%ERc6! znHIPZ*noqg)IZq&^dxZu!BvBBE$3L+%JDO^=G0G_6?V>D)x_Pp5xSIM4IP!SvdATX zn?DU_6u)M`*(Mi)w<2xI`!w@0rQ%SUdG~${msx{<49`b0ClbGF?tD7$lzEXx6Ca(N z-Qv#S!dtzmbB}BZ*?8}!7(7dDjUV3?VfV*Xd#Y8!=bvPw1TcVaR6p|d;*VZ^zheCB zLW)upb!k!5Ra)Ebs|;3>`QrpBT-)#R>{;GDRi-ICqkgn%wz4t zqxq2{Yx|6J+;0B0BT~cuWb2J7l|_CuEjYAf37apss;v_|KUCz2 ziyZ6w=c2YJbsV9#YZ5}^;RG*?C~9L5D95Hm(mZO7#!-8}6?x@Kam@&yimAvxXIR1r-~044Zv^Gew>N z6V8Ws*}{=aL6^Bn9Y%Y^nlIVfo3z+&$$Mqpg4Tq$%)d%5TD~BcFWO@te#M(dy+i5l zE?>m=Hh8d1VpX+OfpVe{ziPBox})+wYgq@&?Dt3r{|*m)z1*~Las1A%5KChg@gkT_ z8hJ5G#kYI*a0la2+iQZOsJPVw<*jCPFUh1MH7axRgF`y8H7%C1#SM z8vFNibotUF&dF?w!39_Lvx&wd&@9`gAv%H(v)=t9qh&=P1Pd3B~Hf`KG z@@xL8PL%;^3ERrduVtr12QIGqEh1iKxq3jo zo)@fOzFK3|P`u!-TGeR3=TKhCy1ey$%a@fAUSioEu<>@mow>v1u4S%LzYuiJsxm8b zvLTDdeSX~zB~hMZ<8IcYzR?y}s0t7p9CqYlH$A!1cvWVeEy}Vf1p)ofuE6K(?crfF z5may@v|SyqGbioyrkS{8hYO2(v^k=eqr0{O;;wNtJIxAIaH`w1uB;0UmHTY;j5_`} za*@59*(6UWAliTQ$W{d1c4@DiYe%G()t{Qz%T_LR&oiTib>?QcXmS7Oqn9TVeG`lC7I}gAz6w)VI5CXeGy+02sy7D48*Joj+{4ZpPY94*bli#|E5})NE z&*MhTc;una^_Zg7)boydiV0UFoJaI1EGMIKaT8$k<(ZM>KHHPxA^~`DE27bP3E91b zEBQt2Lo>?JK)|Ebcxu?Ggx12a?bp zrGC<~bDwn*4u5`6ndh<$AurFIY?+eAA$DgE@@nc&#jY2*GL3y*Zjo-7vcqieIxeSh zY428ITe@D2H|Iz-2V%fsaGi5j`Y{pPUFwGlv!IJrT+&@{@fP(JK%#JoYcZ#bdo=C- zk%DokKB$4GT7OAPwHlSV<6d#7kYdJydO<$-t<@{(THZgtDoYEwzTrMdE?vQ zpZ7(Pn}EH^vd)SG^9ry7bOw!5Kp=1rnR~3*usbAb;K+&_(ciuYLL_WFz`lB8;|Pu; zXRcS3bBV)Ho#Y-7tzOrcPSs~^F%eGfzjFLwR|0Ai&^x|tS7x0*)HkwkdbuBde}BYB zIrV#kkTu^l`?#6I!;|u@jD$btU<-rJ<&JHsefaM6G)-DFZRD*J@&PWcyX+#>gZE%k zo)K|Ehg_w|{#?rF2Dl`ip6=Hc?sd#40sy_q0g3WWmHAOeG$kG!*J69$ng_Nf`&RvH z&+;pNvGQkw1+=bHV#G8MuG3U3c*mtoI(kSXXP&p5zS5Kwv&&dmGiq8RB2f!5vi7*7 z6&3!3l+PKO8(eSnRuvO5nu4RgZ&R94&#t#zJm}ZECrt-qHug<<5MpCAMtlPuXd?bV zC7RkFgL=e#kvBKi=w0utTf$pgR8s!AxxuAnNM31glC@SRhfF6PF>t>Z<8MUJ2XD0?RPLHGBQ`8D;x z^=Y_9zUIsYi=vJlYy`BwK+vv&%W{Pa$= zDSE=Qdj?w%>ybU$7Hs_QUMdvu&LeKboO^y&1uva?T2o%P@Iwoeqx-v@OTt`zm#2~M zL6WWD1f=COD^PnUt%k*2(+r7Ohp299*Jz%xNWmE#+nLHSEPu?=K8B;&@@tHX+<1oq z6n0^v^56q4Xpg(Sq|`6PJ*w%slKT#bWE-$+`Fz@}v~doeg%lS!@-H;~9z9D^pGC(g z{vpXw#})dur_PoD0E+h}mDBK8)yhbVnMM!HapJM*d!hhgQ&xWIKPPJoh`1H7=Dv9COL_hbF0OWOKTTmtv#67Y5^v^lF{{ z-l*901ON2{%rwWKoJrfP5g?;k7HvpG&+1cEdE+hOhJkPO3x{WE3`(iRZ);igeELhE z0qg2O{r1sdkpRqdxxdpm{vFxjZ`dsvSO z(Z7Si&#J!=9AI9a+Xl*gY`P*?pS3ZBYfP%Ri^-c7dc*CMX^r_LX-uiq6-+4n`Ml{q4xpExj)PL@MOfcA=|hN<=m{1rvAKr)9wd-%|)<;bAGZDiTrC5#AtnP+;wYnQMi&?kY zox5QV?!UuC_7jZucq*?L;_e64f8=I7s~}p;@;@=TnS#1TZ5vE(W@Yi)i;;&3!KGR` zM2!F&xM{-pm`(}cAU7#fiq3J2VU(ZOodg``nH^ffr`LNqZM~Z@uv$ZPFZ1uwCeFL) zO7XmlRf?Dl%|wz{Jr&o%C|;y~yV`tPi2zTQ2zgx^9S{U)X$omZ(d5ZS?k-i|3g22k zkf=(IC^6l-_IeGJbxITKYuLR_7EKVh7GU+|0%V@B1|~d^pc%BKqu(xzpsOO97FYd* z2cyv0%)f(hz}_oP3KrFs*1|0m%S#&+0`j)QMiNjmtVzIv_rGIZ@iRaSh?r}8AQw;+ zY%ePY^E^#b>z3^3O}ih|$FLKaDQoYOxyH1a&r>)KJz?|A($=;gRu#fQ-FYwu*5wUe zkgSosu14w}XIk^Zf$k2ZCflZLSNf}RD(}I|?LuO%s%J9*EE;jZ(%Z20PXt~=&2p{R z&%WTn*mcC7HOmJ^7pcX<>-JtcB}A1=&V8%HoEBmfmW&fWN%K?U6$cTW;Sf&qu`&V#f za9^>y_%Msx0Ao@gVnoLAr_7tb4S*koHv;X)q*is^M5;VdMiK^V@$5aD-NJneKX?5+ zO4L!@01IP0;NG-36qG#X;|LtKs!syLt~X|io)t9BMJIkhcC?!AN2F(;-z4Ls`u(1Q zerwS{JDMNB1r{{<++iJg7e0Gcj|K;YVRQ+H#dTe-!w^89c>YNM6_8!noXpt90D*4% zcwGJH-YdB&{}r56as#*ds1v~M-h=v_zYFr&A`)EQA^*2QK93@<i3;wMI{#WTCxCy!8yqLM*Whona+cix`MrEG~`goAn}Yux;+Pjo35 z&ml>{qtu40OTid*zJL}|x9`JBB}eB4%SZRz?sF0$4N#8pCx8jd>>E z+4{oukWZz*aekWk5X~n%tRtmh5-z*6%aUU@|L(>3i*hRz-u@ozi-Wqb&7&%a#=3cm z%`(6sc`Oxf_8--x8jie21$E_zEu7@FcMZAA193nJ*zk_Oh||&>cDdzFz-ARW0a2Wg zKa@gc$Gn^OBviNGE^9+V%%=b(B}@fw^q z>p06IyOugdZv4UyaIY8Mnxchwh}c}+MTPgC)&2*lvxN1`DlSpDokcjLPK>)t#%gm&CVmnuCV)_Ih*^f`i_Lw1(nqFBmI9t8= zKt7)Zx@L_`I=l@98nfKU8|Y7o5#3IHKgOW}!@dzqx;a-Jp14}%0{QX3g+Z+)VY{DD zLX-1;yXUypi@4oBk1@GlDb~3Q8QlIi->udsyNNK zA?MX<6?40V3@qJmMEeu?ZganyCyQ411m}m^w|Ag~U*Et@=$4kfzb+ACX9odBp_8Ytn^F*XuO*Ckh5ATh-+9X`h zy-?bdRF!46Va{^?50Vk!*BJcQP#hUDlD|nhz0US-31;Of7x;|XDEoDD|2;-49xKYs zEU1~FLhQ+=GXUWd^ynSbC_x5f%qu-nqz?7gkZ!$9YwO;i4~P$uE0fC_4z0Z!W=6N6 zm_iCnRyu$~>fBRoz|HOyD#LYud_@g$MeO5@8e+<&DdaCo)|k};`ZP2%q5s4Z1rJ*6 zdtSt#qbV;cbN1W3U0y2l_LIK!f}`!i#Tq7kI;h-8#`vYOl53$J2l;(Ilb9YQ4v+z- zSIk3BGrEz(?>RC;@nZ6D_X>RWCZ@dv$-2|2YvP@#!?zYF`9#tMK{Zik-?&03zW95^ zgkeHowb;AaPg9YpU)^7bAIogidbl`>9t~6zG-CF!PX{oLqjECV`Krndr%!pc9lLw5 z-h`7QSdSaZGVVuYz!KLMxKj2 zcG8#b1&JZj&j;Vk&MHAma^59%icE1V91Z*t(g)D|?W)pWG=7^D(t89-c9u%oh-IQt zpYob`lE#v(qZqa{duPPUOqG5o5}C*81pJCaG@$VKH1_BAz<5x=dnh~^PA%GPF5c{V zV+rtXu%4>U5pnXNNt%J}nqIw5%Vbz}(Wf+HvToSQF7?rof}rWqcR|xHo(+0W)o4;f z|5X_&sfRHg&G0^0mP>}4yWbPKEej!EmO;&;eNgYrk9Q8O)WkAsU`YOUqT86J@Y8!K z^Vc%cdo^+Bsq3!M;}2Zd2`xR=H1F%tj5(59_E-}MipRiqvE7kXd7E>!54jr&^r&^w zLtj!HCsC&D1{-O?hKy}ls6Z-re=7~~R9O2D&I7>OPFr-!`JAw^IOx5f7QFU5J(0Uc ze^xr`{ZeJ|>gMWBcJe%GH$n>(D|*m-DR>zQ&UK`N=q|nzE+V|4a6jkrZvEa_#pqaN z{BnI>PYv-u5N`b#30h1hBY--{{$KB31}AT4ESfK}J*AnOG& zvY+(#MT#3M18A?UNkmpKPH{`HZoP|`#^2o_!0rf9o*_-EQK{j}e7>+t20(Il0tag+ z61X?;QN%@uV2{}tC@L3JO{t$Ns*e6Z{b9s2;Rh|o{I;*?ty1x*j;_u%+C>v zN?Ay0F}_NbM(||5zbINt92b@2X7yQ@V5OJ!VJ!d~$7SP6f3pZ)MjcJPB~-7dF;bS? z%;X_n=Zq>TM7DA2j19@K4?}ksYiISVeR3y7KK)0Kb`S}0Kp>E&ZyKKOOLfvPQ`d~_ z5QsR9Ty$4%+z7-)q)e=qDy9 z)|9j-JIUpD4|m%e`Q3wpVTBP(3W_eqTvAZ(nh1nM9Q3+5QyA1+WM~ ze3N{+wY`sGzR$U$GrcROLw@24aaB2Yrz4g<9=OHbFZ{0lZz@dzn*L3QglE7krtje} zO@7TAe`#taW$qub9a27`{htCmN`eAzu)P?1LWE^(gVcz)AO}cqcis`R`C&*2xi-}6 zfRw;=>b*GLhI?dKftU}8iTQ3|V!kEoT!5V7Ct_lRDt{Y+M59Y}LNY)CkoW@lHo~~5 zSoc)ZUiFI|97|Db8|Fq%R6{w7{R%%HrjH+>Ggh#B$*rc9w+%gu%z70c#pNrk%-MaM$Slev_xNd9=mWMPCp!D(W!HuC-|0f$A?1C0-!L2bZhD zB{yVr0}MPzR_MaV5L^n*q+cNP;#SwzLKt3mUszi-n-$Z}-+nXcVX>@Ho@;i*tr-f% zIqFM0QoYr^N{W`BoPk{NIV+V7JmO2kMECT6(5I#~5nzXiX)L}0j-)y4Bw?3z#5ijj z<>5>l5zjzbFN|Fr@#zm|`}Cr3&9UDlCJ{~0kthwyBf_Hg#46=Lp9Tw9VgKQ5`Yc8L zH*!Ll2osad{>MwdHPKU>(2wKeH-O5*xoCr$XUQ-`VDkP8oK5s0X1ZMy{i^LpCYpV- z6FU|MBqB}z#3-%gTMsU<*}PJ2#PoDjM-vP#6w}C55iEk>QF}@vlypU`Wy9CweW52G z*9{ZQTkXR3z74qCRH|7I*LXd4K7DetjHiuv5bQKW4s63Qq+7ONi5l#-+`CeF7h~8r zvzo?a)2jvT0q+_U5)I<&CEcC#Qh_R(SXaL97_(!(uReS{u&pq+q(t6ZCfK%(v}B1N z(%(&aPtWH(oa(f&%5JldVd+A3K_9{s_j>o;T?X3|Ov6UuJe`2aFkNBQBvE0NUY%S< zZ&32kY4FTKrN3-6Ui*TOXzDbur1r2k+5mwinD>iU6-NEGmdzWMvKk$Pnts%QTPYkC z({;gbZUp8D7b#d6Ym92#QpUnZz&sZ@M;SKipwwz|&>V@Adc{Vy7%C zY9pq_1tt?ayT}vtRceI3M(|Ya;v7X)p*~FxpIp%6IwBNy`UTm9?TpIOjFiLEwuR(_ zPF5c5A6r|-!Uc}_GTpVn-lmBzg=Jp==qV9@8NuIlj9Z%F|_)8a(KS=8-CI8 z9)-Wnkunt|>01_0qyC`$FiazcF!%NU96WAQ{q5lK??tP3}n*j8N-1lD1`|J8kv6=qcq*SolM%T zKO{;Hru*K{m59wbRgL_~nnbq}_czshbglEYpM*E{bn0NtI%wDRR8oh7#G`V6k61ZP zy587(peM@DxvTF9Bx9LkPT|1C?UG)pZc6DDaReQ0 zD2!1$OYd&ryeMlyE<5L%xM(yYcN~DTWrwvV4%2HCT4AoippnJ094VqRc~tScH$~0e zEyhE=PNT?y#yT%aH$GRM^#U5W_R~zGIowxM*W%Y(jXf4cytjjlUSC*2S$0FBr}jsD zz#_&TtQk2DrL0$L(K;8FrL8<-F~X+~DYFACaKcKtWlm3{5#c_coH`pY81TMm~ z%RF0g?dW7!aAzPhP%vo2Ib4)QD$6PCuDj_;(|Ab1Xn(FGoUY$yCy3`wm%7+%Julao z&n&h)*_X6^?uunn;mVADWnO%5EJ2*{UE8v zy>UmCeFqh6rD|Jvq;ZGQ9X{I@JIN*5Y9i7GO_;Y|VI2*g9o@S>Z)>0^iX-gQxotbOH!l)}Nig$KD7 zmTOaw?Z$gWTV4rqalf2p32aY_gDx^&5q`nHwAQOKnLoLhUyhc`7Kyy5%0Aq@Z60W0 zv(oQ*@<7h6mXI#Oo{Cy^J)St>`#OHqqgi#YBZ-YSGmk@+sh_kMcu1h>;1{oY`4Or) zJVvYseLD#YrCq1C-xFnSn;d-yhQKVq1l?;K4Th8N!(?7o!#Xv``Jd~$1XejeCqfoOsLZDa=rKaMC*fOBuj+AQ(+$ z+EZZGpR@Yb{N>t16=+>|;tPwOEzyPDtJeaYeoj0W&U9`4TD_=8nXrT`n}3(_zDk`> zIkCE;V_Zcvu|!GBITzcJJ|WR4lZw0{a00c?&|i>yq*2NJ^4$I2glFSFom6wBM@{i{ z=mRoVAeM@eVG=jXVjF>!^>y(N*YF_6XqvVo_>lbCt6eVtrsc0>vmC6vj<8sarK>$uEK#4{<8DfPgh;^z0EMVKwv4ZQ*wd zt!XyC@14-^SV?j(mX}UMRgqJf#eFh=WVC9&yFB%Ah`>1sTa*WmU)pHvG3OfaON->wxktOtm7BgP(O!5rZHv}XM{@A@Dx=qXkMNf$%ik{g z+0Vsf);Fw}tgS!tVPb!3V=OA4Y9sfh{(O>nOA_x;_g*oR8ba+YQc6~hx{fzf(;(t! ze1gsG`y@=zX4Q%ZFKZ7%r~7!YV?3z5hKTB(F40wBTsN6oJ?r6i0)-jdPJK+g0 zs-(ZDh=(H2pm>iDaY&>vG3gJD_J8Enx}i4JW?xQuc(mEIA*5fn50Uxmnm*RRWjXwK zFt5eEH)#nEwQTT;y6i*73bmYH|g{cRsUm`fIzBmc8N=IJnMY6o_=QUGgT& zMN?(mFh^z_(qF=Z$UjENuF#rs1h<$G97Gwdd{XLohGd0p#%%Ujp` z@Q#2h_Wa!uT8!k8RaT?Wm&Wy*#S<=SF7|mbx7%-diY|vIA1)YBetPj}^cS^-Ly(X2 z=NF1oic=->)hu+C_}2cd>*pAr$D2P!9D;#%pzlqVAtN5soG3=j+G_+7;yxHoyV(AO zad)OLXNj2!gV?P6EpFY% zh)OVqYtLjOO!!sVxyzByJ3P$LcEhaSd)`hJ^};Hi&9r?iLr&v;tOz%IAK|8VPV^y+ z?=d2@FdR#^fD!6z_w*S>SE28#*1gnd5f?)NUj5-Zj2z&!XMm8H5ek zJ{`xkclt5pX1w{JZ@ihK^%uAWYp3?c+LL%UNCp(aIXn9J^gBm8 zv4&H^Vu(Y_WiIbGGY{e@<<;5^3DIfVUKeu7D-jv7T=BL@jcJ5-qV0gwV4YD2wKp)9Tk-!+{($@n30o*n z$#)_1&BH5b3P{oU6msyc>Kp=R3UgSYoVQEcG$q?*Jo0?B#f7v>jfD&YqwpRL4lwJ6 zv@SakKX~L*J@7U(4LDa;DcNvC$2eWpp2|y$v_rmj8N;TAUvrby367$@gvNjP zR0QPY0slb<;q|K~KCL zPj;Rh7R`IwZ0cP8#2901H>Fp3Lvt%}8?yG}=cOV=&kyeJhNa4GIVRsX4S1MTUNho+ zzqt3%PCVXvv39iK%san4oT@=@y|G8|^#{)QicZ$lj3h1yo{+M8sZ1a@XLrZZqc4+= zq|~<(q*@{5zs5918yfA_KW6bmuaU4ls}E-Bv`dO)fuvYaELCtC{oqfiu`_BeDTF6QZ3TyXX8xIZwU85DVmU!DEwcI4r+bMzs#8FQp`-5T%cucxa~ zX30#aUf^?=2)A~etYR-^gyu1MWu=oakn2mg?`lXIF1+a?)Cc=clcT<7Pi?Vh8=Q6X&*w(d@i)9O@GJK^60P?w!?*g;Q?VqO`h5gdbJy8Ms2c|p-;uD1j_R&W zk&EkC<0a~titC*y4Db)USrjjqt`T^@>}?|#P4#hC_?jA`2RNdY_q0;ccu}90IT`$r z8f}=VG=RN%Bd%g?r7!lzp^xn|$&Q94q^DjOr_I&b1}A3pzI-3PYH%S>H^uVYp$-W% z)D~`Ixx(-DX87CEh)f3JPK#au&N$KZp0xTF4mwngb)THn(#9UA{W=~*0DL~3{=Di$ z$|X4kjRJ;xN%XqM-8Oq+Jcz0|8thITMUs3fUrKhY=9g5_d(QPku#h>kw0V@r@A!^C ztraf|;g_5fmhLp?<6yu(8J^tjZBouQKPKo?>fi%ir>YVND}u?5_xhY+*E4LEzw>hy zSNYtxEbyyIpmuHf%6$*6fcFD>fkluP9lb5ee6E7FCD-PDMJ*L7w+P9`Wbuo#*} zIAwLBhSPby6L*3bqtWZJ$)bd-7;DEsl1nL#3t<=845#PY(Rns3xR$t?)8um40xRu7 zI?hW~dgRcc$jLc`w$C{gEp*zCs*4-pp?te{Y~|S)TX576lzV+HeRQ9cPax+#MURBK zcW660{3vu0{y_rz^}57hzrev)NMmFtr-~2RnL2l9Wjr!}!HX5RD0uMaM4M?25A=Fd z2$`3xB(<&AcMM4 z86zS|*ck9~U)|?sHKyny##w#TuXSO8QB-_6iv2F7=tEmV4M>ZW3;EcMsObwCOI#hO z=Mo4Z@#k!euErJW6cM7JkCyG;GS~}Pj#eIcdb1sSu+=xbIm(E!s7qWcRn3Lvtg%P6 zsCsO1T=N}SvDYWfry{K_cy*)yf^QE?qK!);*pa{WMn=@WG}d*fyU1$5+(vTIv5h1x z9IgQCrHF1t$_G=S)jsY;9KqxRE7e%K&l`6bmrbM%yVBc6w*Ej_h@UP?Ot8f2qpgN@ zN1G&fmwOqk4h!0GI}fw8&aylQiFoJP(v(IoGX}5LL;iuUTih|vKQ;E*ef0e8fLaWC zh}rIIShX@0c<{`4!8Nq!de|9M74#(L{5LnO{9u zeNZAqu^gKj(_b4^L<1TF^BNbt8T0qGh$O2l7>DzI``pGm%~vJft9LlQlx%iWeudr2 z4m}_Dgmjyr{qiRXIRO_%W}iJwboi&6Y!N+wq9X6zOaO+EGWXeLn#Ngz zNPo_g3ccqctm{4-Y&p%pu5anybm?t}VL5+z2!Tr*pk4faEpTdCe>yelbxN1q9D=gf z#d(8twUjMQTSCSFOmY^H5-h%6Nl(ABsKc9_V#f8OB+6w$d|CH#PXQ_IgZF~dJl(m) z4>h;xPXu^-o2F})insbzG7PiABp6|%(t7E9V;Fxo;zXC8v}9)ZHI}l4si-D6?T_fp zfTBy-Au4H#J@sW`#W}`wfi5B2>oPu>`Esa}j7eU;heL1t!nQIN?$_?;I@`V~z@JSc zNTSiuD5@KEWY!C7u)(JtRPlk&3tP@Vz$0z2K#WE{K7DZj&b4Rwb3rL zPw*`>7RS9qBc0)|< z7ZEiZ>pL)!%TpV-MJlAwI(R3M>hhl=2e#;#Uoc`XjwP|OLHl=qW&!Vis~z&Izi9WvHlwqEr7K+Wm|wMhPgq=Svxhk}St(srUrtJUYd^8n+^cw3VA)h)g>?R4-&$ZPdRgX_hh=}I%S4Xp z^4}kNb7YraH)h`?0 zf0fri>FY*SfznOAIlG^oV0#|-_xt+=swaCZ=1ux?zqoJWcb12rwr@Qz!8Yr7Ns)%9 zX@8~HL+)^!{7xQRAZ00*2*s%nxvt;0JfwO*M}Pme?W!#z%AaNiY&dka=3oDh zHn7%ooml}3GXQIOnJT}@KmOa6Ne(O{WeifXiARf zyDng51muedgB%GI*8%lX1)Mle8j&I3wd2=^{||n}NZg$#b%p^5JYD@<);T3K0RYT_ B><$0` literal 0 HcmV?d00001 diff --git a/Misc/index.html b/Misc/index.html index 240968555..22eb2ad57 100644 --- a/Misc/index.html +++ b/Misc/index.html @@ -1616,6 +1616,20 @@ + + + + + +
    • + + TRaSH Sync + +
    • + + + +
    diff --git a/Misc/trash-sync/index.html b/Misc/trash-sync/index.html new file mode 100644 index 000000000..7beeb92ee --- /dev/null +++ b/Misc/trash-sync/index.html @@ -0,0 +1,2240 @@ + + + + + + + + + + + + + + + + + + + + + + TRaSH Sync - TRaSH Guides + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + +
    + + +
    + +
    + + + + + + + + + +
    +
    + + + +
    +
    +
    + + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    + + + + + + + + + +

    TRaSH Sync¶

    +

    These are 3rd party applications to sync several sections of the guide with your Sonarr/Radarr (or multiple).

    +
      +
    • Radarr Custom Formats 1 2
    • +
    • Radarr Scores 1 2
    • +
    • Radarr Quality Settings (File Size) 2
    • +
    • Sonarr Release Profile RegEx (WEB-DL) 1 2
    • +
    • Sonarr Release Profile RegEx (Anime) 1 2
    • +
    • Sonarr Quality Settings (File Size) 2
    • +
    +

    Notifiarr¶

    +

    It's possible with Notifiarr (Patron feature)

    +

    After setup it's fully automated and will check every X minutes for updates to the Custom Formats or Sonarr Release Profile and will update it to your Radarr or Sonarr (Multiple Client Support).

    +

    Just enable the Custom Formats/Release Profiles you want.

    +
    +Examples - [CLICK TO EXPAND] +

    Radarr Custom Formats Table +

    Notifiarr Custom Format Table

    +

    Radarr Custom Formats (Multiple Instances possible) +

    Notifiarr Custom Formats Audio

    +

    Radarr Custom Formats (Multiple Instances possible) +

    Notifiarr Custom Formats HDR Metadata

    +

    Radarr scoring (Multiple profiles possible) +

    Notifiarr Scores

    +

    Sonarr Release Profile (Multiple Instances possible) +

    Notifiarr Sonarr

    +
    +

    Instructions

    +
    +

    TRaSH Updater¶

    +

    It's possible with trash-updater

    +

    Automatically mirror TRaSH guides to your Sonarr/Radarr instance based on your setup scheduler.

    +

    Instructions

    +
    +
    +

    Questions or Suggestions?

    +

    If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.

    +

    Discord chat

    +
    +
    +
    +
      +
    1. +

      Notifiarr 

      +
    2. +
    3. +

      TRaSH Updater 

      +
    4. +
    +
    + +
    +
    + + + Last update: + February 26, 2022 18:53:40 + + + +
    + + + + +
    +
    +
    + + + + Back to top + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + \ No newline at end of file diff --git a/Misc/x265-4k/index.html b/Misc/x265-4k/index.html index 8678994b4..fea35bf60 100644 --- a/Misc/x265-4k/index.html +++ b/Misc/x265-4k/index.html @@ -1681,6 +1681,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + @@ -2190,13 +2204,13 @@ It's all really dependent on specific situations for different people

    -

    Automatically¶

    -

    Notifiarr¶

    -

    It's possible with Notifiarr (Patron feature)

    -

    After setup it's fully automated and will check every X minutes for updates to the Custom Formats or Sonarr Release Profile and will update it to your Radarr or Sonarr (Multiple Client Support).

    -

    Instructions

    -
    -

    TRaSH Updater¶

    -

    It's possible with trash-updater

    -

    Automatically mirror TRaSH guides to your Sonarr/Radarr instance based on your setup scheduler.

    -

    Instructions

    +

    Use one of the 3rd Party Sync options that you can find HERE.


    Questions or Suggestions?

    @@ -2129,7 +2095,7 @@ all you need to do now is click on the Save button and you're done. Last update: - January 8, 2022 17:14:01 + February 27, 2022 15:02:12 diff --git a/Radarr/Radarr-import-custom-formats/index.html b/Radarr/Radarr-import-custom-formats/index.html index 05d06d41d..2abd8effb 100644 --- a/Radarr/Radarr-import-custom-formats/index.html +++ b/Radarr/Radarr-import-custom-formats/index.html @@ -1661,6 +1661,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Radarr/Radarr-recommended-naming-scheme/index.html b/Radarr/Radarr-recommended-naming-scheme/index.html index 8770ec16e..76aedd6ee 100644 --- a/Radarr/Radarr-recommended-naming-scheme/index.html +++ b/Radarr/Radarr-recommended-naming-scheme/index.html @@ -1674,6 +1674,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Radarr/Radarr-remote-path-mapping/index.html b/Radarr/Radarr-remote-path-mapping/index.html index 4ca52dc1a..4c9587d54 100644 --- a/Radarr/Radarr-remote-path-mapping/index.html +++ b/Radarr/Radarr-remote-path-mapping/index.html @@ -1688,6 +1688,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Radarr/Radarr-setup-custom-formats/index.html b/Radarr/Radarr-setup-custom-formats/index.html index 01e318cff..e540fb3a2 100644 --- a/Radarr/Radarr-setup-custom-formats/index.html +++ b/Radarr/Radarr-setup-custom-formats/index.html @@ -1783,6 +1783,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Radarr/Tips/Merge-quality/index.html b/Radarr/Tips/Merge-quality/index.html index a164f36d8..42a1e755f 100644 --- a/Radarr/Tips/Merge-quality/index.html +++ b/Radarr/Tips/Merge-quality/index.html @@ -1676,6 +1676,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Radarr/Tips/Radarr-add-a-movie-collection/index.html b/Radarr/Tips/Radarr-add-a-movie-collection/index.html index c957fd8c0..633bddc61 100644 --- a/Radarr/Tips/Radarr-add-a-movie-collection/index.html +++ b/Radarr/Tips/Radarr-add-a-movie-collection/index.html @@ -1676,6 +1676,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Radarr/Tips/Radarr-rename-your-folders/index.html b/Radarr/Tips/Radarr-rename-your-folders/index.html index b7b2c2464..9b55e5695 100644 --- a/Radarr/Tips/Radarr-rename-your-folders/index.html +++ b/Radarr/Tips/Radarr-rename-your-folders/index.html @@ -1618,6 +1618,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Radarr/Tips/Radarr-show-unknown-movie-items/index.html b/Radarr/Tips/Radarr-show-unknown-movie-items/index.html index 5b72a7087..048a945df 100644 --- a/Radarr/Tips/Radarr-show-unknown-movie-items/index.html +++ b/Radarr/Tips/Radarr-show-unknown-movie-items/index.html @@ -1618,6 +1618,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Radarr/Tips/Sync-2-radarr-sonarr/index.html b/Radarr/Tips/Sync-2-radarr-sonarr/index.html index 7dc383b6b..63911396e 100644 --- a/Radarr/Tips/Sync-2-radarr-sonarr/index.html +++ b/Radarr/Tips/Sync-2-radarr-sonarr/index.html @@ -1730,6 +1730,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Radarr/index.html b/Radarr/index.html index 7b7ad1286..b5c8c5904 100644 --- a/Radarr/index.html +++ b/Radarr/index.html @@ -1647,6 +1647,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/SQP/1-1/index.html b/SQP/1-1/index.html index 0df962a2b..407283594 100644 --- a/SQP/1-1/index.html +++ b/SQP/1-1/index.html @@ -1602,6 +1602,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/SQP/1-2/index.html b/SQP/1-2/index.html index 1acb869b6..9e50ebd9e 100644 --- a/SQP/1-2/index.html +++ b/SQP/1-2/index.html @@ -1602,6 +1602,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/SQP/index.html b/SQP/index.html index 6b2024e2f..53e7e97f6 100644 --- a/SQP/index.html +++ b/SQP/index.html @@ -1602,6 +1602,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Sonarr/Sonarr-Quality-Settings-File-Size/index.html b/Sonarr/Sonarr-Quality-Settings-File-Size/index.html index 7da35c692..ed2343c82 100644 --- a/Sonarr/Sonarr-Quality-Settings-File-Size/index.html +++ b/Sonarr/Sonarr-Quality-Settings-File-Size/index.html @@ -1667,6 +1667,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Sonarr/Sonarr-Release-Profile-RegEx-Anime/index.html b/Sonarr/Sonarr-Release-Profile-RegEx-Anime/index.html index c021d0fc7..19349c3a5 100644 --- a/Sonarr/Sonarr-Release-Profile-RegEx-Anime/index.html +++ b/Sonarr/Sonarr-Release-Profile-RegEx-Anime/index.html @@ -1810,6 +1810,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Sonarr/Sonarr-Release-Profile-RegEx/index.html b/Sonarr/Sonarr-Release-Profile-RegEx/index.html index fb532788e..badff7248 100644 --- a/Sonarr/Sonarr-Release-Profile-RegEx/index.html +++ b/Sonarr/Sonarr-Release-Profile-RegEx/index.html @@ -1811,6 +1811,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Sonarr/Sonarr-recommended-naming-scheme/index.html b/Sonarr/Sonarr-recommended-naming-scheme/index.html index 1a6efa93d..8d8028a34 100644 --- a/Sonarr/Sonarr-recommended-naming-scheme/index.html +++ b/Sonarr/Sonarr-recommended-naming-scheme/index.html @@ -1708,6 +1708,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Sonarr/Sonarr-remote-path-mapping/index.html b/Sonarr/Sonarr-remote-path-mapping/index.html index b15b6c436..dabac9bab 100644 --- a/Sonarr/Sonarr-remote-path-mapping/index.html +++ b/Sonarr/Sonarr-remote-path-mapping/index.html @@ -1682,6 +1682,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Sonarr/Tips/Merge-quality/index.html b/Sonarr/Tips/Merge-quality/index.html index 125293247..93f9db3dd 100644 --- a/Sonarr/Tips/Merge-quality/index.html +++ b/Sonarr/Tips/Merge-quality/index.html @@ -1676,6 +1676,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Sonarr/Tips/Sync-2-radarr-sonarr/index.html b/Sonarr/Tips/Sync-2-radarr-sonarr/index.html index e2d7c625d..28a5ea964 100644 --- a/Sonarr/Tips/Sync-2-radarr-sonarr/index.html +++ b/Sonarr/Tips/Sync-2-radarr-sonarr/index.html @@ -1730,6 +1730,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/Sonarr/index.html b/Sonarr/index.html index 7ff02bef7..08dfd1e10 100644 --- a/Sonarr/index.html +++ b/Sonarr/index.html @@ -1647,6 +1647,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/index.html b/index.html index 643b55998..9ea44e4f1 100644 --- a/index.html +++ b/index.html @@ -1672,6 +1672,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + + diff --git a/search/search_index.json b/search/search_index.json index 2517d159b..875952c78 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"TRaSH-Guides \u00b6 TRaSH Guides, Guides that aren't trash. Here you will find Guides mainly for Sonarr/Radarr/Bazarr and everything related to it. How this all started \u00b6 When I started using Sonarr/Radarr, I noticed that it didn't grab the releases that I actually wanted, as I'm a bit picky about which releases and what quality I prefer. So I decided to fine tune it to try to get the releases & quality I preferred. On Discord, I also noticed that others run in to the same issue so I explained them how I managed to get it solved. Being that I had to explain it often, I decided to write it down and make it public so I could easily link it to someone when they needed it. After a while I also decided to create guides for frequently asked questions, and started to collect all kind of information gathered from various sources. The guides I make I try to make them as easy as possible for everyone to understand, in my opinion pictures explain often more then just some text. Support \u00b6 If you have questions, suggestions, requests or want to contribute, Click the chat badge to join the Discord Channel where you can ask your questions directly or use the following link to open a issue on GitHub. Feel free to create a PR if you want to. DISCLAIMER \u00b6 The information I use for the guides is information I have gathered from different sources like their support forum, Reddit or Discord, provided by user input or from the development team itself. I have tested most things myself and I have tried to see if I could tune them a bit more to my needs and sometimes even for others. You use everything here at your own risk. I won't be responsible if something happens to your setup or collection! Special Thanks \u00b6 iXNyNe aka nemchik for introducing me in the world of dockers with DockSTARTer, and helping me to learn the basics for it. Roxedus for helping me with the transfer/conversion of my Github guides to MkDocs and make everything look great. rg9400 for the providing most of the Radarr v3 Custom Format Collection. Everyone who contributed to this project in anyway possible.","title":"Home"},{"location":"#trash-guides","text":"TRaSH Guides, Guides that aren't trash. Here you will find Guides mainly for Sonarr/Radarr/Bazarr and everything related to it.","title":"TRaSH-Guides"},{"location":"#how-this-all-started","text":"When I started using Sonarr/Radarr, I noticed that it didn't grab the releases that I actually wanted, as I'm a bit picky about which releases and what quality I prefer. So I decided to fine tune it to try to get the releases & quality I preferred. On Discord, I also noticed that others run in to the same issue so I explained them how I managed to get it solved. Being that I had to explain it often, I decided to write it down and make it public so I could easily link it to someone when they needed it. After a while I also decided to create guides for frequently asked questions, and started to collect all kind of information gathered from various sources. The guides I make I try to make them as easy as possible for everyone to understand, in my opinion pictures explain often more then just some text.","title":"How this all started"},{"location":"#support","text":"If you have questions, suggestions, requests or want to contribute, Click the chat badge to join the Discord Channel where you can ask your questions directly or use the following link to open a issue on GitHub. Feel free to create a PR if you want to.","title":"Support"},{"location":"#disclaimer","text":"The information I use for the guides is information I have gathered from different sources like their support forum, Reddit or Discord, provided by user input or from the development team itself. I have tested most things myself and I have tried to see if I could tune them a bit more to my needs and sometimes even for others. You use everything here at your own risk. I won't be responsible if something happens to your setup or collection!","title":"DISCLAIMER"},{"location":"#special-thanks","text":"iXNyNe aka nemchik for introducing me in the world of dockers with DockSTARTer, and helping me to learn the basics for it. Roxedus for helping me with the transfer/conversion of my Github guides to MkDocs and make everything look great. rg9400 for the providing most of the Radarr v3 Custom Format Collection. Everyone who contributed to this project in anyway possible.","title":"Special Thanks"},{"location":"thnx/","text":"Thanks for the Coffee \u00b6","title":"Thanks for the Coffee"},{"location":"thnx/#thanks-for-the-coffee","text":"","title":"Thanks for the Coffee"},{"location":"Bazarr/","text":"Bazarr \u00b6 Here you will find several scripts you can use with Bazarr Stable Bazarr Branch: master \u00b6 (stable) Builds Pushed after a testing period in development Github Branch: master Docker: hotio/bazarr:latest hotio/bazarr:latest Dev = Bazarr Branch: development \u00b6 (development) Builds pushed when complete Github Branch: development Docker: hotio/bazarr:nightly hotio/bazarr:nightly","title":"Home"},{"location":"Bazarr/#bazarr","text":"Here you will find several scripts you can use with Bazarr","title":"Bazarr"},{"location":"Bazarr/#stable-bazarr-branch-master","text":"(stable) Builds Pushed after a testing period in development Github Branch: master Docker: hotio/bazarr:latest hotio/bazarr:latest","title":"Stable Bazarr Branch: master"},{"location":"Bazarr/#dev-bazarr-branch-development","text":"(development) Builds pushed when complete Github Branch: development Docker: hotio/bazarr:nightly hotio/bazarr:nightly","title":"Dev = Bazarr Branch: development"},{"location":"Bazarr/After-install-configuration/","text":"After Install Configuration \u00b6 After you've installed everything it's best to check all of your settings, Attention Bazarr only searches for subs for Episodes and Movies that are added after the install. So you will need to set the preferred languages for your existing Shows and Movies. In this example I will show you how to do that with the series. click on Mass Edit Select all. Select your Language Profile you created earlier. Click on Save . Then go back to your Movies home screen and do the same for your Movies. If you've done it correctly you will get something that looks like the following screenshot with your preferred languages.","title":"After Install Configuration"},{"location":"Bazarr/After-install-configuration/#after-install-configuration","text":"After you've installed everything it's best to check all of your settings, Attention Bazarr only searches for subs for Episodes and Movies that are added after the install. So you will need to set the preferred languages for your existing Shows and Movies. In this example I will show you how to do that with the series. click on Mass Edit Select all. Select your Language Profile you created earlier. Click on Save . Then go back to your Movies home screen and do the same for your Movies. If you've done it correctly you will get something that looks like the following screenshot with your preferred languages.","title":"After Install Configuration"},{"location":"Bazarr/Setup-Guide/","text":"Setup Guide \u00b6 Note In this guide we will try to explain the basic setup you need to do to get started with Bazarr. For a more detailed few of all the setting check the following LINK . Before Bazarr works we need to setup and configure a few settings. After installation and starting up, you open a browser and go to http://ip_where_installed:6767 . Sonarr \u00b6 First we're going to setup Sonarr. Settings => Sonarr Use Sonarr \u00b6 Click on Enabled Enable Sonarr. Enter the hostname or the IP address of the computer running your Sonarr instance. Info Be aware that when using Bazarr in docker, you cannot reach another container on the same Docker host using the loopback address (ex.: 127.0.0.1 or localhost). Loopback address refer to the Bazarr Docker container, not the Docker host. Enter the TCP port of your Sonarr instance. Default is 8989. Sonarr uses the Base URL ONLY if used with a \"Reverse Proxy\" (ex: Nginx Proxy Manager or SWAG) and MUST have a leading slash if it is needed (ex: /sonarr). Info If you don't use a reverse proxy or don't know what it is leave this empty !!! Enter your Sonarr API key here. Enable this if your Sonarr instance is exposed through SSL. Info Not needed if you reach it with a local IP address. Click the Test button after filling in all the fields. Make sure the test is successful before you proceed. Options \u00b6 Select the minimum score (in percentage) required for a subtitles file to be downloaded. Info Are your subs often out of sync or just bad? Raise the score! Episodes from series with those tags (case sensitive) in Sonarr will be excluded from automatic download of Subtitles. In Sonarr you add a custom tag to a show, in this case the shows with these tags will be ignored by Bazarr. Episodes from series with these types in Sonarr will be excluded from automatic download of Subtitles. Options: Standard , Anime , Daily Automatic download of Subtitles will only happen for monitored shows/episodes in Sonarr. Path Mappings \u00b6 Note You should only use this section if Sonarr and Bazarr use a different path to access the same files. (for example if you run Sonarr on a different device then Bazarr or have a Synology and mix packages with Docker.) Click on Add and you will get a extra option Here you enter the path that Sonarr uses to access your shows. Here you enter the path that Bazarr uses to access your shows. Attention IF YOU GOT THE SAME VALUES ON BOTH SIDES THEN YOU DON'T NEED IT !!! IT SHOULD ALSO BE REMOVED OR ELSE YOU WILL GET A ERROR. Info If everything runs on Docker you normally don't need to use this except if you got messed up paths and then it would be smarter to fix those first to have consistent and well planned paths. Please take a look at TRaSH's Hardlink Tutorial https://trash-guides.info/hardlinks Don't forget to Save your settings !!! Radarr \u00b6 Next we're going to setup Radarr. Settings => Radarr Use Radarr \u00b6 Click on Enabled Enable Radarr. Enter the hostname or the IP address of the computer running your Sonarr instance. Info Be aware that when using Bazarr in docker, you cannot reach another container on the same Docker host using the loopback address (ex.: 127.0.0.1 or localhost). Loopback address refer to the Bazarr Docker container, not the Docker host. Enter the TCP port of your Radarr instance. Default is 7878. Radarr uses the Base URL ONLY if used with a \"Reverse Proxy\" (ex: Nginx Proxy Manager or SWAG) and MUST have a leading slash if it is needed (ex: /radarr). !!! info **If you don't use a reverse proxy or don't know what it is leave this empty !!!** Enter your Radarr API key here. Enable this if your Radarr instance is exposed through SSL. Info Not needed if you reach it with a local IP address. Click the Test button after filling in all the fields. Make sure the test is successful before you proceed. Options (Radarr) \u00b6 Select the minimum score (in percentage) required for a subtitles file to be downloaded. Info Are your subs often out of sync or just bad? Raise the score! Movies with those tags (case sensitive) in Radarr will be excluded from automatic download of Subtitles, In Radarr you add a custom tag to a movie. Automatic download of Subtitles will only happen for monitored movies in Radarr. Path Mappings (Radarr) \u00b6 Note You should only use this section if Radarr and Bazarr use a different path to access the same files. (for example if you run Radarr on a different device then Bazarr or have a Synology and mix packages with Docker.) Click on Add and you will get a extra option Here you enter the path that Radarr uses to access your movies. Here you enter the path that Bazarr uses to access your movies. Attention IF YOU GOT THE SAME VALUES ON BOTH SIDES THEN YOU DON'T NEED IT !!! IT SHOULD ALSO BE REMOVED OR ELSE YOU WILL GET A ERROR. Info If everything runs on Docker you normally don't need to use this except if you got messed up paths and then it would be smarter to fix those first to have consistent and well planned paths. Please take a look at TRaSH's Hardlink Tutorial https://trash-guides.info/hardlinks Don't forget to Save your settings !!! Languages \u00b6 Here we're going to configure which subtitle languages you prefer/want. Settings => Languages Subtitles Language \u00b6 Warning **We don't recommend enabling Single Language option unless absolutely required (ie: media player not supporting language code in subtitles filename). Results may vary. Be aware the language code (ex.: en) is not going to be included in the subtitles file name when enabling this.** Here you select which languages you want for your subtitles, you can just start typing your language name and it will show you what's available. These languages are the subtitle languages you later use for the Languages Profiles In this example I selected Dutch and English . Languages Profiles \u00b6 Select Add New Profile How you want to name your language profile. Click on Add to add the languages you enabled earlier in Subtitle Language . Select the languages you want to enable for your profile (Including the optional settings). Forced => FAQ - What are Forced Subtitles HI => Hearing Impaired Exclude Audio => Exclude if matching audio Optional select the cutoff where you want that Bazarr stops downloading other languages. Save your settings. Cutoff So you can have a profile that states: English, Dutch, German, French With cutoff Dutch, if it finds Dutch, it will download it and call it a day. If no Dutch is found it will continue searching the other languages till Dutch is found. Default Settings \u00b6 Automatic applied Languages Profiles to Series and Movies added to Bazarr after enabling this option. Don't forget to Save your settings !!! Providers \u00b6 Here we're going to select which Subtitle Providers you want to use. Settings => Providers Click on the Plus sign box. Select the subtitles providers you would like to enable. it is best to select multiple providers and create/use a account with them especially when you got a lot of wanted subtitles. Some subtitle providers requires a extra paid Anti-Captcha Service. Your enabled providers. Tip If possible don't forget to support them for their free service Don't forget to Save your settings !!! Subtitles \u00b6 Here we will configure some extra settings for your subtitles Settings => Subtitles Subtitle Options \u00b6 Where you want your subtitles it's recommended to put them AlongSide Media File . If you want to upgrade previously downloaded subtitles. How many days to go back in history to upgrade them. If you want to upgrade manually downloaded subtitles. Anti-Captcha Options \u00b6 Here you can select which Anti-Captcha provider you want to use. Why (or) do I need the Anti-Captcha ? Tip We Recommend the following provider => https://anti-captcha.com/ Performance / Optimization \u00b6 When searching for subtitles, Bazarr will search less frequently to limit call to providers. Search multiple providers at once (Don't choose this on low powered devices). If you want to use the embedded subtitles in the media files More Info Automatic Subtitles Synchronization \u00b6 Enable this option for automatic subtitles synchronization. Don't forget to Save your settings !!! Now wait till Bazarr gets all the info needed from Sonarr/Radarr. IMPORTANT \u00b6 Important Don't forget After Install Configuration !!! If you still have questions please check the Troubleshooting section in the wiki. For more info about the other settings check the Settings wiki.","title":"Basic-Guide"},{"location":"Bazarr/Setup-Guide/#setup-guide","text":"Note In this guide we will try to explain the basic setup you need to do to get started with Bazarr. For a more detailed few of all the setting check the following LINK . Before Bazarr works we need to setup and configure a few settings. After installation and starting up, you open a browser and go to http://ip_where_installed:6767 .","title":"Setup Guide"},{"location":"Bazarr/Setup-Guide/#sonarr","text":"First we're going to setup Sonarr. Settings => Sonarr","title":"Sonarr"},{"location":"Bazarr/Setup-Guide/#use-sonarr","text":"Click on Enabled Enable Sonarr. Enter the hostname or the IP address of the computer running your Sonarr instance. Info Be aware that when using Bazarr in docker, you cannot reach another container on the same Docker host using the loopback address (ex.: 127.0.0.1 or localhost). Loopback address refer to the Bazarr Docker container, not the Docker host. Enter the TCP port of your Sonarr instance. Default is 8989. Sonarr uses the Base URL ONLY if used with a \"Reverse Proxy\" (ex: Nginx Proxy Manager or SWAG) and MUST have a leading slash if it is needed (ex: /sonarr). Info If you don't use a reverse proxy or don't know what it is leave this empty !!! Enter your Sonarr API key here. Enable this if your Sonarr instance is exposed through SSL. Info Not needed if you reach it with a local IP address. Click the Test button after filling in all the fields. Make sure the test is successful before you proceed.","title":"Use Sonarr"},{"location":"Bazarr/Setup-Guide/#options","text":"Select the minimum score (in percentage) required for a subtitles file to be downloaded. Info Are your subs often out of sync or just bad? Raise the score! Episodes from series with those tags (case sensitive) in Sonarr will be excluded from automatic download of Subtitles. In Sonarr you add a custom tag to a show, in this case the shows with these tags will be ignored by Bazarr. Episodes from series with these types in Sonarr will be excluded from automatic download of Subtitles. Options: Standard , Anime , Daily Automatic download of Subtitles will only happen for monitored shows/episodes in Sonarr.","title":"Options"},{"location":"Bazarr/Setup-Guide/#path-mappings","text":"Note You should only use this section if Sonarr and Bazarr use a different path to access the same files. (for example if you run Sonarr on a different device then Bazarr or have a Synology and mix packages with Docker.) Click on Add and you will get a extra option Here you enter the path that Sonarr uses to access your shows. Here you enter the path that Bazarr uses to access your shows. Attention IF YOU GOT THE SAME VALUES ON BOTH SIDES THEN YOU DON'T NEED IT !!! IT SHOULD ALSO BE REMOVED OR ELSE YOU WILL GET A ERROR. Info If everything runs on Docker you normally don't need to use this except if you got messed up paths and then it would be smarter to fix those first to have consistent and well planned paths. Please take a look at TRaSH's Hardlink Tutorial https://trash-guides.info/hardlinks Don't forget to Save your settings !!!","title":"Path Mappings"},{"location":"Bazarr/Setup-Guide/#radarr","text":"Next we're going to setup Radarr. Settings => Radarr","title":"Radarr"},{"location":"Bazarr/Setup-Guide/#use-radarr","text":"Click on Enabled Enable Radarr. Enter the hostname or the IP address of the computer running your Sonarr instance. Info Be aware that when using Bazarr in docker, you cannot reach another container on the same Docker host using the loopback address (ex.: 127.0.0.1 or localhost). Loopback address refer to the Bazarr Docker container, not the Docker host. Enter the TCP port of your Radarr instance. Default is 7878. Radarr uses the Base URL ONLY if used with a \"Reverse Proxy\" (ex: Nginx Proxy Manager or SWAG) and MUST have a leading slash if it is needed (ex: /radarr). !!! info **If you don't use a reverse proxy or don't know what it is leave this empty !!!** Enter your Radarr API key here. Enable this if your Radarr instance is exposed through SSL. Info Not needed if you reach it with a local IP address. Click the Test button after filling in all the fields. Make sure the test is successful before you proceed.","title":"Use Radarr"},{"location":"Bazarr/Setup-Guide/#options-radarr","text":"Select the minimum score (in percentage) required for a subtitles file to be downloaded. Info Are your subs often out of sync or just bad? Raise the score! Movies with those tags (case sensitive) in Radarr will be excluded from automatic download of Subtitles, In Radarr you add a custom tag to a movie. Automatic download of Subtitles will only happen for monitored movies in Radarr.","title":"Options (Radarr)"},{"location":"Bazarr/Setup-Guide/#path-mappings-radarr","text":"Note You should only use this section if Radarr and Bazarr use a different path to access the same files. (for example if you run Radarr on a different device then Bazarr or have a Synology and mix packages with Docker.) Click on Add and you will get a extra option Here you enter the path that Radarr uses to access your movies. Here you enter the path that Bazarr uses to access your movies. Attention IF YOU GOT THE SAME VALUES ON BOTH SIDES THEN YOU DON'T NEED IT !!! IT SHOULD ALSO BE REMOVED OR ELSE YOU WILL GET A ERROR. Info If everything runs on Docker you normally don't need to use this except if you got messed up paths and then it would be smarter to fix those first to have consistent and well planned paths. Please take a look at TRaSH's Hardlink Tutorial https://trash-guides.info/hardlinks Don't forget to Save your settings !!!","title":"Path Mappings (Radarr)"},{"location":"Bazarr/Setup-Guide/#languages","text":"Here we're going to configure which subtitle languages you prefer/want. Settings => Languages","title":"Languages"},{"location":"Bazarr/Setup-Guide/#subtitles-language","text":"Warning **We don't recommend enabling Single Language option unless absolutely required (ie: media player not supporting language code in subtitles filename). Results may vary. Be aware the language code (ex.: en) is not going to be included in the subtitles file name when enabling this.** Here you select which languages you want for your subtitles, you can just start typing your language name and it will show you what's available. These languages are the subtitle languages you later use for the Languages Profiles In this example I selected Dutch and English .","title":"Subtitles Language"},{"location":"Bazarr/Setup-Guide/#languages-profiles","text":"Select Add New Profile How you want to name your language profile. Click on Add to add the languages you enabled earlier in Subtitle Language . Select the languages you want to enable for your profile (Including the optional settings). Forced => FAQ - What are Forced Subtitles HI => Hearing Impaired Exclude Audio => Exclude if matching audio Optional select the cutoff where you want that Bazarr stops downloading other languages. Save your settings. Cutoff So you can have a profile that states: English, Dutch, German, French With cutoff Dutch, if it finds Dutch, it will download it and call it a day. If no Dutch is found it will continue searching the other languages till Dutch is found.","title":"Languages Profiles"},{"location":"Bazarr/Setup-Guide/#default-settings","text":"Automatic applied Languages Profiles to Series and Movies added to Bazarr after enabling this option. Don't forget to Save your settings !!!","title":"Default Settings"},{"location":"Bazarr/Setup-Guide/#providers","text":"Here we're going to select which Subtitle Providers you want to use. Settings => Providers Click on the Plus sign box. Select the subtitles providers you would like to enable. it is best to select multiple providers and create/use a account with them especially when you got a lot of wanted subtitles. Some subtitle providers requires a extra paid Anti-Captcha Service. Your enabled providers. Tip If possible don't forget to support them for their free service Don't forget to Save your settings !!!","title":"Providers"},{"location":"Bazarr/Setup-Guide/#subtitles","text":"Here we will configure some extra settings for your subtitles Settings => Subtitles","title":"Subtitles"},{"location":"Bazarr/Setup-Guide/#subtitle-options","text":"Where you want your subtitles it's recommended to put them AlongSide Media File . If you want to upgrade previously downloaded subtitles. How many days to go back in history to upgrade them. If you want to upgrade manually downloaded subtitles.","title":"Subtitle Options"},{"location":"Bazarr/Setup-Guide/#anti-captcha-options","text":"Here you can select which Anti-Captcha provider you want to use. Why (or) do I need the Anti-Captcha ? Tip We Recommend the following provider => https://anti-captcha.com/","title":"Anti-Captcha Options"},{"location":"Bazarr/Setup-Guide/#performance-optimization","text":"When searching for subtitles, Bazarr will search less frequently to limit call to providers. Search multiple providers at once (Don't choose this on low powered devices). If you want to use the embedded subtitles in the media files More Info","title":"Performance / Optimization"},{"location":"Bazarr/Setup-Guide/#automatic-subtitles-synchronization","text":"Enable this option for automatic subtitles synchronization. Don't forget to Save your settings !!! Now wait till Bazarr gets all the info needed from Sonarr/Radarr.","title":"Automatic Subtitles Synchronization"},{"location":"Bazarr/Setup-Guide/#important","text":"Important Don't forget After Install Configuration !!! If you still have questions please check the Troubleshooting section in the wiki. For more info about the other settings check the Settings wiki.","title":"IMPORTANT"},{"location":"Bazarr/Tips/Bazarr-suggested-scoring/","text":"Suggested Scoring \u00b6 You just setup Bazarr and wonder which scoring you should use/setup for your subtitles and sync ? I'll going to suggest here a scoring what would work for most common languages, with this scoring 99% of your downloaded subs should be the correct ones for your release. Setting it to low could result in bad subs or completely out of sync and un-syncable. Setting to high could result in less subs. Sonarr Subtitle Minimum Score \u00b6 Settings => Sonarr Set the Minimum Score to 90 This score is the minimal score that the subs should match to for your release, settings this to low could result in bad subs or completely out of sync and un-syncable. Radarr Subtitle Minimum Score \u00b6 Settings => Radarr Set the Minimum Score to 80 This score is the minimal score that the subs should match to for your release, settings this to low could result in bad subs or completely out of sync and un-syncable. Synchronization Score Threshold \u00b6 Settings => Subtitles Enable Automatic Subtitles Synchronization at step 3. Enable Series Score Threshold at step 4 and set the score to 96 . 1 Enable Movies Score Threshold at step 5 and set the score to 86 . 1 This will set the Synchronization Score Threshold, meaning at which score bazarr will sync the subtitles. Info The synchronization is best effort based on the following. it use the embedded subtitles track as reference, if not present. it needs to extract the audio track and analyze it to define start of sentence markers. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. Why not set the Synchronization Score to max? It's kinda useless to start with why would you want to try to sync perfectly matching subs in the first place ? I personally noticed that when setting it to high 98-100 I would actually get subs that are like 1 second to slow/fast. \u21a9 \u21a9","title":"Suggested Scoring"},{"location":"Bazarr/Tips/Bazarr-suggested-scoring/#suggested-scoring","text":"You just setup Bazarr and wonder which scoring you should use/setup for your subtitles and sync ? I'll going to suggest here a scoring what would work for most common languages, with this scoring 99% of your downloaded subs should be the correct ones for your release. Setting it to low could result in bad subs or completely out of sync and un-syncable. Setting to high could result in less subs.","title":"Suggested Scoring"},{"location":"Bazarr/Tips/Bazarr-suggested-scoring/#sonarr-subtitle-minimum-score","text":"Settings => Sonarr Set the Minimum Score to 90 This score is the minimal score that the subs should match to for your release, settings this to low could result in bad subs or completely out of sync and un-syncable.","title":"Sonarr Subtitle Minimum Score"},{"location":"Bazarr/Tips/Bazarr-suggested-scoring/#radarr-subtitle-minimum-score","text":"Settings => Radarr Set the Minimum Score to 80 This score is the minimal score that the subs should match to for your release, settings this to low could result in bad subs or completely out of sync and un-syncable.","title":"Radarr Subtitle Minimum Score"},{"location":"Bazarr/Tips/Bazarr-suggested-scoring/#synchronization-score-threshold","text":"Settings => Subtitles Enable Automatic Subtitles Synchronization at step 3. Enable Series Score Threshold at step 4 and set the score to 96 . 1 Enable Movies Score Threshold at step 5 and set the score to 86 . 1 This will set the Synchronization Score Threshold, meaning at which score bazarr will sync the subtitles. Info The synchronization is best effort based on the following. it use the embedded subtitles track as reference, if not present. it needs to extract the audio track and analyze it to define start of sentence markers. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. Why not set the Synchronization Score to max? It's kinda useless to start with why would you want to try to sync perfectly matching subs in the first place ? I personally noticed that when setting it to high 98-100 I would actually get subs that are like 1 second to slow/fast. \u21a9 \u21a9","title":"Synchronization Score Threshold"},{"location":"Bazarr/scripts/","text":"Bazarr Scripts \u00b6 Here you will find a collection of Scripts you can use with Bazarr. Most of them are provided by other users, if you got a script you want to share don't hesitate to create a PR for it 2 to 3 language code \u00b6 2 to 3 language code Title: 2to3_language_code.sh Author(s): ??? Changes the 2 iso code to 3 iso code. Script #!/bin/bash mv \"{{subtitles}}\" \"{{directory}}/{{episode_name}}.{{subtitles_language_code3}}.srt\" exit","title":"Bazarr Scripts"},{"location":"Bazarr/scripts/#bazarr-scripts","text":"Here you will find a collection of Scripts you can use with Bazarr. Most of them are provided by other users, if you got a script you want to share don't hesitate to create a PR for it","title":"Bazarr Scripts"},{"location":"Bazarr/scripts/#2-to-3-language-code","text":"2 to 3 language code Title: 2to3_language_code.sh Author(s): ??? Changes the 2 iso code to 3 iso code. Script #!/bin/bash mv \"{{subtitles}}\" \"{{directory}}/{{episode_name}}.{{subtitles_language_code3}}.srt\" exit","title":"2 to 3 language code"},{"location":"Downloaders/","text":"Download Clients \u00b6 Here you will find Guides for several Download Clients. Usenet Clients \u00b6 NZBGet SABnzbd Torrent Clients \u00b6 qBittorrent Deluge ruTorrent","title":"Home"},{"location":"Downloaders/#download-clients","text":"Here you will find Guides for several Download Clients.","title":"Download Clients"},{"location":"Downloaders/#usenet-clients","text":"NZBGet SABnzbd","title":"Usenet Clients"},{"location":"Downloaders/#torrent-clients","text":"qBittorrent Deluge ruTorrent","title":"Torrent Clients"},{"location":"Downloaders/Deluge/","text":"Deluge Placeholder \u00b6","title":"Deluge Placeholder"},{"location":"Downloaders/Deluge/#deluge-placeholder","text":"","title":"Deluge Placeholder"},{"location":"Downloaders/Deluge/Deluge-Basic-Setup/","text":"Deluge - Basic Setup \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv . Soon \u00b6","title":"Deluge - Basic Setup"},{"location":"Downloaders/Deluge/Deluge-Basic-Setup/#deluge-basic-setup","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv .","title":"Deluge - Basic Setup"},{"location":"Downloaders/Deluge/Deluge-Basic-Setup/#soon","text":"","title":"Soon"},{"location":"Downloaders/Deluge/Deluge-how-to-add-labels/","text":"Deluge - How to add labels \u00b6 Placeholder","title":"Deluge - How to add labels"},{"location":"Downloaders/Deluge/Deluge-how-to-add-labels/#deluge-how-to-add-labels","text":"Placeholder","title":"Deluge - How to add labels"},{"location":"Downloaders/NZBGet/","text":"NZBGet \u00b6","title":"NZBGet"},{"location":"Downloaders/NZBGet/#nzbget","text":"","title":"NZBGet"},{"location":"Downloaders/NZBGet/Basic-Setup/","text":"NZBGet - Basic Setup \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv . Some Basics \u00b6 Name Description ${MainDir} Root directory for all tasks. ${AppDir} Where NZBGet is installed. ${DestDir} Destination directory for downloaded files. PATHS \u00b6 I will only explain the so called most important paths. Name Description MainDir /data/usenet DestDir ${MainDir} (so it will go in to /data/usenet ) InterDir Files are downloaded into this directory (before unpack+par2) NzbDir Directory for incoming nzb-files. QueueDir This directory is used to save download queue, history, information statistics, etc. ScriptDir Directory with post-processing and other scripts. LogFile Where your log files will be stored (Please create a log directory in your config) NEWS-SERVERS \u00b6 Name Description Active Use this news server. Name The name is used in UI and for logging. It can be any string. Level Put your major download servers at level 0 and your fill servers at levels 1, 2, etc.. Host Host name of news server. Port Port to connect to. Password Password to use for authentication. Encryption Encrypted server connection (TLS/SSL). (preferred to use this) Connections Use the lowest possible amount of connections +1 to gain your max download speed. Retention How long the articles are stored on the news server. CATEGORIES \u00b6 Name Description Name This should match what you put in Sonarr/Radarr (tv/movies/sonarr/radarr/series/films) DestDir ${DestDir} Destination directory (/data/usenet/movies) Unpack Unpack downloaded nzb-files. Extensions List of extension scripts for this category. INCOMING NZBS \u00b6 Info AppendCategoryDir : Create subdirectory with category-name in destination-directory. DOWNLOAD QUEUE \u00b6 Caution WriteBuffer : If you're low on memory don't set this to high. LOGGING \u00b6 CHECK AND REPAIR \u00b6 UNPACK \u00b6 Info DirectUnpack : This might lower your download speed but the overall time could be faster. (disable on low powered devices) EXTENSION SCRIPTS \u00b6 Depending if you're using some NZBGet script here you can change the order or when it should be used Recommended Sonarr/Radarr Settings \u00b6 The following settings are recommended to for Sonarr/Radarr, else it could happen that Sonarr/Radarr will miss downloads that are still in the queue/history. Being that Sonarr/Radarr only looks at the last xx amount in the queue/history. Sonarr \u00b6 Sonarr Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3. Select NZBGet at step 4 and scroll down to the bottom of the new window where it says Completed Download Handling and check both boxes. Radarr \u00b6 Radarr Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3, and both boxes under Failed Download Handling at step 4. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Basic-Setup"},{"location":"Downloaders/NZBGet/Basic-Setup/#nzbget-basic-setup","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv .","title":"NZBGet - Basic Setup"},{"location":"Downloaders/NZBGet/Basic-Setup/#some-basics","text":"Name Description ${MainDir} Root directory for all tasks. ${AppDir} Where NZBGet is installed. ${DestDir} Destination directory for downloaded files.","title":"Some Basics"},{"location":"Downloaders/NZBGet/Basic-Setup/#paths","text":"I will only explain the so called most important paths. Name Description MainDir /data/usenet DestDir ${MainDir} (so it will go in to /data/usenet ) InterDir Files are downloaded into this directory (before unpack+par2) NzbDir Directory for incoming nzb-files. QueueDir This directory is used to save download queue, history, information statistics, etc. ScriptDir Directory with post-processing and other scripts. LogFile Where your log files will be stored (Please create a log directory in your config)","title":"PATHS"},{"location":"Downloaders/NZBGet/Basic-Setup/#news-servers","text":"Name Description Active Use this news server. Name The name is used in UI and for logging. It can be any string. Level Put your major download servers at level 0 and your fill servers at levels 1, 2, etc.. Host Host name of news server. Port Port to connect to. Password Password to use for authentication. Encryption Encrypted server connection (TLS/SSL). (preferred to use this) Connections Use the lowest possible amount of connections +1 to gain your max download speed. Retention How long the articles are stored on the news server.","title":"NEWS-SERVERS"},{"location":"Downloaders/NZBGet/Basic-Setup/#categories","text":"Name Description Name This should match what you put in Sonarr/Radarr (tv/movies/sonarr/radarr/series/films) DestDir ${DestDir} Destination directory (/data/usenet/movies) Unpack Unpack downloaded nzb-files. Extensions List of extension scripts for this category.","title":"CATEGORIES"},{"location":"Downloaders/NZBGet/Basic-Setup/#incoming-nzbs","text":"Info AppendCategoryDir : Create subdirectory with category-name in destination-directory.","title":"INCOMING NZBS"},{"location":"Downloaders/NZBGet/Basic-Setup/#download-queue","text":"Caution WriteBuffer : If you're low on memory don't set this to high.","title":"DOWNLOAD QUEUE"},{"location":"Downloaders/NZBGet/Basic-Setup/#logging","text":"","title":"LOGGING"},{"location":"Downloaders/NZBGet/Basic-Setup/#check-and-repair","text":"","title":"CHECK AND REPAIR"},{"location":"Downloaders/NZBGet/Basic-Setup/#unpack","text":"Info DirectUnpack : This might lower your download speed but the overall time could be faster. (disable on low powered devices)","title":"UNPACK"},{"location":"Downloaders/NZBGet/Basic-Setup/#extension-scripts","text":"Depending if you're using some NZBGet script here you can change the order or when it should be used","title":"EXTENSION SCRIPTS"},{"location":"Downloaders/NZBGet/Basic-Setup/#recommended-sonarrradarr-settings","text":"The following settings are recommended to for Sonarr/Radarr, else it could happen that Sonarr/Radarr will miss downloads that are still in the queue/history. Being that Sonarr/Radarr only looks at the last xx amount in the queue/history.","title":"Recommended Sonarr/Radarr Settings"},{"location":"Downloaders/NZBGet/Basic-Setup/#sonarr","text":"Sonarr Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3. Select NZBGet at step 4 and scroll down to the bottom of the new window where it says Completed Download Handling and check both boxes.","title":"Sonarr"},{"location":"Downloaders/NZBGet/Basic-Setup/#radarr","text":"Radarr Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3, and both boxes under Failed Download Handling at step 4. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Radarr"},{"location":"Downloaders/NZBGet/Paths-and-Categories/","text":"NZBGet - Paths and Categories \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Settings => PATHS Settings => CATEGORIES ATTENTION You set your download location in your download client Your download client ONLY downloads to your download folder/location. And you tell Radarr where you want your clean media library Radarr imports from your download location (copy/move/hardlink) to your media folder/library Plex, Emby, JellyFin or Kodi should ONLY have access to your media folder/library Your Download and Media Library should be NEVER the same locations Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Path and Categories"},{"location":"Downloaders/NZBGet/Paths-and-Categories/#nzbget-paths-and-categories","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Settings => PATHS Settings => CATEGORIES ATTENTION You set your download location in your download client Your download client ONLY downloads to your download folder/location. And you tell Radarr where you want your clean media library Radarr imports from your download location (copy/move/hardlink) to your media folder/library Plex, Emby, JellyFin or Kodi should ONLY have access to your media folder/library Your Download and Media Library should be NEVER the same locations Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"NZBGet - Paths and Categories"},{"location":"Downloaders/NZBGet/scripts/","text":"NzbGet Scripts \u00b6 Clean \u00b6 Clean NZB name Title: Clean.py Author(s): ??? Removes the following suffixes from NZB name: NZBgeek / Obfuscated / BUYMORE / Scrambled /etc... Cleans the NZB name by removing the retagged stuff (-Obfuscated, -postbox, etc). Script #!/usr/bin/env python3 # ############################################################################## ### NZBGET SCAN SCRIPT ### # Clean NZB name. # # Removes the following suffixes from NZB name: # NZBgeek / Obfuscated / BUYMORE / Scrambled. # # NOTE: This script requires Python to be installed on your system. ### NZBGET SCAN SCRIPT ### ############################################################################## from __future__ import print_function import os , re , sys # Exit codes used by NZBGet POSTPROCESS_SUCCESS = 93 POSTPROCESS_ERROR = 94 POSTPROCESS_SKIP = 95 # Check if the script is called from NZBGet 13.0 or later if not 'NZBOP_SCRIPTDIR' in os . environ : print ( '*** NZBGet post-processing script ***' ) print ( 'This script is supposed to be called from NZBGet (13.0 or later).' ) sys . exit ( POSTPROCESS_ERROR ) if not 'NZBNP_NZBNAME' in os . environ : print ( '[WARN] Filename not found in environment' ) sys . exit ( POSTPROCESS_ERROR ) fwp = os . environ [ 'NZBNP_NZBNAME' ] fwp = re . sub ( '(?i)-4P\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-4Planet\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-AsRequested\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-AsRequested-xpost\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-BUYMORE\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Chamele0n\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-GEROV\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-iNC0GNiTO\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-NZBGeek\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Obfuscated\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-postbot\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Rakuv\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Scrambled\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-WhiteRev\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-xpost\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[eztv\\]\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]-xpost\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[ettv\\]\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-WRTEAM\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-CAPTCHA\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( r '(\\-[^-.\\n]*)(\\-. {4} )?\\.nzb$' , r '\\1.nzb' , fwp ) if fwp : print ( '[NZB] NZBNAME=' , fwp , sep = '' ) sys . exit ( POSTPROCESS_SUCCESS ) HashRenamer \u00b6 Renames hashed media files to match the source NZB Title: HashRenamer.py Author(s): l3uddz URL: github.com/cloudbox/cloudbox Part of the Cloudbox project: https://cloudbox.works Built on top of the NZBGet scripts template created by Clinton Hall . Released under GNU General Public License v2.0 Script #!/usr/bin/env python3 # ############################################################################## # Title: HashRenamer.py # # Author(s): l3uddz, desimaniac # # URL: https://github.com/l3uddz/nzbgetScripts # # Description: Renames hashed media files to match the source NZB. # # -- # # Part of the Cloudbox project: https://cloudbox.works # ############################################################################## ############################################################################## # Built on top of the NZBGet scripts template created by Clinton Hall # # (https://github.com/clinton-hall). # # Released under GNU General Public License v2.0 # ############################################################################## ############################################################################## ### NZBGET POST-PROCESSING SCRIPT ### # Rename files with hashes for file name # # NOTE: This script requires Python to be installed on your system. # ############################################################################## ### NZBGET POST-PROCESSING SCRIPT ### ############################################################################## import os import re import shutil import sys # NZBGet Exit Codes NZBGET_POSTPROCESS_PARCHECK = 92 NZBGET_POSTPROCESS_SUCCESS = 93 NZBGET_POSTPROCESS_ERROR = 94 NZBGET_POSTPROCESS_NONE = 95 ############################################################ # EXTENSION STUFF ############################################################ def do_check (): if 'NZBOP_SCRIPTDIR' not in os . environ : print ( \"This script can only be called from NZBGet (11.0 or later).\" ) sys . exit ( 0 ) if os . environ [ 'NZBOP_VERSION' ][ 0 : 5 ] < '11.0' : print ( \"[ERROR] NZBGet Version %s is not supported. Please update NZBGet.\" % ( str ( os . environ [ 'NZBOP_VERSION' ]))) sys . exit ( 0 ) print ( \"Script triggered from NZBGet Version %s .\" % ( str ( os . environ [ 'NZBOP_VERSION' ]))) status = 0 if 'NZBPP_TOTALSTATUS' in os . environ : if not os . environ [ 'NZBPP_TOTALSTATUS' ] == 'SUCCESS' : print ( \"[ERROR] Download failed with status %s .\" % ( os . environ [ 'NZBPP_STATUS' ])) status = 1 else : # Check par status if os . environ [ 'NZBPP_PARSTATUS' ] == '1' or os . environ [ 'NZBPP_PARSTATUS' ] == '4' : print ( \"[ERROR] Par-repair failed, setting status \\\" failed \\\" .\" ) status = 1 # Check unpack status if os . environ [ 'NZBPP_UNPACKSTATUS' ] == '1' : print ( \"[ERROR] Unpack failed, setting status \\\" failed \\\" .\" ) status = 1 if os . environ [ 'NZBPP_UNPACKSTATUS' ] == '0' and os . environ [ 'NZBPP_PARSTATUS' ] == '0' : # Unpack was skipped due to nzb-file properties or due to errors during par-check if os . environ [ 'NZBPP_HEALTH' ] < 1000 : print ( \"[ERROR] Download health is compromised and Par-check/repair disabled or no .par2 files found. \" \\ \"Setting status \\\" failed \\\" .\" ) print ( \"[ERROR] Please check your Par-check/repair settings for future downloads.\" ) status = 1 else : print ( \"[ERROR] Par-check/repair disabled or no .par2 files found, and Unpack not required. Health is \" \\ \"ok so handle as though download successful.\" ) print ( \"[WARNING] Please check your Par-check/repair settings for future downloads.\" ) # Check if destination directory exists (important for reprocessing of history items) if not os . path . isdir ( os . environ [ 'NZBPP_DIRECTORY' ]): print ( \"[ERROR] Nothing to post-process: destination directory\" , os . environ [ 'NZBPP_DIRECTORY' ], \"doesn't exist. Setting status \\\" failed \\\" .\" ) status = 1 # All checks done, now launching the script. if status == 1 : sys . exit ( NZBGET_POSTPROCESS_NONE ) def get_file_name ( path ): try : file_name = os . path . basename ( path ) extensions = re . findall ( r '\\.([^.]+)' , file_name ) ext = '.' . join ( extensions ) name = file_name . replace ( \". %s \" % ext , '' ) return name , ext except Exception : pass return None def is_file_hash ( file_name ): hash_regexp = [ r '^[a-fA-F0-9] {40} $' , r '^[a-fA-F0-9] {32} $' , r '^[a-f0-9] {128} $' , r '^[a-zA-Z0-9] {42} $' ] for hash in hash_regexp : if re . match ( hash , file_name ): return True return False def find_files ( folder , extension = None , depth = None ): file_list = [] start_count = folder . count ( os . sep ) for path , subdirs , files in os . walk ( folder , topdown = True ): for name in files : if depth and path . count ( os . sep ) - start_count >= depth : del subdirs [:] continue file = os . path . join ( path , name ) if not extension : file_list . append ( file ) else : if file . lower () . endswith ( extension . lower ()): file_list . append ( file ) return sorted ( file_list , key = lambda x : x . count ( os . path . sep ), reverse = True ) ############################################################ # MAIN ############################################################ # do checks do_check () # retrieve required variables directory = os . path . normpath ( os . environ [ 'NZBPP_DIRECTORY' ]) nzb_name = os . environ [ 'NZBPP_NZBFILENAME' ] if nzb_name is None : print ( \"[ERROR] Unable to retrieve NZBPP_NZBFILENAME\" ) sys . exit ( NZBGET_POSTPROCESS_ERROR ) nzb_name = nzb_name . replace ( '.nzb' , '' ) print (( \"[INFO] Using \\\" %s \\\" for hashed filenames\" % nzb_name )) print (( \"[INFO] Scanning \\\" %s \\\" for hashed filenames\" % directory )) # scan for files found_files = find_files ( directory ) if not found_files : print (( \"[INFO] No files were found in \\\" %s \\\" \" % directory )) sys . exit ( NZBGET_POSTPROCESS_NONE ) else : print (( \"[INFO] Found %d files to check for hashed filenames\" % len ( found_files ))) # loop files checking for file hash moved_files = 0 for found_file_path in found_files : # set variable dir_name = os . path . dirname ( found_file_path ) file_name , file_ext = get_file_name ( found_file_path ) # is this a file hash if is_file_hash ( file_name ): new_file_path = os . path . join ( dir_name , \" %s . %s \" % ( nzb_name , file_ext )) print (( \"[INFO] Moving \\\" %s \\\" to \\\" %s \\\" \" % ( found_file_path , new_file_path ))) try : shutil . move ( found_file_path , new_file_path ) moved_files += 1 except Exception : print (( \"[ERROR] Failed moving \\\" %s \\\" to \\\" %s \\\" \" % ( found_file_path , new_file_path ))) print (( \"[INFO] Finished processing \\\" %s \\\" , moved %d files\" % ( directory , moved_files ))) sys . exit ( NZBGET_POSTPROCESS_SUCCESS ) WtFnZb-Renamer \u00b6 Renames hashed media files to match the source NZB Title: WtFnZb-Renamer.py Author(s): WtFnZb URL: ?? NZBGET SCAN SCRIPT Extract filenames from subjects containing [PRiVATE]-[WtFnZb] This extensions extracts obfuscated filenames from .nzb files Script #!/usr/bin/env python3 ### NZBGET SCAN SCRIPT # Extract filenames from subjects containing [PRiVATE]-[WtFnZb] # # This extensions extracts obfuscated filenames from .nzb files # created by WtFnZb. # # Supported subject formats: # # - [PRiVATE]-[WtFnZb]-[filename]-[1/5] - \"\" yEnc 0 (1/1)\" # # - [PRiVATE]-[WtFnZb]-[5]-[1/filename] - \"\" yEnc # # # NOTE: Requires Python and lxml (sudo apt install python3-lxml python-lxml) # ### NZBGET SCAN SCRIPT import sys import os import re # Exit codes used by NZBGet POSTPROCESS_SUCCESS = 93 POSTPROCESS_NONE = 95 POSTPROCESS_ERROR = 94 try : from lxml import etree except ImportError : print ( u '[ERROR] Python lxml required. Please install with \"sudo apt install python-lxml\" or \"pip install lxml\".' ) sys . exit ( POSTPROCESS_ERROR ) patterns = ( re . compile ( r '^(?P.*\\[PRiVATE\\]-\\[WtFnZb\\]-)' r '\\[(?P\\d+)\\]-\\[(?P\\d+)\\/(?P.{3,}?)\\]' r '\\s+-\\s+\"\"\\s+yEnc\\s+' , re . MULTILINE | re . UNICODE ), re . compile ( r '^(?P.*\\[PRiVATE\\]-\\[WtFnZb\\]-)' r '\\[(?P.{3,}?)\\]-\\[(?P\\d+)/(?P\\d+)\\]' r '\\s+-\\s+\"\"\\s+yEnc\\s+' , re . MULTILINE | re . UNICODE )) nzb_dir = os . getenv ( 'NZBNP_DIRECTORY' ) nzb_filename = os . getenv ( 'NZBNP_FILENAME' ) nzb_name = os . getenv ( 'NZBNP_NZBNAME' ) nzb_file_naming = os . getenv ( 'NZBOP_FILENAMING' ) if nzb_dir is None or nzb_filename is None or nzb_name is None : print ( 'Please run as NZBGet plugin' ) sys . exit ( POSTPROCESS_ERROR ) if nzb_file_naming is not None and nzb_file_naming . lower () != 'nzb' : print ( u '[ERROR] NZBGet setting FileNaming (under Download Queue) ' u 'must be set to \"Nzb\" for this extension to work correctly, exiting.' ) sys . exit ( POSTPROCESS_ERROR ) if not os . path . exists ( nzb_dir ): print ( '[ERROR] NZB directory doesn \\' t exist, exiting' ) sys . exit ( POSTPROCESS_ERROR ) if not nzb_filename . lower () . endswith ( '.nzb' ): print ( u '[ERROR] {} is not a .nzb file.' . format ( nzb_filename )) sys . exit ( POSTPROCESS_ERROR ) nzb = os . path . join ( nzb_dir , nzb_filename ) if not os . path . exists ( nzb ): print ( '[ERROR] {nzb} doesn \\' t exist, exiting' . format ( nzb = nzb )) sys . exit ( POSTPROCESS_ERROR ) with open ( nzb , mode = 'rb' ) as infile : tree = etree . parse ( infile ) changed = False file_count = 0 totals = set () filenames = set () for f in tree . getiterator ( '{http://www.newzbin.com/DTD/2003/nzb}file' ): subject = f . get ( 'subject' ) if subject is None : print ( u '[DETAIL] No subject in , skipping' ) continue file_count += 1 result = [ re . match ( pattern , subject ) for pattern in patterns ] matched = [ m for m in result if m is not None ] if len ( matched ) == 0 : print ( u '[INFO] No pattern matching subject, exiting.' ) sys . exit ( POSTPROCESS_NONE ) elif len ( matched ) > 1 : print ( u '[ERROR] Multiple patterns matched, exiting.' ) sys . exit ( POSTPROCESS_ERROR ) else : match = matched [ 0 ] . groupdict () if match [ 'filename' ] . lower () . endswith ( '.par2' ): print ( u '[INFO] par2 exists, exiting' ) sys . exit ( POSTPROCESS_NONE ) if int ( match [ 'segment' ]) > int ( match [ 'total' ]): print ( u '[DETAIL] Segment index is greater then total, skipping' ) continue # NZBGet subject parsing changes when duplicate filenames are present # prefix duplicates to avoid that if match [ 'filename' ] in filenames : match [ 'filename' ] = u ' {} . {} ' . format ( file_count , match [ 'filename' ]) filenames . add ( match [ 'filename' ]) s = u 'WtFnZb \" {filename} \" yEnc ( {segment} / {total} )' . format ( filename = match [ 'filename' ], segment = match [ 'segment' ], total = match [ 'total' ]) print ( u '[INFO] New subject {subject} ' . format ( subject = s . encode ( 'ascii' , 'ignore' ))) f . set ( 'subject' , s ) changed = True totals . add ( int ( match [ 'total' ])) if not changed : print ( u '[WARNING] No subject changed, exiting.' ) sys . exit ( POSTPROCESS_NONE ) if len ( totals ) != 1 : print ( u '[WARNING] Mixed values for number of total segments, exiting.' ) sys . exit ( POSTPROCESS_NONE ) if totals . pop () != file_count : print ( u '[WARNING] Listed segment count does not match count, exiting.' ) sys . exit ( POSTPROCESS_NONE ) org = u ' {} .wtfnzb.original.processed' . format ( nzb ) exists_counter = 0 while os . path . exists ( org ): exists_counter += 1 org = u ' {} . {} .wtfnzb.original.processed' . format ( nzb , exists_counter ) print ( u '[INFO] Preserving original nzb as {} ' . format ( org )) os . rename ( nzb , org ) print ( u '[INFO] Writing {} ' . format ( nzb )) with open ( nzb , mode = 'wb' ) as outfile : outfile . write ( etree . tostring ( tree , xml_declaration = True , encoding = tree . docinfo . encoding , doctype = tree . docinfo . doctype )) sys . exit ( POSTPROCESS_SUCCESS ) Tip This script doesn't always work and is often needed if you use a certain indexer. It might be better to use the following Sonarr Regex in your release profile su season pack issue","title":"NzbGet Scripts"},{"location":"Downloaders/NZBGet/scripts/#nzbget-scripts","text":"","title":"NzbGet Scripts"},{"location":"Downloaders/NZBGet/scripts/#clean","text":"Clean NZB name Title: Clean.py Author(s): ??? Removes the following suffixes from NZB name: NZBgeek / Obfuscated / BUYMORE / Scrambled /etc... Cleans the NZB name by removing the retagged stuff (-Obfuscated, -postbox, etc). Script #!/usr/bin/env python3 # ############################################################################## ### NZBGET SCAN SCRIPT ### # Clean NZB name. # # Removes the following suffixes from NZB name: # NZBgeek / Obfuscated / BUYMORE / Scrambled. # # NOTE: This script requires Python to be installed on your system. ### NZBGET SCAN SCRIPT ### ############################################################################## from __future__ import print_function import os , re , sys # Exit codes used by NZBGet POSTPROCESS_SUCCESS = 93 POSTPROCESS_ERROR = 94 POSTPROCESS_SKIP = 95 # Check if the script is called from NZBGet 13.0 or later if not 'NZBOP_SCRIPTDIR' in os . environ : print ( '*** NZBGet post-processing script ***' ) print ( 'This script is supposed to be called from NZBGet (13.0 or later).' ) sys . exit ( POSTPROCESS_ERROR ) if not 'NZBNP_NZBNAME' in os . environ : print ( '[WARN] Filename not found in environment' ) sys . exit ( POSTPROCESS_ERROR ) fwp = os . environ [ 'NZBNP_NZBNAME' ] fwp = re . sub ( '(?i)-4P\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-4Planet\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-AsRequested\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-AsRequested-xpost\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-BUYMORE\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Chamele0n\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-GEROV\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-iNC0GNiTO\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-NZBGeek\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Obfuscated\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-postbot\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Rakuv\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Scrambled\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-WhiteRev\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-xpost\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[eztv\\]\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]-xpost\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[ettv\\]\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-WRTEAM\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-CAPTCHA\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( r '(\\-[^-.\\n]*)(\\-. {4} )?\\.nzb$' , r '\\1.nzb' , fwp ) if fwp : print ( '[NZB] NZBNAME=' , fwp , sep = '' ) sys . exit ( POSTPROCESS_SUCCESS )","title":"Clean"},{"location":"Downloaders/NZBGet/scripts/#hashrenamer","text":"Renames hashed media files to match the source NZB Title: HashRenamer.py Author(s): l3uddz URL: github.com/cloudbox/cloudbox Part of the Cloudbox project: https://cloudbox.works Built on top of the NZBGet scripts template created by Clinton Hall . Released under GNU General Public License v2.0 Script #!/usr/bin/env python3 # ############################################################################## # Title: HashRenamer.py # # Author(s): l3uddz, desimaniac # # URL: https://github.com/l3uddz/nzbgetScripts # # Description: Renames hashed media files to match the source NZB. # # -- # # Part of the Cloudbox project: https://cloudbox.works # ############################################################################## ############################################################################## # Built on top of the NZBGet scripts template created by Clinton Hall # # (https://github.com/clinton-hall). # # Released under GNU General Public License v2.0 # ############################################################################## ############################################################################## ### NZBGET POST-PROCESSING SCRIPT ### # Rename files with hashes for file name # # NOTE: This script requires Python to be installed on your system. # ############################################################################## ### NZBGET POST-PROCESSING SCRIPT ### ############################################################################## import os import re import shutil import sys # NZBGet Exit Codes NZBGET_POSTPROCESS_PARCHECK = 92 NZBGET_POSTPROCESS_SUCCESS = 93 NZBGET_POSTPROCESS_ERROR = 94 NZBGET_POSTPROCESS_NONE = 95 ############################################################ # EXTENSION STUFF ############################################################ def do_check (): if 'NZBOP_SCRIPTDIR' not in os . environ : print ( \"This script can only be called from NZBGet (11.0 or later).\" ) sys . exit ( 0 ) if os . environ [ 'NZBOP_VERSION' ][ 0 : 5 ] < '11.0' : print ( \"[ERROR] NZBGet Version %s is not supported. Please update NZBGet.\" % ( str ( os . environ [ 'NZBOP_VERSION' ]))) sys . exit ( 0 ) print ( \"Script triggered from NZBGet Version %s .\" % ( str ( os . environ [ 'NZBOP_VERSION' ]))) status = 0 if 'NZBPP_TOTALSTATUS' in os . environ : if not os . environ [ 'NZBPP_TOTALSTATUS' ] == 'SUCCESS' : print ( \"[ERROR] Download failed with status %s .\" % ( os . environ [ 'NZBPP_STATUS' ])) status = 1 else : # Check par status if os . environ [ 'NZBPP_PARSTATUS' ] == '1' or os . environ [ 'NZBPP_PARSTATUS' ] == '4' : print ( \"[ERROR] Par-repair failed, setting status \\\" failed \\\" .\" ) status = 1 # Check unpack status if os . environ [ 'NZBPP_UNPACKSTATUS' ] == '1' : print ( \"[ERROR] Unpack failed, setting status \\\" failed \\\" .\" ) status = 1 if os . environ [ 'NZBPP_UNPACKSTATUS' ] == '0' and os . environ [ 'NZBPP_PARSTATUS' ] == '0' : # Unpack was skipped due to nzb-file properties or due to errors during par-check if os . environ [ 'NZBPP_HEALTH' ] < 1000 : print ( \"[ERROR] Download health is compromised and Par-check/repair disabled or no .par2 files found. \" \\ \"Setting status \\\" failed \\\" .\" ) print ( \"[ERROR] Please check your Par-check/repair settings for future downloads.\" ) status = 1 else : print ( \"[ERROR] Par-check/repair disabled or no .par2 files found, and Unpack not required. Health is \" \\ \"ok so handle as though download successful.\" ) print ( \"[WARNING] Please check your Par-check/repair settings for future downloads.\" ) # Check if destination directory exists (important for reprocessing of history items) if not os . path . isdir ( os . environ [ 'NZBPP_DIRECTORY' ]): print ( \"[ERROR] Nothing to post-process: destination directory\" , os . environ [ 'NZBPP_DIRECTORY' ], \"doesn't exist. Setting status \\\" failed \\\" .\" ) status = 1 # All checks done, now launching the script. if status == 1 : sys . exit ( NZBGET_POSTPROCESS_NONE ) def get_file_name ( path ): try : file_name = os . path . basename ( path ) extensions = re . findall ( r '\\.([^.]+)' , file_name ) ext = '.' . join ( extensions ) name = file_name . replace ( \". %s \" % ext , '' ) return name , ext except Exception : pass return None def is_file_hash ( file_name ): hash_regexp = [ r '^[a-fA-F0-9] {40} $' , r '^[a-fA-F0-9] {32} $' , r '^[a-f0-9] {128} $' , r '^[a-zA-Z0-9] {42} $' ] for hash in hash_regexp : if re . match ( hash , file_name ): return True return False def find_files ( folder , extension = None , depth = None ): file_list = [] start_count = folder . count ( os . sep ) for path , subdirs , files in os . walk ( folder , topdown = True ): for name in files : if depth and path . count ( os . sep ) - start_count >= depth : del subdirs [:] continue file = os . path . join ( path , name ) if not extension : file_list . append ( file ) else : if file . lower () . endswith ( extension . lower ()): file_list . append ( file ) return sorted ( file_list , key = lambda x : x . count ( os . path . sep ), reverse = True ) ############################################################ # MAIN ############################################################ # do checks do_check () # retrieve required variables directory = os . path . normpath ( os . environ [ 'NZBPP_DIRECTORY' ]) nzb_name = os . environ [ 'NZBPP_NZBFILENAME' ] if nzb_name is None : print ( \"[ERROR] Unable to retrieve NZBPP_NZBFILENAME\" ) sys . exit ( NZBGET_POSTPROCESS_ERROR ) nzb_name = nzb_name . replace ( '.nzb' , '' ) print (( \"[INFO] Using \\\" %s \\\" for hashed filenames\" % nzb_name )) print (( \"[INFO] Scanning \\\" %s \\\" for hashed filenames\" % directory )) # scan for files found_files = find_files ( directory ) if not found_files : print (( \"[INFO] No files were found in \\\" %s \\\" \" % directory )) sys . exit ( NZBGET_POSTPROCESS_NONE ) else : print (( \"[INFO] Found %d files to check for hashed filenames\" % len ( found_files ))) # loop files checking for file hash moved_files = 0 for found_file_path in found_files : # set variable dir_name = os . path . dirname ( found_file_path ) file_name , file_ext = get_file_name ( found_file_path ) # is this a file hash if is_file_hash ( file_name ): new_file_path = os . path . join ( dir_name , \" %s . %s \" % ( nzb_name , file_ext )) print (( \"[INFO] Moving \\\" %s \\\" to \\\" %s \\\" \" % ( found_file_path , new_file_path ))) try : shutil . move ( found_file_path , new_file_path ) moved_files += 1 except Exception : print (( \"[ERROR] Failed moving \\\" %s \\\" to \\\" %s \\\" \" % ( found_file_path , new_file_path ))) print (( \"[INFO] Finished processing \\\" %s \\\" , moved %d files\" % ( directory , moved_files ))) sys . exit ( NZBGET_POSTPROCESS_SUCCESS )","title":"HashRenamer"},{"location":"Downloaders/NZBGet/scripts/#wtfnzb-renamer","text":"Renames hashed media files to match the source NZB Title: WtFnZb-Renamer.py Author(s): WtFnZb URL: ?? NZBGET SCAN SCRIPT Extract filenames from subjects containing [PRiVATE]-[WtFnZb] This extensions extracts obfuscated filenames from .nzb files Script #!/usr/bin/env python3 ### NZBGET SCAN SCRIPT # Extract filenames from subjects containing [PRiVATE]-[WtFnZb] # # This extensions extracts obfuscated filenames from .nzb files # created by WtFnZb. # # Supported subject formats: # # - [PRiVATE]-[WtFnZb]-[filename]-[1/5] - \"\" yEnc 0 (1/1)\" # # - [PRiVATE]-[WtFnZb]-[5]-[1/filename] - \"\" yEnc # # # NOTE: Requires Python and lxml (sudo apt install python3-lxml python-lxml) # ### NZBGET SCAN SCRIPT import sys import os import re # Exit codes used by NZBGet POSTPROCESS_SUCCESS = 93 POSTPROCESS_NONE = 95 POSTPROCESS_ERROR = 94 try : from lxml import etree except ImportError : print ( u '[ERROR] Python lxml required. Please install with \"sudo apt install python-lxml\" or \"pip install lxml\".' ) sys . exit ( POSTPROCESS_ERROR ) patterns = ( re . compile ( r '^(?P.*\\[PRiVATE\\]-\\[WtFnZb\\]-)' r '\\[(?P\\d+)\\]-\\[(?P\\d+)\\/(?P.{3,}?)\\]' r '\\s+-\\s+\"\"\\s+yEnc\\s+' , re . MULTILINE | re . UNICODE ), re . compile ( r '^(?P.*\\[PRiVATE\\]-\\[WtFnZb\\]-)' r '\\[(?P.{3,}?)\\]-\\[(?P\\d+)/(?P\\d+)\\]' r '\\s+-\\s+\"\"\\s+yEnc\\s+' , re . MULTILINE | re . UNICODE )) nzb_dir = os . getenv ( 'NZBNP_DIRECTORY' ) nzb_filename = os . getenv ( 'NZBNP_FILENAME' ) nzb_name = os . getenv ( 'NZBNP_NZBNAME' ) nzb_file_naming = os . getenv ( 'NZBOP_FILENAMING' ) if nzb_dir is None or nzb_filename is None or nzb_name is None : print ( 'Please run as NZBGet plugin' ) sys . exit ( POSTPROCESS_ERROR ) if nzb_file_naming is not None and nzb_file_naming . lower () != 'nzb' : print ( u '[ERROR] NZBGet setting FileNaming (under Download Queue) ' u 'must be set to \"Nzb\" for this extension to work correctly, exiting.' ) sys . exit ( POSTPROCESS_ERROR ) if not os . path . exists ( nzb_dir ): print ( '[ERROR] NZB directory doesn \\' t exist, exiting' ) sys . exit ( POSTPROCESS_ERROR ) if not nzb_filename . lower () . endswith ( '.nzb' ): print ( u '[ERROR] {} is not a .nzb file.' . format ( nzb_filename )) sys . exit ( POSTPROCESS_ERROR ) nzb = os . path . join ( nzb_dir , nzb_filename ) if not os . path . exists ( nzb ): print ( '[ERROR] {nzb} doesn \\' t exist, exiting' . format ( nzb = nzb )) sys . exit ( POSTPROCESS_ERROR ) with open ( nzb , mode = 'rb' ) as infile : tree = etree . parse ( infile ) changed = False file_count = 0 totals = set () filenames = set () for f in tree . getiterator ( '{http://www.newzbin.com/DTD/2003/nzb}file' ): subject = f . get ( 'subject' ) if subject is None : print ( u '[DETAIL] No subject in , skipping' ) continue file_count += 1 result = [ re . match ( pattern , subject ) for pattern in patterns ] matched = [ m for m in result if m is not None ] if len ( matched ) == 0 : print ( u '[INFO] No pattern matching subject, exiting.' ) sys . exit ( POSTPROCESS_NONE ) elif len ( matched ) > 1 : print ( u '[ERROR] Multiple patterns matched, exiting.' ) sys . exit ( POSTPROCESS_ERROR ) else : match = matched [ 0 ] . groupdict () if match [ 'filename' ] . lower () . endswith ( '.par2' ): print ( u '[INFO] par2 exists, exiting' ) sys . exit ( POSTPROCESS_NONE ) if int ( match [ 'segment' ]) > int ( match [ 'total' ]): print ( u '[DETAIL] Segment index is greater then total, skipping' ) continue # NZBGet subject parsing changes when duplicate filenames are present # prefix duplicates to avoid that if match [ 'filename' ] in filenames : match [ 'filename' ] = u ' {} . {} ' . format ( file_count , match [ 'filename' ]) filenames . add ( match [ 'filename' ]) s = u 'WtFnZb \" {filename} \" yEnc ( {segment} / {total} )' . format ( filename = match [ 'filename' ], segment = match [ 'segment' ], total = match [ 'total' ]) print ( u '[INFO] New subject {subject} ' . format ( subject = s . encode ( 'ascii' , 'ignore' ))) f . set ( 'subject' , s ) changed = True totals . add ( int ( match [ 'total' ])) if not changed : print ( u '[WARNING] No subject changed, exiting.' ) sys . exit ( POSTPROCESS_NONE ) if len ( totals ) != 1 : print ( u '[WARNING] Mixed values for number of total segments, exiting.' ) sys . exit ( POSTPROCESS_NONE ) if totals . pop () != file_count : print ( u '[WARNING] Listed segment count does not match count, exiting.' ) sys . exit ( POSTPROCESS_NONE ) org = u ' {} .wtfnzb.original.processed' . format ( nzb ) exists_counter = 0 while os . path . exists ( org ): exists_counter += 1 org = u ' {} . {} .wtfnzb.original.processed' . format ( nzb , exists_counter ) print ( u '[INFO] Preserving original nzb as {} ' . format ( org )) os . rename ( nzb , org ) print ( u '[INFO] Writing {} ' . format ( nzb )) with open ( nzb , mode = 'wb' ) as outfile : outfile . write ( etree . tostring ( tree , xml_declaration = True , encoding = tree . docinfo . encoding , doctype = tree . docinfo . doctype )) sys . exit ( POSTPROCESS_SUCCESS ) Tip This script doesn't always work and is often needed if you use a certain indexer. It might be better to use the following Sonarr Regex in your release profile su season pack issue","title":"WtFnZb-Renamer"},{"location":"Downloaders/SABnzbd/","text":"SABnzbd \u00b6","title":"SABnzbd"},{"location":"Downloaders/SABnzbd/#sabnzbd","text":"","title":"SABnzbd"},{"location":"Downloaders/SABnzbd/Basic-Setup/","text":"SABnzbd - Basic Setup \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv . Note Settings that aren't covered means you can change them to your own liking or just leave them on default. I also recommend to enable the Advanced Settings on the top right. General \u00b6 Tuning \u00b6 Settings => General => Tuning I recommend setting a sane maximum speed and then limiting below that, to keep your internet connection happy. You can use Settings => Scheduling to toggle the limit on and off based on time, slowing it down while your family is using the internet and speeding it up at night when they're not. Folders \u00b6 User Folders \u00b6 Settings => Folders => Users Folders Here you setup your download path/location. ATTENTION You set your download location in your download client Your download client ONLY downloads to your download folder/location. And you tell Radarr where you want your clean media library Radarr imports from your download location (copy/move/hardlink) to your media folder/library Plex, Emby, JellyFin or Kodi should ONLY have access to your media folder/library Your Download and Media Library should be NEVER the same locations System Folders \u00b6 Settings => Folders => System Folders I recommend the .nzb Backup Folder because sabnzbd doesn't have a hidden history and having remove from history enabled in Sonarr/Radarr is the best method. This allows you to see your past downloads and it is used for duplicate download detection/prevention. Default is empty, I picked history because it is easy. It'll end up in the /config folder for Docker, which isn't crazy... but this is literally compressed nzb files, so can end up pretty big. But the choice is yours what you prefer. Servers \u00b6 Settings => Servers => Add Server USP = Usenet Service Provider Server description. The hostname you get from your USP. The port that you get and can use from your USP. Make sure you enable SSL so you get a secure connection to the USP. Username that you got or created with your USP. Password you got or created with your USP Use the lowest possible amount of connections +1 to gain your max download speed. How long the articles are stored on the news server. For unreliable servers, will be ignored longer in case of failures Categories \u00b6 Settings => Categories Covered and fully explained in SABnzbd - Paths and Categories Switches \u00b6 Queue \u00b6 Settings => Switches => Queue When during download it becomes clear that too much data is missing, abort the job. and makes sure Sonarr/Radarr will get a notification and can look for another release. Since we have the .nzb history folder, you can decide what you want to do here w/ duplicate downloads. Mine is set to Tag job, but Pause or Fail job may make sense too. In case of \"Pause\", you'll need to set a password and resume the job. or you set it to \"Abort\" and Sonarr/Radarr can look for another release. Suggest this sort so that the most likely to still be there stuff is downloaded first. If your hardware isn't up to snuff, including cpu and/or io performance, disabling Direct Unpack and/or enabling Pause Downloading During Post-Processing can help. Defaults are fine for most hardware though. Post processing \u00b6 Settings => Switches => Post processing If your hardware isn't up to snuff, including cpu and/or io performance, disabling Direct Unpack and/or enabling Pause Downloading During Post-Processing can help. Defaults are fine for most hardware though. Only unpack and run scripts on jobs that passed the verification stage. If turned off, all jobs will be marked as Completed even if they are incomplete. Unpack archives (rar, zip, 7z) within archives. This can help with subs that are in folders in the rar because sonarr/radarr don't look in sub-folders. Some servers provide an alternative NZB when a download fails. I have it enabled no guarantee that it works. Helps with de-obfuscation, but probably is handling the same case sonarr/radarr do okay with. Not sure how this one does, I have it enabled, but its also newish. When sorting, use tags from indexer for title, season, episode, etc. Otherwise all naming is derived from the NZB name. Sorting \u00b6 Settings => Sorting MAKE SURE THAT SORTING IS ENTIRELY DISABLED Recommended Sonarr/Radarr Settings \u00b6 The following settings are recommended to for Sonarr/Radarr, else it could happen that Sonarr/Radarr will miss downloads that are still in the queue/history. Being that Sonarr/Radarr only looks at the last xx amount in the queue/history. Sonarr \u00b6 Sonarr - [CLICK TO EXPAND] Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3. Select Sabnzbd at step 4 and scroll down to the bottom of the new window where it says Completed Download Handling and check both boxes. Radarr \u00b6 Radarr - [CLICK TO EXPAND] Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3, and both boxes under Failed Download Handling at step 4. Thanks to fryfrog for helping me with the settings and providing the info needed to create this Guide. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Basic-Setup"},{"location":"Downloaders/SABnzbd/Basic-Setup/#sabnzbd-basic-setup","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv . Note Settings that aren't covered means you can change them to your own liking or just leave them on default. I also recommend to enable the Advanced Settings on the top right.","title":"SABnzbd - Basic Setup"},{"location":"Downloaders/SABnzbd/Basic-Setup/#general","text":"","title":"General"},{"location":"Downloaders/SABnzbd/Basic-Setup/#tuning","text":"Settings => General => Tuning I recommend setting a sane maximum speed and then limiting below that, to keep your internet connection happy. You can use Settings => Scheduling to toggle the limit on and off based on time, slowing it down while your family is using the internet and speeding it up at night when they're not.","title":"Tuning"},{"location":"Downloaders/SABnzbd/Basic-Setup/#folders","text":"","title":"Folders"},{"location":"Downloaders/SABnzbd/Basic-Setup/#user-folders","text":"Settings => Folders => Users Folders Here you setup your download path/location. ATTENTION You set your download location in your download client Your download client ONLY downloads to your download folder/location. And you tell Radarr where you want your clean media library Radarr imports from your download location (copy/move/hardlink) to your media folder/library Plex, Emby, JellyFin or Kodi should ONLY have access to your media folder/library Your Download and Media Library should be NEVER the same locations","title":"User Folders"},{"location":"Downloaders/SABnzbd/Basic-Setup/#system-folders","text":"Settings => Folders => System Folders I recommend the .nzb Backup Folder because sabnzbd doesn't have a hidden history and having remove from history enabled in Sonarr/Radarr is the best method. This allows you to see your past downloads and it is used for duplicate download detection/prevention. Default is empty, I picked history because it is easy. It'll end up in the /config folder for Docker, which isn't crazy... but this is literally compressed nzb files, so can end up pretty big. But the choice is yours what you prefer.","title":"System Folders"},{"location":"Downloaders/SABnzbd/Basic-Setup/#servers","text":"Settings => Servers => Add Server USP = Usenet Service Provider Server description. The hostname you get from your USP. The port that you get and can use from your USP. Make sure you enable SSL so you get a secure connection to the USP. Username that you got or created with your USP. Password you got or created with your USP Use the lowest possible amount of connections +1 to gain your max download speed. How long the articles are stored on the news server. For unreliable servers, will be ignored longer in case of failures","title":"Servers"},{"location":"Downloaders/SABnzbd/Basic-Setup/#categories","text":"Settings => Categories Covered and fully explained in SABnzbd - Paths and Categories","title":"Categories"},{"location":"Downloaders/SABnzbd/Basic-Setup/#switches","text":"","title":"Switches"},{"location":"Downloaders/SABnzbd/Basic-Setup/#queue","text":"Settings => Switches => Queue When during download it becomes clear that too much data is missing, abort the job. and makes sure Sonarr/Radarr will get a notification and can look for another release. Since we have the .nzb history folder, you can decide what you want to do here w/ duplicate downloads. Mine is set to Tag job, but Pause or Fail job may make sense too. In case of \"Pause\", you'll need to set a password and resume the job. or you set it to \"Abort\" and Sonarr/Radarr can look for another release. Suggest this sort so that the most likely to still be there stuff is downloaded first. If your hardware isn't up to snuff, including cpu and/or io performance, disabling Direct Unpack and/or enabling Pause Downloading During Post-Processing can help. Defaults are fine for most hardware though.","title":"Queue"},{"location":"Downloaders/SABnzbd/Basic-Setup/#post-processing","text":"Settings => Switches => Post processing If your hardware isn't up to snuff, including cpu and/or io performance, disabling Direct Unpack and/or enabling Pause Downloading During Post-Processing can help. Defaults are fine for most hardware though. Only unpack and run scripts on jobs that passed the verification stage. If turned off, all jobs will be marked as Completed even if they are incomplete. Unpack archives (rar, zip, 7z) within archives. This can help with subs that are in folders in the rar because sonarr/radarr don't look in sub-folders. Some servers provide an alternative NZB when a download fails. I have it enabled no guarantee that it works. Helps with de-obfuscation, but probably is handling the same case sonarr/radarr do okay with. Not sure how this one does, I have it enabled, but its also newish. When sorting, use tags from indexer for title, season, episode, etc. Otherwise all naming is derived from the NZB name.","title":"Post processing"},{"location":"Downloaders/SABnzbd/Basic-Setup/#sorting","text":"Settings => Sorting MAKE SURE THAT SORTING IS ENTIRELY DISABLED","title":"Sorting"},{"location":"Downloaders/SABnzbd/Basic-Setup/#recommended-sonarrradarr-settings","text":"The following settings are recommended to for Sonarr/Radarr, else it could happen that Sonarr/Radarr will miss downloads that are still in the queue/history. Being that Sonarr/Radarr only looks at the last xx amount in the queue/history.","title":"Recommended Sonarr/Radarr Settings"},{"location":"Downloaders/SABnzbd/Basic-Setup/#sonarr","text":"Sonarr - [CLICK TO EXPAND] Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3. Select Sabnzbd at step 4 and scroll down to the bottom of the new window where it says Completed Download Handling and check both boxes.","title":"Sonarr"},{"location":"Downloaders/SABnzbd/Basic-Setup/#radarr","text":"Radarr - [CLICK TO EXPAND] Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3, and both boxes under Failed Download Handling at step 4. Thanks to fryfrog for helping me with the settings and providing the info needed to create this Guide. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Radarr"},{"location":"Downloaders/SABnzbd/Paths-and-Categories/","text":"SABnzbd - Paths and Categories \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data SABnzbd config => Folders SABnzbd config => Categories ATTENTION You set your download location in your download client Your download client ONLY downloads to your download folder/location. And you tell Radarr where you want your clean media library Radarr imports from your download location (copy/move/hardlink) to your media folder/library Plex, Emby, JellyFin or Kodi should ONLY have access to your media folder/library Your Download and Media Library should be NEVER the same locations Paths and Categories Breakdown \u00b6 Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Path and Categories"},{"location":"Downloaders/SABnzbd/Paths-and-Categories/#sabnzbd-paths-and-categories","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data SABnzbd config => Folders SABnzbd config => Categories ATTENTION You set your download location in your download client Your download client ONLY downloads to your download folder/location. And you tell Radarr where you want your clean media library Radarr imports from your download location (copy/move/hardlink) to your media folder/library Plex, Emby, JellyFin or Kodi should ONLY have access to your media folder/library Your Download and Media Library should be NEVER the same locations","title":"SABnzbd - Paths and Categories"},{"location":"Downloaders/SABnzbd/Paths-and-Categories/#paths-and-categories-breakdown","text":"Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Paths and Categories Breakdown"},{"location":"Downloaders/SABnzbd/scripts/","text":"SABnzbd Scripts \u00b6 Clean \u00b6 Clean NZB name Title: Clean.py Author(s): ??? Made compatible for SABnzbd: AlexK Removes the following suffixes from NZB name: NZBgeek / Obfuscated / BUYMORE / Scrambled /etc... Cleans the NZB name by removing the retagged stuff (-Obfuscated, -postbox, etc). Install Instructions: Copy script to sabnzbd's script folder run: sudo chmod +x Clean.py in SABnzbd go to Settings => Switches Change Pre-queue user script and select: Clean.py Script #!/usr/bin/python3 -OO ################################################################## ### SABnzbd - Clean NZB Renamer ## ################################################################## ## NOTE: This script is considered ALPHA! ## ## ## ## Removes the suffixes from NZB name used by bots: ## ## examples: NZBgeek / Obfuscated / BUYMORE / Scrambled, etc.. ## ## ## ## NOTE: This script requires Python 3 ## ## ## ## Install: ## ## 1. Copy script to sabnzbd's script folder ## ## 2. run: sudo chmod +x Clean.py ## ## 3. in SABnzbd go to Config > Switches ## ## 4. Change Pre-queue user script and select: Clean.py ## ################################################################## import sys import re try : ( scriptname , nzbname , postprocflags , category , script , prio , downloadsize , grouplist , showname , season , episodenumber , episodename ) = sys . argv downloadsize = int ( downloadsize ) except : sys . exit ( 1 ) # exit with 1 causes SABnzbd to ignore the output of this script fwp = nzbname fwp = re . sub ( '(?i)-4P$' , '' , fwp ) fwp = re . sub ( '(?i)-4Planet$' , '' , fwp ) fwp = re . sub ( '(?i)-AsRequested$' , '' , fwp ) fwp = re . sub ( '(?i)-AsRequested-xpost$' , '' , fwp ) fwp = re . sub ( '(?i)-BUYMORE$' , '' , fwp ) fwp = re . sub ( '(?i)-Chamele0n$' , '' , fwp ) fwp = re . sub ( '(?i)-GEROV$' , '' , fwp ) fwp = re . sub ( '(?i)-iNC0GNiTO$' , '' , fwp ) fwp = re . sub ( '(?i)-NZBGeek$' , '' , fwp ) fwp = re . sub ( '(?i)-Obfuscated$' , '' , fwp ) fwp = re . sub ( '(?i)-postbot$' , '' , fwp ) fwp = re . sub ( '(?i)-Rakuv$' , '' , fwp ) fwp = re . sub ( '(?i)-Scrambled$' , '' , fwp ) fwp = re . sub ( '(?i)-WhiteRev$' , '' , fwp ) fwp = re . sub ( '(?i)-WRTEAM$' , '' , fwp ) fwp = re . sub ( '(?i)-CAPTCHA$' , '' , fwp ) fwp = re . sub ( '(?i)\\[eztv\\]$' , '' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]$' , '' , fwp ) fwp = re . sub ( '(?i)\\[ettv\\]$' , '' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]-xpost$' , '' , fwp ) fwp = re . sub ( '(?i).mkv-xpost$' , '' , fwp ) fwp = re . sub ( '(?i)-xpost$' , '' , fwp ) fwp = re . sub ( r '(\\-[^-.\\n]*)(\\-. {4} )?$' , r '\\1' , fwp ) print ( \"1\" ) # Accept print ( fwp ) print () print () print () print () print () # 0 means OK sys . exit ( 0 )","title":"SABnzbd Scripts"},{"location":"Downloaders/SABnzbd/scripts/#sabnzbd-scripts","text":"","title":"SABnzbd Scripts"},{"location":"Downloaders/SABnzbd/scripts/#clean","text":"Clean NZB name Title: Clean.py Author(s): ??? Made compatible for SABnzbd: AlexK Removes the following suffixes from NZB name: NZBgeek / Obfuscated / BUYMORE / Scrambled /etc... Cleans the NZB name by removing the retagged stuff (-Obfuscated, -postbox, etc). Install Instructions: Copy script to sabnzbd's script folder run: sudo chmod +x Clean.py in SABnzbd go to Settings => Switches Change Pre-queue user script and select: Clean.py Script #!/usr/bin/python3 -OO ################################################################## ### SABnzbd - Clean NZB Renamer ## ################################################################## ## NOTE: This script is considered ALPHA! ## ## ## ## Removes the suffixes from NZB name used by bots: ## ## examples: NZBgeek / Obfuscated / BUYMORE / Scrambled, etc.. ## ## ## ## NOTE: This script requires Python 3 ## ## ## ## Install: ## ## 1. Copy script to sabnzbd's script folder ## ## 2. run: sudo chmod +x Clean.py ## ## 3. in SABnzbd go to Config > Switches ## ## 4. Change Pre-queue user script and select: Clean.py ## ################################################################## import sys import re try : ( scriptname , nzbname , postprocflags , category , script , prio , downloadsize , grouplist , showname , season , episodenumber , episodename ) = sys . argv downloadsize = int ( downloadsize ) except : sys . exit ( 1 ) # exit with 1 causes SABnzbd to ignore the output of this script fwp = nzbname fwp = re . sub ( '(?i)-4P$' , '' , fwp ) fwp = re . sub ( '(?i)-4Planet$' , '' , fwp ) fwp = re . sub ( '(?i)-AsRequested$' , '' , fwp ) fwp = re . sub ( '(?i)-AsRequested-xpost$' , '' , fwp ) fwp = re . sub ( '(?i)-BUYMORE$' , '' , fwp ) fwp = re . sub ( '(?i)-Chamele0n$' , '' , fwp ) fwp = re . sub ( '(?i)-GEROV$' , '' , fwp ) fwp = re . sub ( '(?i)-iNC0GNiTO$' , '' , fwp ) fwp = re . sub ( '(?i)-NZBGeek$' , '' , fwp ) fwp = re . sub ( '(?i)-Obfuscated$' , '' , fwp ) fwp = re . sub ( '(?i)-postbot$' , '' , fwp ) fwp = re . sub ( '(?i)-Rakuv$' , '' , fwp ) fwp = re . sub ( '(?i)-Scrambled$' , '' , fwp ) fwp = re . sub ( '(?i)-WhiteRev$' , '' , fwp ) fwp = re . sub ( '(?i)-WRTEAM$' , '' , fwp ) fwp = re . sub ( '(?i)-CAPTCHA$' , '' , fwp ) fwp = re . sub ( '(?i)\\[eztv\\]$' , '' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]$' , '' , fwp ) fwp = re . sub ( '(?i)\\[ettv\\]$' , '' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]-xpost$' , '' , fwp ) fwp = re . sub ( '(?i).mkv-xpost$' , '' , fwp ) fwp = re . sub ( '(?i)-xpost$' , '' , fwp ) fwp = re . sub ( r '(\\-[^-.\\n]*)(\\-. {4} )?$' , r '\\1' , fwp ) print ( \"1\" ) # Accept print ( fwp ) print () print () print () print () print () # 0 means OK sys . exit ( 0 )","title":"Clean"},{"location":"Downloaders/qBittorrent/","text":"qBittorrent \u00b6","title":"qBittorrent"},{"location":"Downloaders/qBittorrent/#qbittorrent","text":"","title":"qBittorrent"},{"location":"Downloaders/qBittorrent/Basic-Setup/","text":"qBittorrent - Basic Setup \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv . Soon \u00b6","title":"Basic-Setup"},{"location":"Downloaders/qBittorrent/Basic-Setup/#qbittorrent-basic-setup","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv .","title":"qBittorrent - Basic Setup"},{"location":"Downloaders/qBittorrent/Basic-Setup/#soon","text":"","title":"Soon"},{"location":"Downloaders/qBittorrent/How-to-add-categories/","text":"qBittorrent - How to add categories \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Click on the left under categories with your left mouse button. Click on Add category Enter your category. Enter your save path subfolder (keep it simple and recognizable) Paths and Categories Breakdown \u00b6 Downloads do not go into the category folder \u00b6 Downloads do not go into the category folder When your downloads ends up in /data/torrents/ and not in /data/torrents/{tv|movies|music} then you probably forgot to change Default Torrent Management Mode: to Automatic Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to add Categories"},{"location":"Downloaders/qBittorrent/How-to-add-categories/#qbittorrent-how-to-add-categories","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Click on the left under categories with your left mouse button. Click on Add category Enter your category. Enter your save path subfolder (keep it simple and recognizable)","title":"qBittorrent - How to add categories"},{"location":"Downloaders/qBittorrent/How-to-add-categories/#paths-and-categories-breakdown","text":"","title":"Paths and Categories Breakdown"},{"location":"Downloaders/qBittorrent/How-to-add-categories/#downloads-do-not-go-into-the-category-folder","text":"Downloads do not go into the category folder When your downloads ends up in /data/torrents/ and not in /data/torrents/{tv|movies|music} then you probably forgot to change Default Torrent Management Mode: to Automatic Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Downloads do not go into the category folder"},{"location":"Downloaders/qBittorrent/Paths/","text":"qBittorrent - Paths \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Options => Downloads","title":"Paths"},{"location":"Downloaders/qBittorrent/Paths/#qbittorrent-paths","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Options => Downloads","title":"qBittorrent - Paths"},{"location":"Downloaders/qBittorrent/Port-forwarding/","text":"qBittorrent - Port forwarding \u00b6 You've followed the Setup TorGuard for port forwarding and want to know where in your download client you should add the port you've port forwarded. Tools => Options => Connection Tools or cog wheel. Options (skip if you choose the cog wheel). Select the Connection Tab. Choose TCP and uTP if you get speed issues try one of the others. Add here the port you've forwarded.","title":"Port forwarding"},{"location":"Downloaders/qBittorrent/Port-forwarding/#qbittorrent-port-forwarding","text":"You've followed the Setup TorGuard for port forwarding and want to know where in your download client you should add the port you've port forwarded. Tools => Options => Connection Tools or cog wheel. Options (skip if you choose the cog wheel). Select the Connection Tab. Choose TCP and uTP if you get speed issues try one of the others. Add here the port you've forwarded.","title":"qBittorrent - Port forwarding"},{"location":"Downloaders/ruTorrent/","text":"ruTorrent Placeholder \u00b6","title":"ruTorrent Placeholder"},{"location":"Downloaders/ruTorrent/#rutorrent-placeholder","text":"","title":"ruTorrent Placeholder"},{"location":"Downloaders/ruTorrent/ruTorrent-Basic-Setup/","text":"ruTorrent - Basic Setup \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv . Soon \u00b6 Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"ruTorrent - Basic Setup"},{"location":"Downloaders/ruTorrent/ruTorrent-Basic-Setup/#rutorrent-basic-setup","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv .","title":"ruTorrent - Basic Setup"},{"location":"Downloaders/ruTorrent/ruTorrent-Basic-Setup/#soon","text":"Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Soon"},{"location":"Hardlinks/Check-if-hardlinks-are-working/","text":"How to check if hardlinks are working \u00b6 You've followed the guide step by step but still want to check if hardlinks are working, or someone on the Sonarr/Radarr support team asked you to check if your files are hardlinked? You can use 2 options to check if you got working hardlinks. Both ways requires you to login to your terminal with PuTTY or similar software. Usenet \u00b6 If you use usenet these examples won't work because you make use of instant moves/atomic moves and not hardlinks. Still want to test if it works ? Test a import of a 4k remux (or any other big file and you should notice it's almost instant) and not a slower and more I/O intensive copy + delete. Method 1: Using ls \u00b6 This is the easiest to check in my opinion. In your terminal cd to your download location and run ls -al or type ls -al /path/to/your/download/location/ You will get a listing of all your files and on the left side you will see a couple of numbers, every file with a number above 1 are hardlinks. Red rectangle - Not Hardlinked Green rectangle - Hardlinks Blue rectangle - Folders/Directories you will need to go in to them to check if the files are hardlinked. Method 2: Using stat \u00b6 This way requires a bit more work. On the terminal type: stat /path/to/your/download/location/file.mkv On the terminal type: stat /path/to/your/media/location/file.mkv You will get 2 results you can use to compare several things. Links: Everything above 1 means it's a hardlink Inode: if the numbers match you know the files are hardlinked","title":"Check if hardlinks are working"},{"location":"Hardlinks/Check-if-hardlinks-are-working/#how-to-check-if-hardlinks-are-working","text":"You've followed the guide step by step but still want to check if hardlinks are working, or someone on the Sonarr/Radarr support team asked you to check if your files are hardlinked? You can use 2 options to check if you got working hardlinks. Both ways requires you to login to your terminal with PuTTY or similar software.","title":"How to check if hardlinks are working"},{"location":"Hardlinks/Check-if-hardlinks-are-working/#usenet","text":"If you use usenet these examples won't work because you make use of instant moves/atomic moves and not hardlinks. Still want to test if it works ? Test a import of a 4k remux (or any other big file and you should notice it's almost instant) and not a slower and more I/O intensive copy + delete.","title":"Usenet"},{"location":"Hardlinks/Check-if-hardlinks-are-working/#method-1-using-ls","text":"This is the easiest to check in my opinion. In your terminal cd to your download location and run ls -al or type ls -al /path/to/your/download/location/ You will get a listing of all your files and on the left side you will see a couple of numbers, every file with a number above 1 are hardlinks. Red rectangle - Not Hardlinked Green rectangle - Hardlinks Blue rectangle - Folders/Directories you will need to go in to them to check if the files are hardlinked.","title":"Method 1: Using ls"},{"location":"Hardlinks/Check-if-hardlinks-are-working/#method-2-using-stat","text":"This way requires a bit more work. On the terminal type: stat /path/to/your/download/location/file.mkv On the terminal type: stat /path/to/your/media/location/file.mkv You will get 2 results you can use to compare several things. Links: Everything above 1 means it's a hardlink Inode: if the numbers match you know the files are hardlinked","title":"Method 2: Using stat"},{"location":"Hardlinks/Examples/","text":"Examples \u00b6 Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Sonarr \u00b6 Sonarr Examples - [CLICK TO EXPAND] Settings => Media Management => Importing Settings => Media Management => Root Folders Series => Add New Radarr \u00b6 Radarr Examples - [CLICK TO EXPAND] Settings => Media Management => Importing Settings => Media Management => Root Folders Movies => Add New SABnzbd \u00b6 SABnzbd Examples - [CLICK TO EXPAND] SABnzbd config => Folders SABnzbd config => Categories NZBGet \u00b6 NZBGet Examples - [CLICK TO EXPAND] Settings => PATHS Settings => CATEGORIES qBittorrent \u00b6 qBittorrent Examples - [CLICK TO EXPAND] Options => Downloads Deluge \u00b6 Deluge Example - [CLICK TO EXPAND] Preferences => Downloads ruTorrent \u00b6 ruTorrent Examples - [CLICK TO EXPAND] ../config/rtorrent/config/rtorrent.rc (path to your appdata) Settings => Downloads Settings => Autotools Big Thanks to fryfrog for his Docker Guide that I used as basis for this guide.","title":"Examples"},{"location":"Hardlinks/Examples/#examples","text":"Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data","title":"Examples"},{"location":"Hardlinks/Examples/#sonarr","text":"Sonarr Examples - [CLICK TO EXPAND] Settings => Media Management => Importing Settings => Media Management => Root Folders Series => Add New","title":"Sonarr"},{"location":"Hardlinks/Examples/#radarr","text":"Radarr Examples - [CLICK TO EXPAND] Settings => Media Management => Importing Settings => Media Management => Root Folders Movies => Add New","title":"Radarr"},{"location":"Hardlinks/Examples/#sabnzbd","text":"SABnzbd Examples - [CLICK TO EXPAND] SABnzbd config => Folders SABnzbd config => Categories","title":"SABnzbd"},{"location":"Hardlinks/Examples/#nzbget","text":"NZBGet Examples - [CLICK TO EXPAND] Settings => PATHS Settings => CATEGORIES","title":"NZBGet"},{"location":"Hardlinks/Examples/#qbittorrent","text":"qBittorrent Examples - [CLICK TO EXPAND] Options => Downloads","title":"qBittorrent"},{"location":"Hardlinks/Examples/#deluge","text":"Deluge Example - [CLICK TO EXPAND] Preferences => Downloads","title":"Deluge"},{"location":"Hardlinks/Examples/#rutorrent","text":"ruTorrent Examples - [CLICK TO EXPAND] ../config/rtorrent/config/rtorrent.rc (path to your appdata) Settings => Downloads Settings => Autotools Big Thanks to fryfrog for his Docker Guide that I used as basis for this guide.","title":"ruTorrent"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/","text":"Hardlinks and Instant Moves (Atomic-Moves) \u00b6 Description \u00b6 Info If you\u2019re wondering why hard links aren\u2019t working or why a simple move is taking far longer than it should. Here we will try to explain it. This Guide exist out of 4 Sections This page with a short description. How to setup for your installation method. Examples what you should use for your path settings in your used applications. Check if hardlinks are working So you want one of the following ? Instant moves (Atomic-Moves) during import of the *arr (useful when using Usenet)? You don't want to use twice the storage when using torrents. (hardlinks)? You want to perma seed? Then Continue to How to setup for your installation method. FAQ \u00b6 What are Hardlinks \u00b6 What are hardlinks? - [CLICK TO EXPAND] [ Short answer ] Having a file in multiple locations without using double your storage space. [ Long answer ] Hard links are a way for a copy operation to be instant and not consume space for those additional copies. Every file is a hard link: some metadata that points at blocks on the file system, which is why they're restricted to the same file system . There can be as many metadata files pointing at those blocks as needed and the blocks know how many links point to them. Once the blocks have 0 links, they're considered deleted. This means: You can delete any \"copy\" w/o impacting the others. Your download client can remove it's \"copy\" w/o impacting the library \"copy\". The library \"copy\" can be removed by Plex or Sonarr/Radarr or yourself w/o impacting the download client \"copy\". Space is only regained when all \"copies\" are deleted. Modifying the file will impact all \"copies\". For example, modifying the id3 tags of a .mp3 download after import would modify the download client \"copy\", resulting in breaking the torrent. What are Instant Moves (Atomic Moves) \u00b6 What are Instant Moves (Atomic Moves)? - [CLICK TO EXPAND] A real move and not a copy file from download folder to media folder and then delete file from download folder. What are the arr \u00b6 What are the *arr ? - [CLICK TO EXPAND] Sonarr, Radarr, Lidarr, etc.","title":"Hardlinks - Atomic Moves"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#hardlinks-and-instant-moves-atomic-moves","text":"","title":"Hardlinks and Instant Moves (Atomic-Moves)"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#description","text":"Info If you\u2019re wondering why hard links aren\u2019t working or why a simple move is taking far longer than it should. Here we will try to explain it. This Guide exist out of 4 Sections This page with a short description. How to setup for your installation method. Examples what you should use for your path settings in your used applications. Check if hardlinks are working So you want one of the following ? Instant moves (Atomic-Moves) during import of the *arr (useful when using Usenet)? You don't want to use twice the storage when using torrents. (hardlinks)? You want to perma seed? Then Continue to How to setup for your installation method.","title":"Description"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#faq","text":"","title":"FAQ"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#what-are-hardlinks","text":"What are hardlinks? - [CLICK TO EXPAND] [ Short answer ] Having a file in multiple locations without using double your storage space. [ Long answer ] Hard links are a way for a copy operation to be instant and not consume space for those additional copies. Every file is a hard link: some metadata that points at blocks on the file system, which is why they're restricted to the same file system . There can be as many metadata files pointing at those blocks as needed and the blocks know how many links point to them. Once the blocks have 0 links, they're considered deleted. This means: You can delete any \"copy\" w/o impacting the others. Your download client can remove it's \"copy\" w/o impacting the library \"copy\". The library \"copy\" can be removed by Plex or Sonarr/Radarr or yourself w/o impacting the download client \"copy\". Space is only regained when all \"copies\" are deleted. Modifying the file will impact all \"copies\". For example, modifying the id3 tags of a .mp3 download after import would modify the download client \"copy\", resulting in breaking the torrent.","title":"What are Hardlinks"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#what-are-instant-moves-atomic-moves","text":"What are Instant Moves (Atomic Moves)? - [CLICK TO EXPAND] A real move and not a copy file from download folder to media folder and then delete file from download folder.","title":"What are Instant Moves (Atomic Moves)"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#what-are-the-arr","text":"What are the *arr ? - [CLICK TO EXPAND] Sonarr, Radarr, Lidarr, etc.","title":"What are the arr"},{"location":"Hardlinks/Replace-copies-with-hardlinks/","text":"Replace copies with hardlinks \u00b6 You recently switched to a proper setup that supports Hardlinks and Instant Moves (Atomic-Moves). And you would like to replace copies with hardlinks ? If your Operating System supports it you could make use of Jdupes . Usage \u00b6 I won't cover every command If you want to know what else Jdupes can do please read the manual. Tip This process can take a long time and a pretty big hit on your resources depending on how big your library is, I did notice the first time it takes longer then the second time. Not sure if this is a cache thing or something else. That's why I suggest to do it based on categories (Movies, TV, Music etc). I don't suggest to use this on a cloud based setup. jdupes [ options ] DIR1 DIR2 This will do a dry run and summarize at the end. jdupes -M -r \"/data/torrents/movies/\" \"/data/media/movies\" This will hard link all duplicate files without prompting. jdupes -L -r \"/data/torrents/movies/\" \"/data/media/movies\" Windows allows a maximum of 1023 hard links per file Warning The -Q or --quick option only reads each file once, hashes it, and performs comparisons based solely on the hashes. There is a small but significant risk of a hash collision which is the purpose of the failsafe byte-for-byte comparison that this option explicitly bypasses. Do not use it on ANY data set for which any amount of data loss is unacceptable. You have been warned! Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Replace copies with hardlinks"},{"location":"Hardlinks/Replace-copies-with-hardlinks/#replace-copies-with-hardlinks","text":"You recently switched to a proper setup that supports Hardlinks and Instant Moves (Atomic-Moves). And you would like to replace copies with hardlinks ? If your Operating System supports it you could make use of Jdupes .","title":"Replace copies with hardlinks"},{"location":"Hardlinks/Replace-copies-with-hardlinks/#usage","text":"I won't cover every command If you want to know what else Jdupes can do please read the manual. Tip This process can take a long time and a pretty big hit on your resources depending on how big your library is, I did notice the first time it takes longer then the second time. Not sure if this is a cache thing or something else. That's why I suggest to do it based on categories (Movies, TV, Music etc). I don't suggest to use this on a cloud based setup. jdupes [ options ] DIR1 DIR2 This will do a dry run and summarize at the end. jdupes -M -r \"/data/torrents/movies/\" \"/data/media/movies\" This will hard link all duplicate files without prompting. jdupes -L -r \"/data/torrents/movies/\" \"/data/media/movies\" Windows allows a maximum of 1023 hard links per file Warning The -Q or --quick option only reads each file once, hashes it, and performs comparisons based solely on the hashes. There is a small but significant risk of a hash collision which is the purpose of the failsafe byte-for-byte comparison that this option explicitly bypasses. Do not use it on ANY data set for which any amount of data loss is unacceptable. You have been warned! Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Usage"},{"location":"Hardlinks/How-to-setup-for/","text":"How to setup for \u00b6 In this section you will find several how-to's for installation of the *arrs. This is all done in a way to achieve Hardlinks and Instant Moves (Atomic-Moves) . Select your desired method of installation: Docker Dockstarter Native Synology Unraid","title":"How to setup for"},{"location":"Hardlinks/How-to-setup-for/#how-to-setup-for","text":"In this section you will find several how-to's for installation of the *arrs. This is all done in a way to achieve Hardlinks and Instant Moves (Atomic-Moves) . Select your desired method of installation: Docker Dockstarter Native Synology Unraid","title":"How to setup for"},{"location":"Hardlinks/How-to-setup-for/Docker/","text":"Docker \u00b6 Tip If you're new to dockers and want a easy setup I suggest to take a look at DockSTARTer . I've also created a short guide HERE where I explain the settings for the most used applications. The main goal of DockSTARTer is to make it quick and easy to get up and running with Docker. You may choose to rely on DockSTARTer for various changes to your Docker system or use DockSTARTer as a stepping stone and learn to do more advanced configurations. DockSTARTer was actually my first steps in to the world of dockers. Note I'm not going to explain how to get dockers installed and running, I will only explain which folder structure we recommend. The paths mentioned below refer to internal paths for the containers! External paths depends where you mounted your share or your drives. For example //data , or even /data . Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used. Folder Structure \u00b6 Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Breakdown of the Folder Structure \u00b6 Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications. Permissions \u00b6 Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data Docker-compose Example \u00b6 This is a docker-compose example based on a default Ubuntu install. The storage location used for the host is actually the same as in the container to make it easier to understand in this case /data . The appdata ( /config ) will be stored on the host in the /docker/appdata/{appname} docker-compose - [CLICK TO EXPAND] version: \"3.2\" services: radarr: container_name: radarr image: cr.hotio.dev/hotio/radarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 7878:7878 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/radarr:/config - /data:/data sonarr: container_name: sonarr image: cr.hotio.dev/hotio/sonarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8989:8989 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sonarr:/config - /data:/data bazarr: container_name: bazarr image: cr.hotio.dev/hotio/bazarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 6767:6767 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/bazarr:/config - /data/media:/data/media sabnzbd: container_name: sabnzbd image: cr.hotio.dev/hotio/sabnzbd:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8080:8080 - 9090:9090 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sabnzbd:/config - /data/usenet:/data/usenet:rw Docker-Compose Commands \u00b6 docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Docker"},{"location":"Hardlinks/How-to-setup-for/Docker/#docker","text":"Tip If you're new to dockers and want a easy setup I suggest to take a look at DockSTARTer . I've also created a short guide HERE where I explain the settings for the most used applications. The main goal of DockSTARTer is to make it quick and easy to get up and running with Docker. You may choose to rely on DockSTARTer for various changes to your Docker system or use DockSTARTer as a stepping stone and learn to do more advanced configurations. DockSTARTer was actually my first steps in to the world of dockers. Note I'm not going to explain how to get dockers installed and running, I will only explain which folder structure we recommend. The paths mentioned below refer to internal paths for the containers! External paths depends where you mounted your share or your drives. For example //data , or even /data . Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used.","title":"Docker"},{"location":"Hardlinks/How-to-setup-for/Docker/#folder-structure","text":"Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Docker/#breakdown-of-the-folder-structure","text":"","title":"Breakdown of the Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Docker/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"Hardlinks/How-to-setup-for/Docker/#usenet-clients","text":"NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"Hardlinks/How-to-setup-for/Docker/#the-arrs","text":"Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"Hardlinks/How-to-setup-for/Docker/#media-server","text":"Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications.","title":"Media Server"},{"location":"Hardlinks/How-to-setup-for/Docker/#permissions","text":"Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data","title":"Permissions"},{"location":"Hardlinks/How-to-setup-for/Docker/#docker-compose-example","text":"This is a docker-compose example based on a default Ubuntu install. The storage location used for the host is actually the same as in the container to make it easier to understand in this case /data . The appdata ( /config ) will be stored on the host in the /docker/appdata/{appname} docker-compose - [CLICK TO EXPAND] version: \"3.2\" services: radarr: container_name: radarr image: cr.hotio.dev/hotio/radarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 7878:7878 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/radarr:/config - /data:/data sonarr: container_name: sonarr image: cr.hotio.dev/hotio/sonarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8989:8989 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sonarr:/config - /data:/data bazarr: container_name: bazarr image: cr.hotio.dev/hotio/bazarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 6767:6767 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/bazarr:/config - /data/media:/data/media sabnzbd: container_name: sabnzbd image: cr.hotio.dev/hotio/sabnzbd:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8080:8080 - 9090:9090 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sabnzbd:/config - /data/usenet:/data/usenet:rw","title":"Docker-compose Example"},{"location":"Hardlinks/How-to-setup-for/Docker/#docker-compose-commands","text":"docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Docker-Compose Commands"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/","text":"Dockstarter \u00b6 Note I'm using the default paths in this example, and will keep the other paths unchanged so nothing will break if you make a mistake. Folder Structure \u00b6 We're going to use a mounted drive that we're going to use as storage for downloads and your media. In this example the mounted drive will be mounted to /mnt/ with the following folder structure. storage \u251c\u2500\u2500 downloads | \u251c\u2500\u2500 torrents \u2502 | \u251c\u2500\u2500 movies \u2502 | \u251c\u2500\u2500 music \u2502 | \u2514\u2500\u2500 tv | \u2514\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 medialibrary \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Changes to the .env \u00b6 To accomplish this we need to change first a few paths in your .env (Usually ~/.docker/compose/.env ) # Global Settings COMPOSE_HTTP_TIMEOUT=60 DOCKERCONFDIR=~/.config/appdata DOCKERGID=999 DOCKERHOSTNAME=DockSTARTer DOCKERLOGGING_MAXFILE=10 DOCKERLOGGING_MAXSIZE=200k DOCKERSTORAGEDIR=/mnt/storage PGID=1000 PUID=1000 TZ=America/Chicago Changes to your paths \u00b6 When that's all set then you will need to change the paths you're going to use in the containers from: /downloads => /storage/downloads /audiobooks => /storage/medialibrary/audiobooks /books => /storage/medialibrary/books /comics => /storage/medialibrary/comics /movies => /storage/medialibrary/movies /music => /storage/medialibrary/music /tv => /storage/medialibrary/tv DockSTARTer Examples \u00b6 Info The screenshots in the examples are using the following root path /storage Sonarr Radarr SABnzbd NZBGet qBittorrent Deluge ruTorrent Sonarr Examples - [CLICK TO EXPAND] Sonarr \u00b6 Settings => Media Management => Importing Settings => Media Management => Root Folders Series => Add New Radarr Examples - [CLICK TO EXPAND] Radarr \u00b6 Settings => Media Management => Importing Settings => Media Management => Root Folders Movies => Add New SABnzbd Examples - [CLICK TO EXPAND] SABnzbd \u00b6 SABnzbd config => Folders SABnzbd config => Categories NZBGet Examples - [CLICK TO EXPAND] NZBGet \u00b6 Settings => PATHS Settings => CATEGORIES qBittorrent Examples - [CLICK TO EXPAND] qBittorrent \u00b6 Options => Downloads Deluge Example - [CLICK TO EXPAND] Deluge \u00b6 Preferences => Downloads ruTorrent Examples - [CLICK TO EXPAND] ruTorrent \u00b6 ../config/rtorrent/config/rtorrent.rc (path to your appdata) Settings => Downloads Settings => Autotools Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Dockstarter"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#dockstarter","text":"Note I'm using the default paths in this example, and will keep the other paths unchanged so nothing will break if you make a mistake.","title":"Dockstarter"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#folder-structure","text":"We're going to use a mounted drive that we're going to use as storage for downloads and your media. In this example the mounted drive will be mounted to /mnt/ with the following folder structure. storage \u251c\u2500\u2500 downloads | \u251c\u2500\u2500 torrents \u2502 | \u251c\u2500\u2500 movies \u2502 | \u251c\u2500\u2500 music \u2502 | \u2514\u2500\u2500 tv | \u2514\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 medialibrary \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#changes-to-the-env","text":"To accomplish this we need to change first a few paths in your .env (Usually ~/.docker/compose/.env ) # Global Settings COMPOSE_HTTP_TIMEOUT=60 DOCKERCONFDIR=~/.config/appdata DOCKERGID=999 DOCKERHOSTNAME=DockSTARTer DOCKERLOGGING_MAXFILE=10 DOCKERLOGGING_MAXSIZE=200k DOCKERSTORAGEDIR=/mnt/storage PGID=1000 PUID=1000 TZ=America/Chicago","title":"Changes to the .env"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#changes-to-your-paths","text":"When that's all set then you will need to change the paths you're going to use in the containers from: /downloads => /storage/downloads /audiobooks => /storage/medialibrary/audiobooks /books => /storage/medialibrary/books /comics => /storage/medialibrary/comics /movies => /storage/medialibrary/movies /music => /storage/medialibrary/music /tv => /storage/medialibrary/tv","title":"Changes to your paths"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#dockstarter-examples","text":"Info The screenshots in the examples are using the following root path /storage Sonarr Radarr SABnzbd NZBGet qBittorrent Deluge ruTorrent Sonarr Examples - [CLICK TO EXPAND]","title":"DockSTARTer Examples"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#sonarr","text":"Settings => Media Management => Importing Settings => Media Management => Root Folders Series => Add New Radarr Examples - [CLICK TO EXPAND]","title":"Sonarr"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#radarr","text":"Settings => Media Management => Importing Settings => Media Management => Root Folders Movies => Add New SABnzbd Examples - [CLICK TO EXPAND]","title":"Radarr"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#sabnzbd","text":"SABnzbd config => Folders SABnzbd config => Categories NZBGet Examples - [CLICK TO EXPAND]","title":"SABnzbd"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#nzbget","text":"Settings => PATHS Settings => CATEGORIES qBittorrent Examples - [CLICK TO EXPAND]","title":"NZBGet"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#qbittorrent","text":"Options => Downloads Deluge Example - [CLICK TO EXPAND]","title":"qBittorrent"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#deluge","text":"Preferences => Downloads ruTorrent Examples - [CLICK TO EXPAND]","title":"Deluge"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#rutorrent","text":"../config/rtorrent/config/rtorrent.rc (path to your appdata) Settings => Downloads Settings => Autotools Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"ruTorrent"},{"location":"Hardlinks/How-to-setup-for/Native/","text":"Native \u00b6 Note I'm not going to explain how to install all the applications, I will only explain which folder structure we recommend. Folder Structure \u00b6 Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Breakdown of the Folder Structure \u00b6 Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications. Permissions \u00b6 Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Native"},{"location":"Hardlinks/How-to-setup-for/Native/#native","text":"Note I'm not going to explain how to install all the applications, I will only explain which folder structure we recommend.","title":"Native"},{"location":"Hardlinks/How-to-setup-for/Native/#folder-structure","text":"Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Native/#breakdown-of-the-folder-structure","text":"","title":"Breakdown of the Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Native/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"Hardlinks/How-to-setup-for/Native/#usenet-clients","text":"NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"Hardlinks/How-to-setup-for/Native/#the-arrs","text":"Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"Hardlinks/How-to-setup-for/Native/#media-server","text":"Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications.","title":"Media Server"},{"location":"Hardlinks/How-to-setup-for/Native/#permissions","text":"Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Permissions"},{"location":"Hardlinks/How-to-setup-for/Synology/","text":"Synology \u00b6 Note Being I don't have a Synology myself and I kind of hate the Synology GUI for the dockers, I'm doing this with the use of docker-compose through a terminal. This is faster then the GUI and after installing, it shows up in the Docker GUI. Thanks to faxity for the initial compose that I used to create the Synology Guide. And a very big thanks to Bokkoman and BZwart that updated this Guide for DSM 7 and also offered their help on discord as Synology Support Team. Introduction \u00b6 This page will provide you with guidance on how to install several Docker images to your Synology system. We highly recommend to read the full guide, that way you have a better understanding of what you do, in case you later decide to make changes. Automated Script \u00b6 Automated script ( Use this script at your own risk ) - [CLICK TO EXPAND] Warning Though, we offer a short way out. This is intended as a quick way to do everything that is written on this page within one script. The script is new and only tested on Synology DSM7. We are not held reliable if anything breaks on your system. Use at your own risk To get this working you will need to enable terminal access (SSH). To enable this on your Synology take a look HERE . When you enabled the terminal access (SSH) run the following commands and follow the onscreen questions. curl -sL git.io/syno-script > ~/syno-script sudo bash ~/syno-script Install Docker \u00b6 You need to install Docker from the Package Center . This should also create a share named docker , check File Station if it is present. Create the main share \u00b6 Attention To get Hardlinks and Atomic-Moves working with your Synology you will need to make use of ONE share with subfolders. We will use a new share named data (lowercase) for all your library media. Later in this guide, we will fill this share with subfolders. To create a new share: Control Panel > Shared Folder > click Create > choose Create Shared Folder Name this shared folder data . You can disable the trash can. Click next until you are done. Create a user \u00b6 For this, we are going to create a new user that only has access to the share(s) that we use for this guide. Go to Control Panel > User & Group In the User section, create a new user. Name it whatever you like, but for this guide we will use docker . Fill out the rest of the information, generate a password or type your own. Click next, you will now be able to select which group this user will belong to, it should only be users . Click Next . Assign shared folder permissions \u00b6 In this screen you will be able to select which Shares this user will have access to, click No Access on the top, this will deny all access. Now only select Read/Write on the shares docker and data . Click Next until you reach Assign application permissions Assign application permissions \u00b6 In this screen you will be able to select which application this user will have access to, Check Deny for all applications. Continue to click Next until you are finished. SSH \u00b6 You are mostly going to use the terminal. Some parts will need the Synology web GUI. To enable terminal, you need to enable SSH in the Synology Settings. Control Panel > Terminal & SNMP > Enable SSH service Then use a program like Putty to SSH into your Synology. Enter the login information of a Synology user account that has admin priveliges, as only members of the 'administrators' user group are able to use SSH. If you get a popup asking if you want to trust the key, Just press OK or ACCEPT PUID and PGID \u00b6 In order for the Docker container to access the shares on the Synology, we need to know the user ID (PUID) and group ID (PGID) from the docker user we just created. Go into your terminal app, login to your synology ssh. Once logged in type id $user . Change $user to the newly created username docker . This will show you the UID (aka PUID). Which in this screenshot is 1035 for the docker user and the GID (aka PGID) which is 100 for the users group. Remember these values for later use. Attention It is not recommended to use (anymore) your admin/main user account. That is why we just created a new user. Folder Structure \u00b6 For this example we're going to make use of the share called data . On the host (Synology) terminal you will need to add /volume1/ before it. So /volume1/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The library folder has nicely named tv , movies and music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self. I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Breakdown of the Folder Structure \u00b6 Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications. Create the needed subfolder \u00b6 Here we will create the needed subfolders for your media library and also for your preferred download client. If you use both then run both commands If you use usenet \u00b6 mkdir -p /volume1/data/ { usenet/ { tv,movies,music } ,media/ { tv,movies,music }} If you use torrents \u00b6 mkdir -p /volume1/data/ { torrents/ { tv,movies,music } ,media/ { tv,movies,music }} Appdata \u00b6 Your appdata will be stored in /volume1/docker/appdata/{appname} These {appname} sub folders you need to create your self. ( This is a limitation of the Synology ) We're going to do this in Putty or a similar program. mkdir -p /volume1/docker/appdata/ { radarr,sonarr,bazarr,plex,pullio } You can add your own sub folders for your download client(s) using the command above, by adding the name to the command. So your appdata folder will look like this. ls -al /volume1/docker/appdata docker \u2514\u2500\u2500 appdata \u251c\u2500\u2500 radarr \u251c\u2500\u2500 sonarr \u251c\u2500\u2500 bazarr \u251c\u2500\u2500 plex \u251c\u2500\u2500 pullio \u2514\u2500\u2500 (your download client, i.e. nzbget; sabnzbd; qbittorrent) Needed files \u00b6 Now we are ready to move to the installation of containers. For this, we need two files: docker-compose.yml .env We will start with downloading the docker-compose.yml file Download this docker-compose.yml to your /volume1/docker/appdata location so you got your important stuff together. Or use the command below: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/docker-compose.yml -P /volume1/docker/appdata/ Whats included and Whats not included \u00b6 What's included and What's not included - [CLICK TO EXPAND] This docker-compose file will have the following docker containers included. Radarr Sonarr Bazarr (Subtitle searcher and downloader) Plex What's not included (and where are the download clients?). I didn't add a download client to it, because it depends on what you prefer (usenet/torrent) and which client you prefer, so I created a new Repository on Github where I provide and maintain some templates that are ready to use with the main docker-compose.yml . The only thing you need to do is copy/paste what's inside the .yml file in to the main docker-compose.yml , the template also has the command what you need to use to create the appdata folder that we explained earlier. Second we will download the .env file Download this .env to your /volume1/docker/appdata location so you got your important stuff together. Or use this command: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/.env -P /volume1/docker/appdata/ Attention MAKE SURE THE FILE KEEPS THE ORIGINAL NAME .env WITH THE DOT BEFORE IT Changes and preparations \u00b6 Tip If you need to edit docker-compose.yml or the .env file we advise to use Notepad++ or Visual Studio Code The .env file we downloaded holds the variables/information you need to change in order for everything to work. I added explanations in the .env file. DOCKERCONFDIR (only change this if you know what you're doing and decide to use another path than this guide used) DOCKERDATADIR (only change this if you know what you're doing and decide to use another path than this guide used) PUID/PGID (this info you got earlier from HERE TZ (Change to your timezone, can be found HERE Install and Create a task scheduler for Pullio, so your containers stay up to date. The .env holds more variables/information for other containers you don't need to remove those variables and will be only used when you install the other containers. Pullio - Auto update docker-compose the correct way \u00b6 Pullio allows you to automatically update your containers. And send you a notification through various means. In my setup, I use a Discord Webhook. First you need to download Pullio sudo curl -fsSL \"https://raw.githubusercontent.com/hotio/pullio/master/pullio.sh\" -o /usr/local/bin/pullio sudo chmod +x /usr/local/bin/pullio For Pullio to work, you will need to create in your Task Scheduler a \"Scheduled Task\" that runs for example at 4am at night with root privileges. Control Panel > Task Scheduler > click Create > choose Scheduled task - user defined script Give the task a name so you know what it does. Choose user root . In the Schedule tab choose whenever you want it to check for updates. At Task Settings tab, add the following line in the Run Command section: /usr/local/bin/pullio > /volume1/docker/appdata/pullio/pullio.log 2 > & 1 It can be frustrating to test the script if no docker image updates are available, for that you can run command sudo pullio --debug and the script will behave as if an update is available. If you have set to receive notifications, you should receive them. More info about Pullio HERE Permissions \u00b6 Now we need to make sure that the newly created files and folders have the correct permissions. Note If you're using a different user than docker (the user generated in the beginning), then you need to change the docker:users part in the commands below!!! sudo chown -R docker:users /volume1/data /volume1/docker sudo chmod -R a = ,a+rX,u+w,g+w /volume1/data /volume1/docker Note If you copy files from a different library into the newly created library, you need to rerun these commands. !!! Run the Docker Compose \u00b6 Important make sure you delete/remove all your existing dockers from the Docker GUI and also remove your native installs (in Package Center) of these applications !!! If you had previous installed apps, make a backup of their config folders. When you did all the above steps you only need to run the following commands: cd /volume1/docker/appdata sudo docker-compose up -d You will notice that all the images will be downloaded, after that the containers will be started. If you get a error then look at the error what it says and try to fix it. If you still got issues then put your used docker-compose.yml on 0bin and join the guides-discord here and provide the pastebin link with the error, have patience because of timezone differences. Don't forget to look at the Examples how to setup the paths inside your applications. Attention If you need to do any changes, only edit the docker-compose.yml file. To activate the changes, run the command sudo docker-compose -f /volume1/docker/appdata/docker-compose.yml up -d again. Any changes you do/did in the GUI will be reverted when you run the docker-compose command. Just don't use the GUI, only for information purposes !!! Docker-Compose Commands \u00b6 docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Synology"},{"location":"Hardlinks/How-to-setup-for/Synology/#synology","text":"Note Being I don't have a Synology myself and I kind of hate the Synology GUI for the dockers, I'm doing this with the use of docker-compose through a terminal. This is faster then the GUI and after installing, it shows up in the Docker GUI. Thanks to faxity for the initial compose that I used to create the Synology Guide. And a very big thanks to Bokkoman and BZwart that updated this Guide for DSM 7 and also offered their help on discord as Synology Support Team.","title":"Synology"},{"location":"Hardlinks/How-to-setup-for/Synology/#introduction","text":"This page will provide you with guidance on how to install several Docker images to your Synology system. We highly recommend to read the full guide, that way you have a better understanding of what you do, in case you later decide to make changes.","title":"Introduction"},{"location":"Hardlinks/How-to-setup-for/Synology/#automated-script","text":"Automated script ( Use this script at your own risk ) - [CLICK TO EXPAND] Warning Though, we offer a short way out. This is intended as a quick way to do everything that is written on this page within one script. The script is new and only tested on Synology DSM7. We are not held reliable if anything breaks on your system. Use at your own risk To get this working you will need to enable terminal access (SSH). To enable this on your Synology take a look HERE . When you enabled the terminal access (SSH) run the following commands and follow the onscreen questions. curl -sL git.io/syno-script > ~/syno-script sudo bash ~/syno-script","title":"Automated Script"},{"location":"Hardlinks/How-to-setup-for/Synology/#install-docker","text":"You need to install Docker from the Package Center . This should also create a share named docker , check File Station if it is present.","title":"Install Docker"},{"location":"Hardlinks/How-to-setup-for/Synology/#create-the-main-share","text":"Attention To get Hardlinks and Atomic-Moves working with your Synology you will need to make use of ONE share with subfolders. We will use a new share named data (lowercase) for all your library media. Later in this guide, we will fill this share with subfolders. To create a new share: Control Panel > Shared Folder > click Create > choose Create Shared Folder Name this shared folder data . You can disable the trash can. Click next until you are done.","title":"Create the main share"},{"location":"Hardlinks/How-to-setup-for/Synology/#create-a-user","text":"For this, we are going to create a new user that only has access to the share(s) that we use for this guide. Go to Control Panel > User & Group In the User section, create a new user. Name it whatever you like, but for this guide we will use docker . Fill out the rest of the information, generate a password or type your own. Click next, you will now be able to select which group this user will belong to, it should only be users . Click Next .","title":"Create a user"},{"location":"Hardlinks/How-to-setup-for/Synology/#assign-shared-folder-permissions","text":"In this screen you will be able to select which Shares this user will have access to, click No Access on the top, this will deny all access. Now only select Read/Write on the shares docker and data . Click Next until you reach Assign application permissions","title":"Assign shared folder permissions"},{"location":"Hardlinks/How-to-setup-for/Synology/#assign-application-permissions","text":"In this screen you will be able to select which application this user will have access to, Check Deny for all applications. Continue to click Next until you are finished.","title":"Assign application permissions"},{"location":"Hardlinks/How-to-setup-for/Synology/#ssh","text":"You are mostly going to use the terminal. Some parts will need the Synology web GUI. To enable terminal, you need to enable SSH in the Synology Settings. Control Panel > Terminal & SNMP > Enable SSH service Then use a program like Putty to SSH into your Synology. Enter the login information of a Synology user account that has admin priveliges, as only members of the 'administrators' user group are able to use SSH. If you get a popup asking if you want to trust the key, Just press OK or ACCEPT","title":"SSH"},{"location":"Hardlinks/How-to-setup-for/Synology/#puid-and-pgid","text":"In order for the Docker container to access the shares on the Synology, we need to know the user ID (PUID) and group ID (PGID) from the docker user we just created. Go into your terminal app, login to your synology ssh. Once logged in type id $user . Change $user to the newly created username docker . This will show you the UID (aka PUID). Which in this screenshot is 1035 for the docker user and the GID (aka PGID) which is 100 for the users group. Remember these values for later use. Attention It is not recommended to use (anymore) your admin/main user account. That is why we just created a new user.","title":"PUID and PGID"},{"location":"Hardlinks/How-to-setup-for/Synology/#folder-structure","text":"For this example we're going to make use of the share called data . On the host (Synology) terminal you will need to add /volume1/ before it. So /volume1/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The library folder has nicely named tv , movies and music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self. I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Synology/#breakdown-of-the-folder-structure","text":"","title":"Breakdown of the Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Synology/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"Hardlinks/How-to-setup-for/Synology/#usenet-clients","text":"NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"Hardlinks/How-to-setup-for/Synology/#the-arrs","text":"Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"Hardlinks/How-to-setup-for/Synology/#media-server","text":"Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications.","title":"Media Server"},{"location":"Hardlinks/How-to-setup-for/Synology/#create-the-needed-subfolder","text":"Here we will create the needed subfolders for your media library and also for your preferred download client. If you use both then run both commands","title":"Create the needed subfolder"},{"location":"Hardlinks/How-to-setup-for/Synology/#if-you-use-usenet","text":"mkdir -p /volume1/data/ { usenet/ { tv,movies,music } ,media/ { tv,movies,music }}","title":"If you use usenet"},{"location":"Hardlinks/How-to-setup-for/Synology/#if-you-use-torrents","text":"mkdir -p /volume1/data/ { torrents/ { tv,movies,music } ,media/ { tv,movies,music }}","title":"If you use torrents"},{"location":"Hardlinks/How-to-setup-for/Synology/#appdata","text":"Your appdata will be stored in /volume1/docker/appdata/{appname} These {appname} sub folders you need to create your self. ( This is a limitation of the Synology ) We're going to do this in Putty or a similar program. mkdir -p /volume1/docker/appdata/ { radarr,sonarr,bazarr,plex,pullio } You can add your own sub folders for your download client(s) using the command above, by adding the name to the command. So your appdata folder will look like this. ls -al /volume1/docker/appdata docker \u2514\u2500\u2500 appdata \u251c\u2500\u2500 radarr \u251c\u2500\u2500 sonarr \u251c\u2500\u2500 bazarr \u251c\u2500\u2500 plex \u251c\u2500\u2500 pullio \u2514\u2500\u2500 (your download client, i.e. nzbget; sabnzbd; qbittorrent)","title":"Appdata"},{"location":"Hardlinks/How-to-setup-for/Synology/#needed-files","text":"Now we are ready to move to the installation of containers. For this, we need two files: docker-compose.yml .env We will start with downloading the docker-compose.yml file Download this docker-compose.yml to your /volume1/docker/appdata location so you got your important stuff together. Or use the command below: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/docker-compose.yml -P /volume1/docker/appdata/","title":"Needed files"},{"location":"Hardlinks/How-to-setup-for/Synology/#whats-included-and-whats-not-included","text":"What's included and What's not included - [CLICK TO EXPAND] This docker-compose file will have the following docker containers included. Radarr Sonarr Bazarr (Subtitle searcher and downloader) Plex What's not included (and where are the download clients?). I didn't add a download client to it, because it depends on what you prefer (usenet/torrent) and which client you prefer, so I created a new Repository on Github where I provide and maintain some templates that are ready to use with the main docker-compose.yml . The only thing you need to do is copy/paste what's inside the .yml file in to the main docker-compose.yml , the template also has the command what you need to use to create the appdata folder that we explained earlier. Second we will download the .env file Download this .env to your /volume1/docker/appdata location so you got your important stuff together. Or use this command: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/.env -P /volume1/docker/appdata/ Attention MAKE SURE THE FILE KEEPS THE ORIGINAL NAME .env WITH THE DOT BEFORE IT","title":"Whats included and Whats not included"},{"location":"Hardlinks/How-to-setup-for/Synology/#changes-and-preparations","text":"Tip If you need to edit docker-compose.yml or the .env file we advise to use Notepad++ or Visual Studio Code The .env file we downloaded holds the variables/information you need to change in order for everything to work. I added explanations in the .env file. DOCKERCONFDIR (only change this if you know what you're doing and decide to use another path than this guide used) DOCKERDATADIR (only change this if you know what you're doing and decide to use another path than this guide used) PUID/PGID (this info you got earlier from HERE TZ (Change to your timezone, can be found HERE Install and Create a task scheduler for Pullio, so your containers stay up to date. The .env holds more variables/information for other containers you don't need to remove those variables and will be only used when you install the other containers.","title":"Changes and preparations"},{"location":"Hardlinks/How-to-setup-for/Synology/#pullio-auto-update-docker-compose-the-correct-way","text":"Pullio allows you to automatically update your containers. And send you a notification through various means. In my setup, I use a Discord Webhook. First you need to download Pullio sudo curl -fsSL \"https://raw.githubusercontent.com/hotio/pullio/master/pullio.sh\" -o /usr/local/bin/pullio sudo chmod +x /usr/local/bin/pullio For Pullio to work, you will need to create in your Task Scheduler a \"Scheduled Task\" that runs for example at 4am at night with root privileges. Control Panel > Task Scheduler > click Create > choose Scheduled task - user defined script Give the task a name so you know what it does. Choose user root . In the Schedule tab choose whenever you want it to check for updates. At Task Settings tab, add the following line in the Run Command section: /usr/local/bin/pullio > /volume1/docker/appdata/pullio/pullio.log 2 > & 1 It can be frustrating to test the script if no docker image updates are available, for that you can run command sudo pullio --debug and the script will behave as if an update is available. If you have set to receive notifications, you should receive them. More info about Pullio HERE","title":"Pullio - Auto update docker-compose the correct way"},{"location":"Hardlinks/How-to-setup-for/Synology/#permissions","text":"Now we need to make sure that the newly created files and folders have the correct permissions. Note If you're using a different user than docker (the user generated in the beginning), then you need to change the docker:users part in the commands below!!! sudo chown -R docker:users /volume1/data /volume1/docker sudo chmod -R a = ,a+rX,u+w,g+w /volume1/data /volume1/docker Note If you copy files from a different library into the newly created library, you need to rerun these commands. !!!","title":"Permissions"},{"location":"Hardlinks/How-to-setup-for/Synology/#run-the-docker-compose","text":"Important make sure you delete/remove all your existing dockers from the Docker GUI and also remove your native installs (in Package Center) of these applications !!! If you had previous installed apps, make a backup of their config folders. When you did all the above steps you only need to run the following commands: cd /volume1/docker/appdata sudo docker-compose up -d You will notice that all the images will be downloaded, after that the containers will be started. If you get a error then look at the error what it says and try to fix it. If you still got issues then put your used docker-compose.yml on 0bin and join the guides-discord here and provide the pastebin link with the error, have patience because of timezone differences. Don't forget to look at the Examples how to setup the paths inside your applications. Attention If you need to do any changes, only edit the docker-compose.yml file. To activate the changes, run the command sudo docker-compose -f /volume1/docker/appdata/docker-compose.yml up -d again. Any changes you do/did in the GUI will be reverted when you run the docker-compose command. Just don't use the GUI, only for information purposes !!!","title":"Run the Docker Compose"},{"location":"Hardlinks/How-to-setup-for/Synology/#docker-compose-commands","text":"docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Docker-Compose Commands"},{"location":"Hardlinks/How-to-setup-for/Unraid/","text":"Unraid \u00b6 Note The first thing you need to do is forget the suggested paths from the Spaceinvader One YouTube Tutorials, and don't use the predefined paths from the unraid templates. (Spaceinvader One YouTube guides are great to learn how to start with unraid or how to setup certain applications, and yes I did and still do use them. Probably the main reason why he's using those path is because they are predefined in the template) Create the main share \u00b6 Attention To get Hardlinks and Atomic-Moves working with Unraid you will need to make use of ONE share with subfolders. For this example I'm using my own setup and preferred share data . Go to your dashboard and on the top select shares select add share . use data if you got a cache drive and want to make use of it put it on Yes or keep it disabled (Hardlinks will stay in tact if you're using the cache) click on ADD SHARE Note Keep in mind regarding the use of the Cache drive, The mover can't move files that are in use, like when seeding with torrents. You will need to shutdown your client or stop/pause the torrents so the mover can move them to your Array. With Usenet you won't have any issues. Folder Structure \u00b6 On the host (Unraid) you will need to add /mnt/user before it. So /mnt/user/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self, you can use krusader or winscp to create them or any other way you prefer. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv I'm using lower case on all folder on purpose, being Linux is case sensitive. Breakdown of the Folder Structure \u00b6 Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used. Setting up the containers \u00b6 After you created all the needed folders it's time to setup the paths in the docker containers. Go to your dashboard and select your docker container you want to edit or if you're starting fresh add the docker containers you want to use or prefer. Unraid makes it actually pretty clear what's the Host Path and what's the Container Path. Container Path: => The path that will be used inside the container. Host Path: => The path on your Unraid Server (The Host). Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent Container Path: => /data/torrents/ Host Path: => /mnt/user/data/torrents/ Info The reason why we use /data/torrents/ for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd Container Path: => /data/usenet/ Host Path: => /mnt/user/data/usenet/ Info The reason why we use /data/usenet/ for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Container Path: => /data Host Path: => /mnt/user/data/ Info Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Container Path: => /data/media Host Path: => /mnt/user/data/media/ Info Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Final Result \u00b6 Don't forget to look at the Examples how to setup the paths inside your applications. Video Tutorial \u00b6 Big Thanks to IBRACORP for noticing this Guide and creating a Video covering this unraid section. The reason why I added the video to the end is because I want the user to actually learn and understand why it's recommended to use this folder structure, before going straight to the YouTube video. Please don't forget to check out his other Unraid Video's HERE Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Unraid"},{"location":"Hardlinks/How-to-setup-for/Unraid/#unraid","text":"Note The first thing you need to do is forget the suggested paths from the Spaceinvader One YouTube Tutorials, and don't use the predefined paths from the unraid templates. (Spaceinvader One YouTube guides are great to learn how to start with unraid or how to setup certain applications, and yes I did and still do use them. Probably the main reason why he's using those path is because they are predefined in the template)","title":"Unraid"},{"location":"Hardlinks/How-to-setup-for/Unraid/#create-the-main-share","text":"Attention To get Hardlinks and Atomic-Moves working with Unraid you will need to make use of ONE share with subfolders. For this example I'm using my own setup and preferred share data . Go to your dashboard and on the top select shares select add share . use data if you got a cache drive and want to make use of it put it on Yes or keep it disabled (Hardlinks will stay in tact if you're using the cache) click on ADD SHARE Note Keep in mind regarding the use of the Cache drive, The mover can't move files that are in use, like when seeding with torrents. You will need to shutdown your client or stop/pause the torrents so the mover can move them to your Array. With Usenet you won't have any issues.","title":"Create the main share"},{"location":"Hardlinks/How-to-setup-for/Unraid/#folder-structure","text":"On the host (Unraid) you will need to add /mnt/user before it. So /mnt/user/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self, you can use krusader or winscp to create them or any other way you prefer. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv I'm using lower case on all folder on purpose, being Linux is case sensitive.","title":"Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Unraid/#breakdown-of-the-folder-structure","text":"Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used.","title":"Breakdown of the Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Unraid/#setting-up-the-containers","text":"After you created all the needed folders it's time to setup the paths in the docker containers. Go to your dashboard and select your docker container you want to edit or if you're starting fresh add the docker containers you want to use or prefer. Unraid makes it actually pretty clear what's the Host Path and what's the Container Path. Container Path: => The path that will be used inside the container. Host Path: => The path on your Unraid Server (The Host).","title":"Setting up the containers"},{"location":"Hardlinks/How-to-setup-for/Unraid/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent Container Path: => /data/torrents/ Host Path: => /mnt/user/data/torrents/ Info The reason why we use /data/torrents/ for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"Hardlinks/How-to-setup-for/Unraid/#usenet-clients","text":"NZBGet or SABnzbd Container Path: => /data/usenet/ Host Path: => /mnt/user/data/usenet/ Info The reason why we use /data/usenet/ for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"Hardlinks/How-to-setup-for/Unraid/#the-arrs","text":"Sonarr, Radarr and Lidarr Container Path: => /data Host Path: => /mnt/user/data/ Info Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"Hardlinks/How-to-setup-for/Unraid/#media-server","text":"Plex, Emby, JellyFin and Bazarr Container Path: => /data/media Host Path: => /mnt/user/data/media/ Info Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Media Server"},{"location":"Hardlinks/How-to-setup-for/Unraid/#final-result","text":"Don't forget to look at the Examples how to setup the paths inside your applications.","title":"Final Result"},{"location":"Hardlinks/How-to-setup-for/Unraid/#video-tutorial","text":"Big Thanks to IBRACORP for noticing this Guide and creating a Video covering this unraid section. The reason why I added the video to the end is because I want the user to actually learn and understand why it's recommended to use this folder structure, before going straight to the YouTube video. Please don't forget to check out his other Unraid Video's HERE Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Video Tutorial"},{"location":"How-to-setup-for/","text":"How to setup for \u00b6 In this section you will find several how-to's for installation of the *arrs. This is all done in a way to achieve Hardlinks and Instant Moves (Atomic-Moves) . Select your desired method of installation: Docker Dockstarter Native Synology Unraid","title":"How to setup for"},{"location":"How-to-setup-for/#how-to-setup-for","text":"In this section you will find several how-to's for installation of the *arrs. This is all done in a way to achieve Hardlinks and Instant Moves (Atomic-Moves) . Select your desired method of installation: Docker Dockstarter Native Synology Unraid","title":"How to setup for"},{"location":"How-to-setup-for/Docker/","text":"Docker \u00b6 Tip If you're new to dockers and want a easy setup I suggest to take a look at DockSTARTer . I've also created a short guide HERE where I explain the settings for the most used applications. The main goal of DockSTARTer is to make it quick and easy to get up and running with Docker. You may choose to rely on DockSTARTer for various changes to your Docker system or use DockSTARTer as a stepping stone and learn to do more advanced configurations. DockSTARTer was actually my first steps in to the world of dockers. Note I'm not going to explain how to get dockers installed and running, I will only explain which folder structure we recommend. The paths mentioned below refer to internal paths for the containers! External paths depends where you mounted your share or your drives. For example //data , or even /data . Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used. Folder Structure \u00b6 Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Breakdown of the Folder Structure \u00b6 Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications. Permissions \u00b6 Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data Docker-compose Example \u00b6 This is a docker-compose example based on a default Ubuntu install. The storage location used for the host is actually the same as in the container to make it easier to understand in this case /data . The appdata ( /config ) will be stored on the host in the /docker/appdata/{appname} docker-compose - [CLICK TO EXPAND] version: \"3.2\" services: radarr: container_name: radarr image: cr.hotio.dev/hotio/radarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 7878:7878 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/radarr:/config - /data:/data sonarr: container_name: sonarr image: cr.hotio.dev/hotio/sonarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8989:8989 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sonarr:/config - /data:/data bazarr: container_name: bazarr image: cr.hotio.dev/hotio/bazarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 6767:6767 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/bazarr:/config - /data/media:/data/media sabnzbd: container_name: sabnzbd image: cr.hotio.dev/hotio/sabnzbd:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8080:8080 - 9090:9090 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sabnzbd:/config - /data/usenet:/data/usenet:rw Docker-Compose Commands \u00b6 docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Docker"},{"location":"How-to-setup-for/Docker/#docker","text":"Tip If you're new to dockers and want a easy setup I suggest to take a look at DockSTARTer . I've also created a short guide HERE where I explain the settings for the most used applications. The main goal of DockSTARTer is to make it quick and easy to get up and running with Docker. You may choose to rely on DockSTARTer for various changes to your Docker system or use DockSTARTer as a stepping stone and learn to do more advanced configurations. DockSTARTer was actually my first steps in to the world of dockers. Note I'm not going to explain how to get dockers installed and running, I will only explain which folder structure we recommend. The paths mentioned below refer to internal paths for the containers! External paths depends where you mounted your share or your drives. For example //data , or even /data . Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used.","title":"Docker"},{"location":"How-to-setup-for/Docker/#folder-structure","text":"Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"How-to-setup-for/Docker/#breakdown-of-the-folder-structure","text":"","title":"Breakdown of the Folder Structure"},{"location":"How-to-setup-for/Docker/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"How-to-setup-for/Docker/#usenet-clients","text":"NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"How-to-setup-for/Docker/#the-arrs","text":"Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"How-to-setup-for/Docker/#media-server","text":"Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications.","title":"Media Server"},{"location":"How-to-setup-for/Docker/#permissions","text":"Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data","title":"Permissions"},{"location":"How-to-setup-for/Docker/#docker-compose-example","text":"This is a docker-compose example based on a default Ubuntu install. The storage location used for the host is actually the same as in the container to make it easier to understand in this case /data . The appdata ( /config ) will be stored on the host in the /docker/appdata/{appname} docker-compose - [CLICK TO EXPAND] version: \"3.2\" services: radarr: container_name: radarr image: cr.hotio.dev/hotio/radarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 7878:7878 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/radarr:/config - /data:/data sonarr: container_name: sonarr image: cr.hotio.dev/hotio/sonarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8989:8989 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sonarr:/config - /data:/data bazarr: container_name: bazarr image: cr.hotio.dev/hotio/bazarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 6767:6767 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/bazarr:/config - /data/media:/data/media sabnzbd: container_name: sabnzbd image: cr.hotio.dev/hotio/sabnzbd:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8080:8080 - 9090:9090 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sabnzbd:/config - /data/usenet:/data/usenet:rw","title":"Docker-compose Example"},{"location":"How-to-setup-for/Docker/#docker-compose-commands","text":"docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Docker-Compose Commands"},{"location":"How-to-setup-for/Dockstarter/","text":"Dockstarter \u00b6 Note I'm using the default paths in this example, and will keep the other paths unchanged so nothing will break if you make a mistake. Folder Structure \u00b6 We're going to use a mounted drive that we're going to use as storage for downloads and your media. In this example the mounted drive will be mounted to /mnt/ with the following folder structure. storage \u251c\u2500\u2500 downloads | \u251c\u2500\u2500 torrents \u2502 | \u251c\u2500\u2500 movies \u2502 | \u251c\u2500\u2500 music \u2502 | \u2514\u2500\u2500 tv | \u2514\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 medialibrary \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Changes to the .env \u00b6 To accomplish this we need to change first a few paths in your .env (Usually ~/.docker/compose/.env ) # Global Settings COMPOSE_HTTP_TIMEOUT=60 DOCKERCONFDIR=~/.config/appdata DOCKERGID=999 DOCKERHOSTNAME=DockSTARTer DOCKERLOGGING_MAXFILE=10 DOCKERLOGGING_MAXSIZE=200k DOCKERSTORAGEDIR=/mnt/storage PGID=1000 PUID=1000 TZ=America/Chicago Changes to your paths \u00b6 When that's all set then you will need to change the paths you're going to use in the containers from: /downloads => /storage/downloads /audiobooks => /storage/medialibrary/audiobooks /books => /storage/medialibrary/books /comics => /storage/medialibrary/comics /movies => /storage/medialibrary/movies /music => /storage/medialibrary/music /tv => /storage/medialibrary/tv DockSTARTer Examples \u00b6 Info The screenshots in the examples are using the following root path /storage Sonarr Radarr SABnzbd NZBGet qBittorrent Deluge ruTorrent Sonarr Examples - [CLICK TO EXPAND] Sonarr \u00b6 Settings => Media Management => Importing Settings => Media Management => Root Folders Series => Add New Radarr Examples - [CLICK TO EXPAND] Radarr \u00b6 Settings => Media Management => Importing Settings => Media Management => Root Folders Movies => Add New SABnzbd Examples - [CLICK TO EXPAND] SABnzbd \u00b6 SABnzbd config => Folders SABnzbd config => Categories NZBGet Examples - [CLICK TO EXPAND] NZBGet \u00b6 Settings => PATHS Settings => CATEGORIES qBittorrent Examples - [CLICK TO EXPAND] qBittorrent \u00b6 Options => Downloads Deluge Example - [CLICK TO EXPAND] Deluge \u00b6 Preferences => Downloads ruTorrent Examples - [CLICK TO EXPAND] ruTorrent \u00b6 ../config/rtorrent/config/rtorrent.rc (path to your appdata) Settings => Downloads Settings => Autotools Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Dockstarter"},{"location":"How-to-setup-for/Dockstarter/#dockstarter","text":"Note I'm using the default paths in this example, and will keep the other paths unchanged so nothing will break if you make a mistake.","title":"Dockstarter"},{"location":"How-to-setup-for/Dockstarter/#folder-structure","text":"We're going to use a mounted drive that we're going to use as storage for downloads and your media. In this example the mounted drive will be mounted to /mnt/ with the following folder structure. storage \u251c\u2500\u2500 downloads | \u251c\u2500\u2500 torrents \u2502 | \u251c\u2500\u2500 movies \u2502 | \u251c\u2500\u2500 music \u2502 | \u2514\u2500\u2500 tv | \u2514\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 medialibrary \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"How-to-setup-for/Dockstarter/#changes-to-the-env","text":"To accomplish this we need to change first a few paths in your .env (Usually ~/.docker/compose/.env ) # Global Settings COMPOSE_HTTP_TIMEOUT=60 DOCKERCONFDIR=~/.config/appdata DOCKERGID=999 DOCKERHOSTNAME=DockSTARTer DOCKERLOGGING_MAXFILE=10 DOCKERLOGGING_MAXSIZE=200k DOCKERSTORAGEDIR=/mnt/storage PGID=1000 PUID=1000 TZ=America/Chicago","title":"Changes to the .env"},{"location":"How-to-setup-for/Dockstarter/#changes-to-your-paths","text":"When that's all set then you will need to change the paths you're going to use in the containers from: /downloads => /storage/downloads /audiobooks => /storage/medialibrary/audiobooks /books => /storage/medialibrary/books /comics => /storage/medialibrary/comics /movies => /storage/medialibrary/movies /music => /storage/medialibrary/music /tv => /storage/medialibrary/tv","title":"Changes to your paths"},{"location":"How-to-setup-for/Dockstarter/#dockstarter-examples","text":"Info The screenshots in the examples are using the following root path /storage Sonarr Radarr SABnzbd NZBGet qBittorrent Deluge ruTorrent Sonarr Examples - [CLICK TO EXPAND]","title":"DockSTARTer Examples"},{"location":"How-to-setup-for/Dockstarter/#sonarr","text":"Settings => Media Management => Importing Settings => Media Management => Root Folders Series => Add New Radarr Examples - [CLICK TO EXPAND]","title":"Sonarr"},{"location":"How-to-setup-for/Dockstarter/#radarr","text":"Settings => Media Management => Importing Settings => Media Management => Root Folders Movies => Add New SABnzbd Examples - [CLICK TO EXPAND]","title":"Radarr"},{"location":"How-to-setup-for/Dockstarter/#sabnzbd","text":"SABnzbd config => Folders SABnzbd config => Categories NZBGet Examples - [CLICK TO EXPAND]","title":"SABnzbd"},{"location":"How-to-setup-for/Dockstarter/#nzbget","text":"Settings => PATHS Settings => CATEGORIES qBittorrent Examples - [CLICK TO EXPAND]","title":"NZBGet"},{"location":"How-to-setup-for/Dockstarter/#qbittorrent","text":"Options => Downloads Deluge Example - [CLICK TO EXPAND]","title":"qBittorrent"},{"location":"How-to-setup-for/Dockstarter/#deluge","text":"Preferences => Downloads ruTorrent Examples - [CLICK TO EXPAND]","title":"Deluge"},{"location":"How-to-setup-for/Dockstarter/#rutorrent","text":"../config/rtorrent/config/rtorrent.rc (path to your appdata) Settings => Downloads Settings => Autotools Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"ruTorrent"},{"location":"How-to-setup-for/Native/","text":"Native \u00b6 Note I'm not going to explain how to install all the applications, I will only explain which folder structure we recommend. Folder Structure \u00b6 Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Breakdown of the Folder Structure \u00b6 Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications. Permissions \u00b6 Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Native"},{"location":"How-to-setup-for/Native/#native","text":"Note I'm not going to explain how to install all the applications, I will only explain which folder structure we recommend.","title":"Native"},{"location":"How-to-setup-for/Native/#folder-structure","text":"Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"How-to-setup-for/Native/#breakdown-of-the-folder-structure","text":"","title":"Breakdown of the Folder Structure"},{"location":"How-to-setup-for/Native/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"How-to-setup-for/Native/#usenet-clients","text":"NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"How-to-setup-for/Native/#the-arrs","text":"Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"How-to-setup-for/Native/#media-server","text":"Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications.","title":"Media Server"},{"location":"How-to-setup-for/Native/#permissions","text":"Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Permissions"},{"location":"How-to-setup-for/Synology/","text":"Synology \u00b6 Note Being I don't have a Synology myself and I kind of hate the Synology GUI for the dockers, I'm doing this with the use of docker-compose through a terminal. This is faster then the GUI and after installing, it shows up in the Docker GUI. Thanks to faxity for the initial compose that I used to create the Synology Guide. And a very big thanks to Bokkoman and BZwart that updated this Guide for DSM 7 and also offered their help on discord as Synology Support Team. Introduction \u00b6 This page will provide you with guidance on how to install several Docker images to your Synology system. We highly recommend to read the full guide, that way you have a better understanding of what you do, in case you later decide to make changes. Automated Script \u00b6 Automated script ( Use this script at your own risk ) - [CLICK TO EXPAND] Warning Though, we offer a short way out. This is intended as a quick way to do everything that is written on this page within one script. The script is new and only tested on Synology DSM7. We are not held reliable if anything breaks on your system. Use at your own risk To get this working you will need to enable terminal access (SSH). To enable this on your Synology take a look HERE . When you enabled the terminal access (SSH) run the following commands and follow the onscreen questions. curl -sL git.io/syno-script > ~/syno-script sudo bash ~/syno-script Install Docker \u00b6 You need to install Docker from the Package Center . This should also create a share named docker , check File Station if it is present. Create the main share \u00b6 Attention To get Hardlinks and Atomic-Moves working with your Synology you will need to make use of ONE share with subfolders. We will use a new share named data (lowercase) for all your library media. Later in this guide, we will fill this share with subfolders. To create a new share: Control Panel > Shared Folder > click Create > choose Create Shared Folder Name this shared folder data . You can disable the trash can. Click next until you are done. Create a user \u00b6 For this, we are going to create a new user that only has access to the share(s) that we use for this guide. Go to Control Panel > User & Group In the User section, create a new user. Name it whatever you like, but for this guide we will use docker . Fill out the rest of the information, generate a password or type your own. Click next, you will now be able to select which group this user will belong to, it should only be users . Click Next . Assign shared folder permissions \u00b6 In this screen you will be able to select which Shares this user will have access to, click No Access on the top, this will deny all access. Now only select Read/Write on the shares docker and data . Click Next until you reach Assign application permissions Assign application permissions \u00b6 In this screen you will be able to select which application this user will have access to, Check Deny for all applications. Continue to click Next until you are finished. SSH \u00b6 You are mostly going to use the terminal. Some parts will need the Synology web GUI. To enable terminal, you need to enable SSH in the Synology Settings. Control Panel > Terminal & SNMP > Enable SSH service Then use a program like Putty to SSH into your Synology. Enter the login information of a Synology user account that has admin priveliges, as only members of the 'administrators' user group are able to use SSH. If you get a popup asking if you want to trust the key, Just press OK or ACCEPT PUID and PGID \u00b6 In order for the Docker container to access the shares on the Synology, we need to know the user ID (PUID) and group ID (PGID) from the docker user we just created. Go into your terminal app, login to your synology ssh. Once logged in type id $user . Change $user to the newly created username docker . This will show you the UID (aka PUID). Which in this screenshot is 1035 for the docker user and the GID (aka PGID) which is 100 for the users group. Remember these values for later use. Attention It is not recommended to use (anymore) your admin/main user account. That is why we just created a new user. Folder Structure \u00b6 For this example we're going to make use of the share called data . On the host (Synology) terminal you will need to add /volume1/ before it. So /volume1/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The library folder has nicely named tv , movies and music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self. I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Breakdown of the Folder Structure \u00b6 Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications. Create the needed subfolder \u00b6 Here we will create the needed subfolders for your media library and also for your preferred download client. If you use both then run both commands If you use usenet \u00b6 mkdir -p /volume1/data/ { usenet/ { tv,movies,music } ,media/ { tv,movies,music }} If you use torrents \u00b6 mkdir -p /volume1/data/ { torrents/ { tv,movies,music } ,media/ { tv,movies,music }} Appdata \u00b6 Your appdata will be stored in /volume1/docker/appdata/{appname} These {appname} sub folders you need to create your self. ( This is a limitation of the Synology ) We're going to do this in Putty or a similar program. mkdir -p /volume1/docker/appdata/ { radarr,sonarr,bazarr,plex,pullio } You can add your own sub folders for your download client(s) using the command above, by adding the name to the command. So your appdata folder will look like this. ls -al /volume1/docker/appdata docker \u2514\u2500\u2500 appdata \u251c\u2500\u2500 radarr \u251c\u2500\u2500 sonarr \u251c\u2500\u2500 bazarr \u251c\u2500\u2500 plex \u251c\u2500\u2500 pullio \u2514\u2500\u2500 (your download client, i.e. nzbget; sabnzbd; qbittorrent) Needed files \u00b6 Now we are ready to move to the installation of containers. For this, we need two files: docker-compose.yml .env We will start with downloading the docker-compose.yml file Download this docker-compose.yml to your /volume1/docker/appdata location so you got your important stuff together. Or use the command below: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/docker-compose.yml -P /volume1/docker/appdata/ Whats included and Whats not included \u00b6 What's included and What's not included - [CLICK TO EXPAND] This docker-compose file will have the following docker containers included. Radarr Sonarr Bazarr (Subtitle searcher and downloader) Plex What's not included (and where are the download clients?). I didn't add a download client to it, because it depends on what you prefer (usenet/torrent) and which client you prefer, so I created a new Repository on Github where I provide and maintain some templates that are ready to use with the main docker-compose.yml . The only thing you need to do is copy/paste what's inside the .yml file in to the main docker-compose.yml , the template also has the command what you need to use to create the appdata folder that we explained earlier. Second we will download the .env file Download this .env to your /volume1/docker/appdata location so you got your important stuff together. Or use this command: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/.env -P /volume1/docker/appdata/ Attention MAKE SURE THE FILE KEEPS THE ORIGINAL NAME .env WITH THE DOT BEFORE IT Changes and preparations \u00b6 Tip If you need to edit docker-compose.yml or the .env file we advise to use Notepad++ or Visual Studio Code The .env file we downloaded holds the variables/information you need to change in order for everything to work. I added explanations in the .env file. DOCKERCONFDIR (only change this if you know what you're doing and decide to use another path than this guide used) DOCKERDATADIR (only change this if you know what you're doing and decide to use another path than this guide used) PUID/PGID (this info you got earlier from HERE TZ (Change to your timezone, can be found HERE Install and Create a task scheduler for Pullio, so your containers stay up to date. The .env holds more variables/information for other containers you don't need to remove those variables and will be only used when you install the other containers. Pullio - Auto update docker-compose the correct way \u00b6 Pullio allows you to automatically update your containers. And send you a notification through various means. In my setup, I use a Discord Webhook. First you need to download Pullio sudo curl -fsSL \"https://raw.githubusercontent.com/hotio/pullio/master/pullio.sh\" -o /usr/local/bin/pullio sudo chmod +x /usr/local/bin/pullio For Pullio to work, you will need to create in your Task Scheduler a \"Scheduled Task\" that runs for example at 4am at night with root privileges. Control Panel > Task Scheduler > click Create > choose Scheduled task - user defined script Give the task a name so you know what it does. Choose user root . In the Schedule tab choose whenever you want it to check for updates. At Task Settings tab, add the following line in the Run Command section: /usr/local/bin/pullio > /volume1/docker/appdata/pullio/pullio.log 2 > & 1 It can be frustrating to test the script if no docker image updates are available, for that you can run command sudo pullio --debug and the script will behave as if an update is available. If you have set to receive notifications, you should receive them. More info about Pullio HERE Permissions \u00b6 Now we need to make sure that the newly created files and folders have the correct permissions. Note If you're using a different user than docker (the user generated in the beginning), then you need to change the docker:users part in the commands below!!! sudo chown -R docker:users /volume1/data /volume1/docker sudo chmod -R a = ,a+rX,u+w,g+w /volume1/data /volume1/docker Note If you copy files from a different library into the newly created library, you need to rerun these commands. !!! Run the Docker Compose \u00b6 Important make sure you delete/remove all your existing dockers from the Docker GUI and also remove your native installs (in Package Center) of these applications !!! If you had previous installed apps, make a backup of their config folders. When you did all the above steps you only need to run the following commands: cd /volume1/docker/appdata sudo docker-compose up -d You will notice that all the images will be downloaded, after that the containers will be started. If you get a error then look at the error what it says and try to fix it. If you still got issues then put your used docker-compose.yml on 0bin and join the guides-discord here and provide the pastebin link with the error, have patience because of timezone differences. Don't forget to look at the Examples how to setup the paths inside your applications. Attention If you need to do any changes, only edit the docker-compose.yml file. To activate the changes, run the command sudo docker-compose -f /volume1/docker/appdata/docker-compose.yml up -d again. Any changes you do/did in the GUI will be reverted when you run the docker-compose command. Just don't use the GUI, only for information purposes !!! Docker-Compose Commands \u00b6 docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Synology"},{"location":"How-to-setup-for/Synology/#synology","text":"Note Being I don't have a Synology myself and I kind of hate the Synology GUI for the dockers, I'm doing this with the use of docker-compose through a terminal. This is faster then the GUI and after installing, it shows up in the Docker GUI. Thanks to faxity for the initial compose that I used to create the Synology Guide. And a very big thanks to Bokkoman and BZwart that updated this Guide for DSM 7 and also offered their help on discord as Synology Support Team.","title":"Synology"},{"location":"How-to-setup-for/Synology/#introduction","text":"This page will provide you with guidance on how to install several Docker images to your Synology system. We highly recommend to read the full guide, that way you have a better understanding of what you do, in case you later decide to make changes.","title":"Introduction"},{"location":"How-to-setup-for/Synology/#automated-script","text":"Automated script ( Use this script at your own risk ) - [CLICK TO EXPAND] Warning Though, we offer a short way out. This is intended as a quick way to do everything that is written on this page within one script. The script is new and only tested on Synology DSM7. We are not held reliable if anything breaks on your system. Use at your own risk To get this working you will need to enable terminal access (SSH). To enable this on your Synology take a look HERE . When you enabled the terminal access (SSH) run the following commands and follow the onscreen questions. curl -sL git.io/syno-script > ~/syno-script sudo bash ~/syno-script","title":"Automated Script"},{"location":"How-to-setup-for/Synology/#install-docker","text":"You need to install Docker from the Package Center . This should also create a share named docker , check File Station if it is present.","title":"Install Docker"},{"location":"How-to-setup-for/Synology/#create-the-main-share","text":"Attention To get Hardlinks and Atomic-Moves working with your Synology you will need to make use of ONE share with subfolders. We will use a new share named data (lowercase) for all your library media. Later in this guide, we will fill this share with subfolders. To create a new share: Control Panel > Shared Folder > click Create > choose Create Shared Folder Name this shared folder data . You can disable the trash can. Click next until you are done.","title":"Create the main share"},{"location":"How-to-setup-for/Synology/#create-a-user","text":"For this, we are going to create a new user that only has access to the share(s) that we use for this guide. Go to Control Panel > User & Group In the User section, create a new user. Name it whatever you like, but for this guide we will use docker . Fill out the rest of the information, generate a password or type your own. Click next, you will now be able to select which group this user will belong to, it should only be users . Click Next .","title":"Create a user"},{"location":"How-to-setup-for/Synology/#assign-shared-folder-permissions","text":"In this screen you will be able to select which Shares this user will have access to, click No Access on the top, this will deny all access. Now only select Read/Write on the shares docker and data . Click Next until you reach Assign application permissions","title":"Assign shared folder permissions"},{"location":"How-to-setup-for/Synology/#assign-application-permissions","text":"In this screen you will be able to select which application this user will have access to, Check Deny for all applications. Continue to click Next until you are finished.","title":"Assign application permissions"},{"location":"How-to-setup-for/Synology/#ssh","text":"You are mostly going to use the terminal. Some parts will need the Synology web GUI. To enable terminal, you need to enable SSH in the Synology Settings. Control Panel > Terminal & SNMP > Enable SSH service Then use a program like Putty to SSH into your Synology. Enter the login information of a Synology user account that has admin priveliges, as only members of the 'administrators' user group are able to use SSH. If you get a popup asking if you want to trust the key, Just press OK or ACCEPT","title":"SSH"},{"location":"How-to-setup-for/Synology/#puid-and-pgid","text":"In order for the Docker container to access the shares on the Synology, we need to know the user ID (PUID) and group ID (PGID) from the docker user we just created. Go into your terminal app, login to your synology ssh. Once logged in type id $user . Change $user to the newly created username docker . This will show you the UID (aka PUID). Which in this screenshot is 1035 for the docker user and the GID (aka PGID) which is 100 for the users group. Remember these values for later use. Attention It is not recommended to use (anymore) your admin/main user account. That is why we just created a new user.","title":"PUID and PGID"},{"location":"How-to-setup-for/Synology/#folder-structure","text":"For this example we're going to make use of the share called data . On the host (Synology) terminal you will need to add /volume1/ before it. So /volume1/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The library folder has nicely named tv , movies and music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self. I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"How-to-setup-for/Synology/#breakdown-of-the-folder-structure","text":"","title":"Breakdown of the Folder Structure"},{"location":"How-to-setup-for/Synology/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"How-to-setup-for/Synology/#usenet-clients","text":"NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"How-to-setup-for/Synology/#the-arrs","text":"Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"How-to-setup-for/Synology/#media-server","text":"Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications.","title":"Media Server"},{"location":"How-to-setup-for/Synology/#create-the-needed-subfolder","text":"Here we will create the needed subfolders for your media library and also for your preferred download client. If you use both then run both commands","title":"Create the needed subfolder"},{"location":"How-to-setup-for/Synology/#if-you-use-usenet","text":"mkdir -p /volume1/data/ { usenet/ { tv,movies,music } ,media/ { tv,movies,music }}","title":"If you use usenet"},{"location":"How-to-setup-for/Synology/#if-you-use-torrents","text":"mkdir -p /volume1/data/ { torrents/ { tv,movies,music } ,media/ { tv,movies,music }}","title":"If you use torrents"},{"location":"How-to-setup-for/Synology/#appdata","text":"Your appdata will be stored in /volume1/docker/appdata/{appname} These {appname} sub folders you need to create your self. ( This is a limitation of the Synology ) We're going to do this in Putty or a similar program. mkdir -p /volume1/docker/appdata/ { radarr,sonarr,bazarr,plex,pullio } You can add your own sub folders for your download client(s) using the command above, by adding the name to the command. So your appdata folder will look like this. ls -al /volume1/docker/appdata docker \u2514\u2500\u2500 appdata \u251c\u2500\u2500 radarr \u251c\u2500\u2500 sonarr \u251c\u2500\u2500 bazarr \u251c\u2500\u2500 plex \u251c\u2500\u2500 pullio \u2514\u2500\u2500 (your download client, i.e. nzbget; sabnzbd; qbittorrent)","title":"Appdata"},{"location":"How-to-setup-for/Synology/#needed-files","text":"Now we are ready to move to the installation of containers. For this, we need two files: docker-compose.yml .env We will start with downloading the docker-compose.yml file Download this docker-compose.yml to your /volume1/docker/appdata location so you got your important stuff together. Or use the command below: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/docker-compose.yml -P /volume1/docker/appdata/","title":"Needed files"},{"location":"How-to-setup-for/Synology/#whats-included-and-whats-not-included","text":"What's included and What's not included - [CLICK TO EXPAND] This docker-compose file will have the following docker containers included. Radarr Sonarr Bazarr (Subtitle searcher and downloader) Plex What's not included (and where are the download clients?). I didn't add a download client to it, because it depends on what you prefer (usenet/torrent) and which client you prefer, so I created a new Repository on Github where I provide and maintain some templates that are ready to use with the main docker-compose.yml . The only thing you need to do is copy/paste what's inside the .yml file in to the main docker-compose.yml , the template also has the command what you need to use to create the appdata folder that we explained earlier. Second we will download the .env file Download this .env to your /volume1/docker/appdata location so you got your important stuff together. Or use this command: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/.env -P /volume1/docker/appdata/ Attention MAKE SURE THE FILE KEEPS THE ORIGINAL NAME .env WITH THE DOT BEFORE IT","title":"Whats included and Whats not included"},{"location":"How-to-setup-for/Synology/#changes-and-preparations","text":"Tip If you need to edit docker-compose.yml or the .env file we advise to use Notepad++ or Visual Studio Code The .env file we downloaded holds the variables/information you need to change in order for everything to work. I added explanations in the .env file. DOCKERCONFDIR (only change this if you know what you're doing and decide to use another path than this guide used) DOCKERDATADIR (only change this if you know what you're doing and decide to use another path than this guide used) PUID/PGID (this info you got earlier from HERE TZ (Change to your timezone, can be found HERE Install and Create a task scheduler for Pullio, so your containers stay up to date. The .env holds more variables/information for other containers you don't need to remove those variables and will be only used when you install the other containers.","title":"Changes and preparations"},{"location":"How-to-setup-for/Synology/#pullio-auto-update-docker-compose-the-correct-way","text":"Pullio allows you to automatically update your containers. And send you a notification through various means. In my setup, I use a Discord Webhook. First you need to download Pullio sudo curl -fsSL \"https://raw.githubusercontent.com/hotio/pullio/master/pullio.sh\" -o /usr/local/bin/pullio sudo chmod +x /usr/local/bin/pullio For Pullio to work, you will need to create in your Task Scheduler a \"Scheduled Task\" that runs for example at 4am at night with root privileges. Control Panel > Task Scheduler > click Create > choose Scheduled task - user defined script Give the task a name so you know what it does. Choose user root . In the Schedule tab choose whenever you want it to check for updates. At Task Settings tab, add the following line in the Run Command section: /usr/local/bin/pullio > /volume1/docker/appdata/pullio/pullio.log 2 > & 1 It can be frustrating to test the script if no docker image updates are available, for that you can run command sudo pullio --debug and the script will behave as if an update is available. If you have set to receive notifications, you should receive them. More info about Pullio HERE","title":"Pullio - Auto update docker-compose the correct way"},{"location":"How-to-setup-for/Synology/#permissions","text":"Now we need to make sure that the newly created files and folders have the correct permissions. Note If you're using a different user than docker (the user generated in the beginning), then you need to change the docker:users part in the commands below!!! sudo chown -R docker:users /volume1/data /volume1/docker sudo chmod -R a = ,a+rX,u+w,g+w /volume1/data /volume1/docker Note If you copy files from a different library into the newly created library, you need to rerun these commands. !!!","title":"Permissions"},{"location":"How-to-setup-for/Synology/#run-the-docker-compose","text":"Important make sure you delete/remove all your existing dockers from the Docker GUI and also remove your native installs (in Package Center) of these applications !!! If you had previous installed apps, make a backup of their config folders. When you did all the above steps you only need to run the following commands: cd /volume1/docker/appdata sudo docker-compose up -d You will notice that all the images will be downloaded, after that the containers will be started. If you get a error then look at the error what it says and try to fix it. If you still got issues then put your used docker-compose.yml on 0bin and join the guides-discord here and provide the pastebin link with the error, have patience because of timezone differences. Don't forget to look at the Examples how to setup the paths inside your applications. Attention If you need to do any changes, only edit the docker-compose.yml file. To activate the changes, run the command sudo docker-compose -f /volume1/docker/appdata/docker-compose.yml up -d again. Any changes you do/did in the GUI will be reverted when you run the docker-compose command. Just don't use the GUI, only for information purposes !!!","title":"Run the Docker Compose"},{"location":"How-to-setup-for/Synology/#docker-compose-commands","text":"docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Docker-Compose Commands"},{"location":"How-to-setup-for/Unraid/","text":"Unraid \u00b6 Note The first thing you need to do is forget the suggested paths from the Spaceinvader One YouTube Tutorials, and don't use the predefined paths from the unraid templates. (Spaceinvader One YouTube guides are great to learn how to start with unraid or how to setup certain applications, and yes I did and still do use them. Probably the main reason why he's using those path is because they are predefined in the template) Create the main share \u00b6 Attention To get Hardlinks and Atomic-Moves working with Unraid you will need to make use of ONE share with subfolders. For this example I'm using my own setup and preferred share data . Go to your dashboard and on the top select shares select add share . use data if you got a cache drive and want to make use of it put it on Yes or keep it disabled (Hardlinks will stay in tact if you're using the cache) click on ADD SHARE Note Keep in mind regarding the use of the Cache drive, The mover can't move files that are in use, like when seeding with torrents. You will need to shutdown your client or stop/pause the torrents so the mover can move them to your Array. With Usenet you won't have any issues. Folder Structure \u00b6 On the host (Unraid) you will need to add /mnt/user before it. So /mnt/user/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self, you can use krusader or winscp to create them or any other way you prefer. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv I'm using lower case on all folder on purpose, being Linux is case sensitive. Breakdown of the Folder Structure \u00b6 Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used. Setting up the containers \u00b6 After you created all the needed folders it's time to setup the paths in the docker containers. Go to your dashboard and select your docker container you want to edit or if you're starting fresh add the docker containers you want to use or prefer. Unraid makes it actually pretty clear what's the Host Path and what's the Container Path. Container Path: => The path that will be used inside the container. Host Path: => The path on your Unraid Server (The Host). Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent Container Path: => /data/torrents/ Host Path: => /mnt/user/data/torrents/ Info The reason why we use /data/torrents/ for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd Container Path: => /data/usenet/ Host Path: => /mnt/user/data/usenet/ Info The reason why we use /data/usenet/ for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Container Path: => /data Host Path: => /mnt/user/data/ Info Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Container Path: => /data/media Host Path: => /mnt/user/data/media/ Info Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Final Result \u00b6 Don't forget to look at the Examples how to setup the paths inside your applications. Video Tutorial \u00b6 Big Thanks to IBRACORP for noticing this Guide and creating a Video covering this unraid section. The reason why I added the video to the end is because I want the user to actually learn and understand why it's recommended to use this folder structure, before going straight to the YouTube video. Please don't forget to check out his other Unraid Video's HERE Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Unraid"},{"location":"How-to-setup-for/Unraid/#unraid","text":"Note The first thing you need to do is forget the suggested paths from the Spaceinvader One YouTube Tutorials, and don't use the predefined paths from the unraid templates. (Spaceinvader One YouTube guides are great to learn how to start with unraid or how to setup certain applications, and yes I did and still do use them. Probably the main reason why he's using those path is because they are predefined in the template)","title":"Unraid"},{"location":"How-to-setup-for/Unraid/#create-the-main-share","text":"Attention To get Hardlinks and Atomic-Moves working with Unraid you will need to make use of ONE share with subfolders. For this example I'm using my own setup and preferred share data . Go to your dashboard and on the top select shares select add share . use data if you got a cache drive and want to make use of it put it on Yes or keep it disabled (Hardlinks will stay in tact if you're using the cache) click on ADD SHARE Note Keep in mind regarding the use of the Cache drive, The mover can't move files that are in use, like when seeding with torrents. You will need to shutdown your client or stop/pause the torrents so the mover can move them to your Array. With Usenet you won't have any issues.","title":"Create the main share"},{"location":"How-to-setup-for/Unraid/#folder-structure","text":"On the host (Unraid) you will need to add /mnt/user before it. So /mnt/user/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self, you can use krusader or winscp to create them or any other way you prefer. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv I'm using lower case on all folder on purpose, being Linux is case sensitive.","title":"Folder Structure"},{"location":"How-to-setup-for/Unraid/#breakdown-of-the-folder-structure","text":"Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used.","title":"Breakdown of the Folder Structure"},{"location":"How-to-setup-for/Unraid/#setting-up-the-containers","text":"After you created all the needed folders it's time to setup the paths in the docker containers. Go to your dashboard and select your docker container you want to edit or if you're starting fresh add the docker containers you want to use or prefer. Unraid makes it actually pretty clear what's the Host Path and what's the Container Path. Container Path: => The path that will be used inside the container. Host Path: => The path on your Unraid Server (The Host).","title":"Setting up the containers"},{"location":"How-to-setup-for/Unraid/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent Container Path: => /data/torrents/ Host Path: => /mnt/user/data/torrents/ Info The reason why we use /data/torrents/ for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"How-to-setup-for/Unraid/#usenet-clients","text":"NZBGet or SABnzbd Container Path: => /data/usenet/ Host Path: => /mnt/user/data/usenet/ Info The reason why we use /data/usenet/ for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"How-to-setup-for/Unraid/#the-arrs","text":"Sonarr, Radarr and Lidarr Container Path: => /data Host Path: => /mnt/user/data/ Info Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"How-to-setup-for/Unraid/#media-server","text":"Plex, Emby, JellyFin and Bazarr Container Path: => /data/media Host Path: => /mnt/user/data/media/ Info Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Media Server"},{"location":"How-to-setup-for/Unraid/#final-result","text":"Don't forget to look at the Examples how to setup the paths inside your applications.","title":"Final Result"},{"location":"How-to-setup-for/Unraid/#video-tutorial","text":"Big Thanks to IBRACORP for noticing this Guide and creating a Video covering this unraid section. The reason why I added the video to the end is because I want the user to actually learn and understand why it's recommended to use this folder structure, before going straight to the YouTube video. Please don't forget to check out his other Unraid Video's HERE Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Video Tutorial"},{"location":"Misc/","text":"Misc \u00b6 Here you will find a collection of random guides I made.","title":"Home"},{"location":"Misc/#misc","text":"Here you will find a collection of random guides I made.","title":"Misc"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/","text":"Setup TorGuard for port forwarding \u00b6 Note These settings are a recommendation if you want to choose other settings be my guest. If you want to support me, please use the following referral link and use one of the following codes: TGLIFE : Get 50% Off for Life for Anonymous Proxy, Anonymous VPN, Anonymous Webmail. TGLIFE-STREAMING : Get 50% Off for Life Anonymous Proxy, Anonymous VPN, Streaming Bundle. TGLIFE-PRO : Get 50% Off for Life for Anonymous VPN, Streaming Bundle, Anonymous VPN Pro. Login to your Client area \u00b6 Login to your Client Area . Example - [CLICK TO EXPAND] Create a user account \u00b6 First we're going to create a User Account for your VPN so we won't need to use your main account that you use to login to your account on the Torguard site. This account will be used for authentication with your VPN Torrent client. Services > My Services > Manage > Manage Credentials Example - [CLICK TO EXPAND] Create a new username and choose a secure password or create a random username and password. Example - [CLICK TO EXPAND] How to get the IP of your VPN server \u00b6 Now it's time to get the IP of your VPN server you're going to use from the Global VPN Network , From your Client Area. Servers > Global VPN Network Example - [CLICK TO EXPAND] Global VPN Network \u00b6 Then we're going to select which server we're going to use, For the best speed it's recommended to choose the one nearest to your location. Let's use for this example: USA Miami and copy/paste the Hostname us-fl.secureconnect.me . Important Also check if your chosen server supports OpenVPN or Wireguard depending what you want to use. Get your VPN IP \u00b6 Open a cmd window or something equal and type: ping us-fl.secureconnect.me You will then get the IP of the server. Remember that for later use. Example - [CLICK TO EXPAND] How to setup Port forwarding \u00b6 Note This section will consist of 2 parts depending if you want to use OVPN or WireGuard so make sure you choose your preferred VPN Tunnel type. Request Port Forward \u00b6 From your Client Area go to your My Services . Then click on Manage and select Request Port Forward . Services > My Services > Manage > Request Port Forward Example - [CLICK TO EXPAND] VPN Tunnel Type \u00b6 Choose your preferred VPN Tunnel type. OVPN Request Port Forward \u00b6 OVPN Request Port Forward That's the IP we found earlier. Select UDP . Select a Port/Auth I personally use 995|SHA1 . Select the Protocol TCP . I suggest to use a high Port number 10.000+ or a game port you don't use, don't use the default torrent ports 6881- 6889 (This is also the port you will use in your torrent client). Click on the + sign and do the same with the UDP Protocol . Then click on Submit Request . If everything went according to plan you will see something like this. You will also receive a e-mail with the ports you forwarded. Note Normally it doesn't take more then a few seconds/minutes to get the ports approved if it takes longer or you get PENDING I suggest to ping the server again (or choose another sever) and you often get a new IP and retry it again with the new IP. WireGuard Request Port Forward \u00b6 WireGuard Request Port Forward - [CLICK TO EXPAND] That's the IP we found earlier. Select UDP . ( KEEP THIS ON UDP FOR WireGuard ) Select a Port/Auth and select WireGuard . Select the Protocol TCP . I suggest to use a high Port number 10.000+ or a game port you don't use, don't use the default torrent ports 6881- 6889 (This is also the port you will use in your torrent client). Click on the + sign and do the same with the UDP Protocol . Then click on Submit Request . WARNING DON'T CHANGE OPTION 2 UDP to TCP If everything went according to plan you will see something like this. You will also receive a e-mail with the ports you forwarded. Note Normally it doesn't take more then a few seconds/minutes to get the ports approved if it takes longer or you get PENDING I suggest to ping the server again (or choose another sever) and you often get a new IP and retry it again with the new IP. How to create the config file \u00b6 Note This section will consist of 2 parts depending if you want to use OVPN or WireGuard so make sure you choose your preferred VPN Tunnel type. From your Client Area go to your Config Generator . Tools > Config Generator Example Select Tools > Config Generator - [CLICK TO EXPAND] Config Generator \u00b6 Choose your preferred VPN Tunnel type. OVPN Config Generator \u00b6 OVPN Config Generator - [CLICK TO EXPAND] Keep this on Default . Choose OpenVPN . Put in the IP we got earlier and used for the port forwarding. Choose UDP . Choose 995|SHA1 or what you selected during the port forwarding. Choose AES-128-GCM . Choose 2.4 and above . Check Require TLS 1.2 Click on Generate Config , Now you will download a .conf file with a random number. Rename the extension from *.conf to *.ovpn and copy it to your openvpn folder of your VPN torrent client. WireGuard Config Generator \u00b6 WireGuard Config Generator - [CLICK TO EXPAND] Choose WireGuard . Put in the IP we got earlier and used for the port forwarding. Add your VPN Username . Add your `VPN Password. Click on Generate Config Now you will download a .conf file with a random number. Rename the file from *.conf to wg0.conf and copy it to your wireguard folder of your VPN torrent client. Thanks: A big Thanks to mrhotio for his excellent instructions on how to setup WireGuard for TorGuard. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Setup TorGuard for port forwarding"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#setup-torguard-for-port-forwarding","text":"Note These settings are a recommendation if you want to choose other settings be my guest. If you want to support me, please use the following referral link and use one of the following codes: TGLIFE : Get 50% Off for Life for Anonymous Proxy, Anonymous VPN, Anonymous Webmail. TGLIFE-STREAMING : Get 50% Off for Life Anonymous Proxy, Anonymous VPN, Streaming Bundle. TGLIFE-PRO : Get 50% Off for Life for Anonymous VPN, Streaming Bundle, Anonymous VPN Pro.","title":"Setup TorGuard for port forwarding"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#login-to-your-client-area","text":"Login to your Client Area . Example - [CLICK TO EXPAND]","title":"Login to your Client area"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#create-a-user-account","text":"First we're going to create a User Account for your VPN so we won't need to use your main account that you use to login to your account on the Torguard site. This account will be used for authentication with your VPN Torrent client. Services > My Services > Manage > Manage Credentials Example - [CLICK TO EXPAND] Create a new username and choose a secure password or create a random username and password. Example - [CLICK TO EXPAND]","title":"Create a user account"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#how-to-get-the-ip-of-your-vpn-server","text":"Now it's time to get the IP of your VPN server you're going to use from the Global VPN Network , From your Client Area. Servers > Global VPN Network Example - [CLICK TO EXPAND]","title":"How to get the IP of your VPN server"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#global-vpn-network","text":"Then we're going to select which server we're going to use, For the best speed it's recommended to choose the one nearest to your location. Let's use for this example: USA Miami and copy/paste the Hostname us-fl.secureconnect.me . Important Also check if your chosen server supports OpenVPN or Wireguard depending what you want to use.","title":"Global VPN Network"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#get-your-vpn-ip","text":"Open a cmd window or something equal and type: ping us-fl.secureconnect.me You will then get the IP of the server. Remember that for later use. Example - [CLICK TO EXPAND]","title":"Get your VPN IP"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#how-to-setup-port-forwarding","text":"Note This section will consist of 2 parts depending if you want to use OVPN or WireGuard so make sure you choose your preferred VPN Tunnel type.","title":"How to setup Port forwarding"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#request-port-forward","text":"From your Client Area go to your My Services . Then click on Manage and select Request Port Forward . Services > My Services > Manage > Request Port Forward Example - [CLICK TO EXPAND]","title":"Request Port Forward"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#vpn-tunnel-type","text":"Choose your preferred VPN Tunnel type.","title":"VPN Tunnel Type"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#ovpn-request-port-forward","text":"OVPN Request Port Forward That's the IP we found earlier. Select UDP . Select a Port/Auth I personally use 995|SHA1 . Select the Protocol TCP . I suggest to use a high Port number 10.000+ or a game port you don't use, don't use the default torrent ports 6881- 6889 (This is also the port you will use in your torrent client). Click on the + sign and do the same with the UDP Protocol . Then click on Submit Request . If everything went according to plan you will see something like this. You will also receive a e-mail with the ports you forwarded. Note Normally it doesn't take more then a few seconds/minutes to get the ports approved if it takes longer or you get PENDING I suggest to ping the server again (or choose another sever) and you often get a new IP and retry it again with the new IP.","title":"OVPN Request Port Forward"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#wireguard-request-port-forward","text":"WireGuard Request Port Forward - [CLICK TO EXPAND] That's the IP we found earlier. Select UDP . ( KEEP THIS ON UDP FOR WireGuard ) Select a Port/Auth and select WireGuard . Select the Protocol TCP . I suggest to use a high Port number 10.000+ or a game port you don't use, don't use the default torrent ports 6881- 6889 (This is also the port you will use in your torrent client). Click on the + sign and do the same with the UDP Protocol . Then click on Submit Request . WARNING DON'T CHANGE OPTION 2 UDP to TCP If everything went according to plan you will see something like this. You will also receive a e-mail with the ports you forwarded. Note Normally it doesn't take more then a few seconds/minutes to get the ports approved if it takes longer or you get PENDING I suggest to ping the server again (or choose another sever) and you often get a new IP and retry it again with the new IP.","title":"WireGuard Request Port Forward"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#how-to-create-the-config-file","text":"Note This section will consist of 2 parts depending if you want to use OVPN or WireGuard so make sure you choose your preferred VPN Tunnel type. From your Client Area go to your Config Generator . Tools > Config Generator Example Select Tools > Config Generator - [CLICK TO EXPAND]","title":"How to create the config file"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#config-generator","text":"Choose your preferred VPN Tunnel type.","title":"Config Generator"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#ovpn-config-generator","text":"OVPN Config Generator - [CLICK TO EXPAND] Keep this on Default . Choose OpenVPN . Put in the IP we got earlier and used for the port forwarding. Choose UDP . Choose 995|SHA1 or what you selected during the port forwarding. Choose AES-128-GCM . Choose 2.4 and above . Check Require TLS 1.2 Click on Generate Config , Now you will download a .conf file with a random number. Rename the extension from *.conf to *.ovpn and copy it to your openvpn folder of your VPN torrent client.","title":"OVPN Config Generator"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#wireguard-config-generator","text":"WireGuard Config Generator - [CLICK TO EXPAND] Choose WireGuard . Put in the IP we got earlier and used for the port forwarding. Add your VPN Username . Add your `VPN Password. Click on Generate Config Now you will download a .conf file with a random number. Rename the file from *.conf to wg0.conf and copy it to your wireguard folder of your VPN torrent client. Thanks: A big Thanks to mrhotio for his excellent instructions on how to setup WireGuard for TorGuard. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"WireGuard Config Generator"},{"location":"Misc/how-to-provide-a-docker-compose/","text":"How to provide a docker compose \u00b6 When you're running dockers and you need help on discord etc you often hear the question: \"Provide a docker compose\" If you need to provide this info always remember to provide it from all your *arr (Sonarr, Radarr, Lidarr, Bazarr) and also from your download client(s). If you're using a system with a GUI (Synology, unRAID, OMV, etc.) it's not always easy to provide a docker compose but it's possible. Warning Please don't use screenshots to provide the info as they aren't always revealing all the needed info Use one of the following from terminal(puTTy) to get the docker compose with or without the use of sudo . sudo docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose CONTAINER_NAME CONTAINER_NAME2 Example: sudo docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose sonarr radarr bazarr nzbget Paste the results on one of the following sites. 0bin.net (Reccomended) Github Gist (Alternative) Ubuntu Pastebin hastebin.com If you use docker run command to create your docker containers, paste your run command in to composerize","title":"How to provide a docker compose"},{"location":"Misc/how-to-provide-a-docker-compose/#how-to-provide-a-docker-compose","text":"When you're running dockers and you need help on discord etc you often hear the question: \"Provide a docker compose\" If you need to provide this info always remember to provide it from all your *arr (Sonarr, Radarr, Lidarr, Bazarr) and also from your download client(s). If you're using a system with a GUI (Synology, unRAID, OMV, etc.) it's not always easy to provide a docker compose but it's possible. Warning Please don't use screenshots to provide the info as they aren't always revealing all the needed info Use one of the following from terminal(puTTy) to get the docker compose with or without the use of sudo . sudo docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose CONTAINER_NAME CONTAINER_NAME2 Example: sudo docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose sonarr radarr bazarr nzbget Paste the results on one of the following sites. 0bin.net (Reccomended) Github Gist (Alternative) Ubuntu Pastebin hastebin.com If you use docker run command to create your docker containers, paste your run command in to composerize","title":"How to provide a docker compose"},{"location":"Misc/x265-4k/","text":"x265-4k \u00b6 x265 \u00b6 Quote x265 is good for 4k stuff or 1080p if they used the the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities. So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people Microsized & Wrong Source \u00b6 It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it. Golden Rule \u00b6 That's why I created my own golden rule. 720/1080p => x264 2160p/4k => x265 How to accomplish the Golden Rule \u00b6 For Sonarr check HERE For Radarr check HERE Some extra info about 4K/X265 \u00b6 4k, transcoding, and you - aka the rules of 4k - a FAQ - Plex.tv Don\u2019t bother transcoding 4k If you cannot direct play 4k, then perhaps you should not even be collecting 4k. If you don\u2019t have the storage space for a copy of both 4k and 1080/720, then perhaps you should not even be collecting 4k. To avoid transcoding for remote and non-4k clients, keep your 4k content in separate plex libraries. This may of course mean that you keep a 4k copy and a 1080/720 copy, but if you are collecting 4k content then you should not be worried about storage space, should you?","title":"x265-4k and Golden Rule"},{"location":"Misc/x265-4k/#x265-4k","text":"","title":"x265-4k"},{"location":"Misc/x265-4k/#x265","text":"Quote x265 is good for 4k stuff or 1080p if they used the the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities. So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people","title":"x265"},{"location":"Misc/x265-4k/#microsized-wrong-source","text":"It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it.","title":"Microsized & Wrong Source"},{"location":"Misc/x265-4k/#golden-rule","text":"That's why I created my own golden rule. 720/1080p => x264 2160p/4k => x265","title":"Golden Rule"},{"location":"Misc/x265-4k/#how-to-accomplish-the-golden-rule","text":"For Sonarr check HERE For Radarr check HERE","title":"How to accomplish the Golden Rule"},{"location":"Misc/x265-4k/#some-extra-info-about-4kx265","text":"4k, transcoding, and you - aka the rules of 4k - a FAQ - Plex.tv Don\u2019t bother transcoding 4k If you cannot direct play 4k, then perhaps you should not even be collecting 4k. If you don\u2019t have the storage space for a copy of both 4k and 1080/720, then perhaps you should not even be collecting 4k. To avoid transcoding for remote and non-4k clients, keep your 4k content in separate plex libraries. This may of course mean that you keep a 4k copy and a 1080/720 copy, but if you are collecting 4k content then you should not be worried about storage space, should you?","title":"Some extra info about 4K/X265"},{"location":"Plex/","text":"Plex \u00b6 Here I will start adding Tips and Info for plex","title":"Home"},{"location":"Plex/#plex","text":"Here I will start adding Tips and Info for plex","title":"Plex"},{"location":"Plex/Tips/4k-transcoding/","text":"JBOPS 4K Transcode Stopping with Tautulli \u00b6 Introduction \u00b6 The bane of Plex admins existence... 4K Transcodes. According to Plex's forum post The Rules of 4K the first three rules of collecting 4k content is don\u2019t bother transcoding 4k. This guide will walk you through getting started with Tautulli and JBOPS. By the end of this guide you'll be able to stop all 4K video transcodes on your server. Note that this does require a Plex Pass to work. Getting Started \u00b6 git clone https://github.com/blacktwin/JBOPS into the config dir of your tautulli instance (if dockerized) Install requirements if needed ( pip install -r requirements.txt ) Go to your tautulli and go to the settings menu. In the sidebar, open \u201cNotification Agents\u201d. Create a new Notification Agent. Configuration Tab \u00b6 Script Folder: /config/JBOPS Script File: killstream/kill_stream.py Script Timeout: 30 (default) Description (optional): 4K Transcode Stopper Triggers \u00b6 \u2611\ufe0f Playback Start \u2611\ufe0f Playback Resume \u2611\ufe0f Transcode Decision Change Conditions \u00b6 Condition {1} Video Decision is transcode Condition {2} Video Resolution is 4k Condition Logic {1} and {2} Arguments \u00b6 Under each: Playback Start, Playback Resume, Transcode Decision Change --jbop stream --username {username} --sessionId {session_id} --killMessage 'Transcoding streams are not allowed for {video_resolution} streams.'","title":"JBOPS 4K Transcode Stopping with Tautulli"},{"location":"Plex/Tips/4k-transcoding/#jbops-4k-transcode-stopping-with-tautulli","text":"","title":"JBOPS 4K Transcode Stopping with Tautulli"},{"location":"Plex/Tips/4k-transcoding/#introduction","text":"The bane of Plex admins existence... 4K Transcodes. According to Plex's forum post The Rules of 4K the first three rules of collecting 4k content is don\u2019t bother transcoding 4k. This guide will walk you through getting started with Tautulli and JBOPS. By the end of this guide you'll be able to stop all 4K video transcodes on your server. Note that this does require a Plex Pass to work.","title":"Introduction"},{"location":"Plex/Tips/4k-transcoding/#getting-started","text":"git clone https://github.com/blacktwin/JBOPS into the config dir of your tautulli instance (if dockerized) Install requirements if needed ( pip install -r requirements.txt ) Go to your tautulli and go to the settings menu. In the sidebar, open \u201cNotification Agents\u201d. Create a new Notification Agent.","title":"Getting Started"},{"location":"Plex/Tips/4k-transcoding/#configuration-tab","text":"Script Folder: /config/JBOPS Script File: killstream/kill_stream.py Script Timeout: 30 (default) Description (optional): 4K Transcode Stopper","title":"Configuration Tab"},{"location":"Plex/Tips/4k-transcoding/#triggers","text":"\u2611\ufe0f Playback Start \u2611\ufe0f Playback Resume \u2611\ufe0f Transcode Decision Change","title":"Triggers"},{"location":"Plex/Tips/4k-transcoding/#conditions","text":"Condition {1} Video Decision is transcode Condition {2} Video Resolution is 4k Condition Logic {1} and {2}","title":"Conditions"},{"location":"Plex/Tips/4k-transcoding/#arguments","text":"Under each: Playback Start, Playback Resume, Transcode Decision Change --jbop stream --username {username} --sessionId {session_id} --killMessage 'Transcoding streams are not allowed for {video_resolution} streams.'","title":"Arguments"},{"location":"Plex/Tips/Plex-media-server/","text":"Suggested Plex Media Server Settings \u00b6 So, what are the best Plex Media Server settings? This is something that can't really be answered because it depends on the use case and your personal preference. Here I will provide some suggestions and try to explain why I recommend these settings. Adjust it to your own liking and keep in mind that it is only a suggestion. I'm not a Plex Pro in anyway Attention Some settings are only visible for Plex Pass holders. All changes need to be done on your Plex Media Server. Why didn't you cover option .... ? I will only cover settings that I think might be interesting or are personal preference, if you would like me to cover some other settings, please contact me on Settings \u00b6 Remote Access \u00b6 Make sure you have enabled advanced settings (This will be needed for all the settings) Enable/Disable Remote access (if you disable it ignore the rest of these settings) LAN/container IP Public IP If you need to provide a screenshot always mask this IP Manually specify public port if you run Docker or want a fixed port. Enter the Plex port you want to use. (default: 32400 ) Click on Apply and when everything is setup correctly, your Plex Media Server should be fully accessible outside of your network, so you can connect to your Plex server from outside. You may also need to configure port forwarding on your router. Detailed instructions are available HERE . Enter your internet upload speed here and Plex can ensure it operates within this boundary. Set the maximum bitrate of a remote stream from this server. Agents \u00b6 This can be ignored if you use the new Plex agents, The new agent settings are now managed \u201cper library\u201d. Library \u00b6 Scan my library automatically \u00b6 When a change is detected in the source location for a library\u2019s content, the appropriate library will be scanned. This function relies on the computer\u2019s operating system providing the \u201csomething changed\u201d trigger. Some operating systems don\u2019t provide this trigger and content mounted via a network will also typically not work. If your library doesn\u2019t automatically scan, you may have to set a periodical scan or do it manually. Suggested: Enabled TIP - Autoscan - [CLICK TO EXPAND] If for some reason ex. your operating systems don\u2019t provide this trigger or your storage is mounted on a network (SMB/NFS/Cloud Storage) or your library just doesn't automatically scan, or is just plain impractical, You might want to consider using autoscan. IBRACORP (A Youtube channel I collaborate with) has a video explaining it in further detail. Please don't forget to check out his other Unraid Video's HERE Run a partial scan when changes are detected \u00b6 When changes to library folders are detected, only scan the folder which changed rather than scanning the entire content location. This works together with the normal Update my library automatically setting (and requires that setting to be enabled). Suggested: Enabled Include music libraries in automatic updates \u00b6 I don't do music, so this choice is up to you, and I won't be covering it. Scan my library periodically \u00b6 Turning this on will cause your Plex Media Server to run scans on your libraries using the designated interval. Suggested: Disabled Do you need a extra scan for your library to recognize new media? Empty trash automatically after every scan \u00b6 With this option enabled, when an item\u2019s file is deleted from the drive, it will be removed from the Plex library on the next scan. Disabling this option keeps the item in the library with an overlay over the item\u2019s poster when the item is removed. Suggested: Enabled Allow media deletion \u00b6 The owner of the server will be allowed to delete media files from disk. Suggested: Disabled In my opinion Plex shouldn't touch your media files. Use Sonarr/Radarr to manage your media library. (For extra security I've setup Plex with Read Only access to the media library) Run scanner tasks at a lower priority \u00b6 On low-powered systems (e.g. ARM-based NAS devices), it can be beneficial to run scanner tasks at a lower priority than other tasks. This can help ensure they do not interfere with regular streaming. Suggested: Enabled Makes sure it uses less resources and ensure they do not interfere with regular streaming. Generate video preview thumbnails \u00b6 This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video. Suggested: Never Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward. ATTENTION Creating these images can Take a considerable amount of time Use a lot of CPU resources Increase the storage space used The images are stored in your Plex database location (/config) so be careful you don\u2019t fill the drive Generate intro video markers \u00b6 You can choose to have TV episodes analyzed to try and detect when the \u201cintro\u201d occurs during playback. When detected, apps will then offer a Skip Intro button, allowing you to quickly jump over the intro. Suggested: as a scheduled task or Suggested: as a scheduled task and when media is added Generate chapter thumbnails \u00b6 Chapter thumbnails provide images in the chapter view on supported apps. They can take a little time to generate and consume very minor additional disk space. Suggested: as a scheduled task or Suggested: as a scheduled task and when media is added Network \u00b6 Enable IPv6 support \u00b6 Enable IPv6 support. Suggested: Disabled If you're not sure your network 100% works with ip6 don't Enable it . Secure connections \u00b6 Choose how your Plex Media Server handles secure connections. Suggested: Preferred Accept and prefer secure connections when they\u2019re available for a Plex app, but allow regular HTTP connections if the app doesn\u2019t support secure connections or if one can\u2019t be established Preferred network interface \u00b6 For users with multiple network cards or systems such as NAS or Docker where there is always another network interface which Plex client applications may try to use to connect to the Plex Media Server, with this option you can ensure that your local Plex clients would only try that interface. Attention If you have enabled Remote Access enabled and are having Plex automatically map the port (as opposed to specifying a port manually), then Plex Media Server has no control over which network interface is used for an automatically-mapped port. Thus, it\u2019s possible that Remote Access connections could come through an interface other than the one specified here. Suggested: Whatever suits your setup Strict TLS configuration \u00b6 If this setting is enabled, it prevents Plex Media Server from using or accepting the deprecated TLSv1.0 and v1.1 protocols, as well as legacy weak ciphers. May prevent older clients from connecting. The vast majority of users will have no reason to enable this option (and receive no benefit from doing so). Suggested: Disabled Enable local network discovery (GDM) \u00b6 Enable \u201cG\u2019Day Mate\u201d discovery. This is used to allows Plex apps and servers to find each other automatically on a local network. Suggested: Enabled Remote streams allowed per user \u00b6 You can set the maximum number of simultaneous streams each remote user is allowed to have. Suggested: Whatever suits your setup LAN Networks \u00b6 It lets you specify which IP addresses or networks will be considered to be \u201clocal\u201d to you. Suggested: Your local IP/netmasks If your local devices are seen as remote devices, then this could solve your issue. (Do not include spaces or tabs.) Treat WAN IP As LAN Bandwidth \u00b6 Allows incoming requests from this network\u2019s WAN IP address to be treated as LAN requests in terms of bandwidth. This often occurs when DNS rebinding protection is in place and clients on the LAN cannot contact the server directly but instead have to go through the WAN IP address. Suggested: Enabled Enable Relay \u00b6 The Relay allows connections to the server through a proxy relay when the server is not accessible otherwise. Relay connections are bandwidth limited. Suggested: Disabled I've seen several reports where people that had this Enabled had playback issues because it seems to be limited at 2 Mbps. Custom server access URLs \u00b6 A comma-separated list of URLs (either HTTP or HTTPS), which will be published to plex.tv for server discovery. This can be very useful in a few cases: if you\u2019re using a reverse proxy in front of the media server, or if your networking configuration is otherwise unique. For instance, if you have your own custom domain with subdomain. Suggested: Depending on your setup Example: https://plex.mycustomdomain.com:32400 Webhooks \u00b6 This feature can be enabled to allow your server to send events to external services. For example Notifiarr Transcoders \u00b6 Transcoder quality \u00b6 This will influence the quality used when transcoding media. Suggested: Automatic Most users should leave it set to Automatic. Hardware-Accelerated Streaming is not affected by this setting. Transcoder temporary directory \u00b6 Directory to use when transcoding temporary files for streaming. Suggested: Depending on your setup, if possible, your RAM (disk) Speeds up transcoding and less I/O, transcode data is temporary and doesn't need to be writing to a disk. If you run docker set this to /transcode and map it to /tmp/plex Default Linux only allocates a max of 50% of total system RAM to any ram directories (ie. /tmp, /dev/shm, etc.) WARNING YOU SHOULD NOT SPECIFY A LOCATION THAT RESIDES ON A NETWORK SHARE/DISK. Enable HDR tone mapping \u00b6 This feature allows Plex Media Server to maintain high visual fidelity of content, by applying tone mapping to convert it to SDR when transcoding HDR content. Suggested: Depending on your setup Most HDR content will be in 4K resolution. If your platform has to use software transcoding to perform the tone mapping, then it may well struggle convert 4K content in real-time, unless you\u2019re running on a very powerful system. Note Plex\u2019s tone mapping support should generally be able to produce good color mapping and help avoid the \u201cwashed out\u201d colors that occur when converting HDR content without tone mapping. Use hardware acceleration when available \u00b6 To use Hardware-Accelerated Streaming in Plex Media Server. Suggested: Enabled Use hardware-accelerated video encoding \u00b6 To use Hardware-Accelerated Encoding in Plex Media Server. Suggested: Enabled Manage \u00b6 Libraries \u00b6 Here you will find your libraries you've added to your Plex Media Server. Examples - [CLICK TO EXPAND] Movies (/data/media/movies) Movies-4K/Movies-UHD (/data/media/movies4k) / (/data/media/movies-uhd) Movies-Kids (/data/media/movies-kids) Movies-Anime (/data/media/movies-anime) TV (/data/media/tv) TV-4k/TV-UHD (/data/media/tv-4k) / (/data/media/tv-uhd) TV-Kids (/data/media/tv-kids) TV-Anime (/data/media/tv-anime) Anime (/data/media/anime) etc I will only cover the libraries settings for Movies and TV shows Movies \u00b6 The new version of the Plex Movie agent/scanner Suggested: Plex Movie Besides being much faster at scanning and getting metadata, one of the benefits of the new agent is that all agent settings are set at the library level, so that different libraries using the same agent can have different agent settings. When scanning this library, use local posters and artwork if present. (Local subtitles files will be used whether this is enabled or not) Suggested: Enabled I had this enabled because I thought it was needed for local subtitles (.srt), but after research it seems it isn't needed. If you want you could disable it, the choice is yours. When scanning this library, prefer embedded tags and local files if present. Suggested: Disabled If enabled you could end up with weird movie naming you don't want, happens especially from releases from RARBG Automatically create collections when there are more than the selected number of items for an available collection. Suggested: 2 Only show collections when you have more than one item in your library This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video. ATTENTION Creating these images can take a considerable amount of time , CPU resources , and increase the storage space used . The images are stored in your Plex database so be careful you don\u2019t fill the drive Suggested: Disabled Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward. This deletes the preview thumbnails it generated before you disabled this option If you want to show your Collection in your library Suggested: Disabled When Disabled your movies will show up normally when you use library view, This doesn't mean it will disable the collection view. TV \u00b6 The new version of the Plex Movie agent/scanner Suggested: Plex TV Series Besides being much faster at scanning and getting metadata, one of the benefits of the new agent is that all agent settings are set at the library level, so that different libraries using the same agent can have different agent settings. How episodes are named on disk. If your naming follows The MovieDB or TheTVDB choose that here. Use season titles when available. When scanning this library, use local posters and artwork if present. (Local subtitles files will be used whether this is enabled or not) Suggested: Enabled I had this enabled because I thought it was needed for local subtitles (.srt), but after research it seems it isn't needed. If you want you could disable it, the choice is yours. When scanning this library, prefer embedded tags and local files if present. Suggested: Disabled If enabled you could end up with weird movie naming you don't want, happens especially from releases from RARBG This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video. ATTENTION Creating these images can take a considerable amount of time , CPU resources , and increase the storage space used . The images are stored in your Plex database so be careful you don\u2019t fill the drive Suggested: Disabled Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward. This deletes the preview thumbnails it generated before you disabled this option If you want to show your Collection in your library Suggested: Disabled When Disabled your tv show will show up normally when you use library view, This doesn't mean it will disable the collection view. Generate intro detection for items in this library when enabled in server settings. Suggested: Enabled Ever watch a TV show and it starts playing that same minute and a half credits intro that you've already watched multiple times? Well, you can have your Plex Media Server analyze the TV shows to try and detect those introductions and then let you skip through them with a single click! For the information of this guide, I made use of the following sources Information I gathered from Several Discord servers Plex Support Articles Extra Information gathered from a Plex employee Own experience Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Suggested Plex Media Server Settings"},{"location":"Plex/Tips/Plex-media-server/#suggested-plex-media-server-settings","text":"So, what are the best Plex Media Server settings? This is something that can't really be answered because it depends on the use case and your personal preference. Here I will provide some suggestions and try to explain why I recommend these settings. Adjust it to your own liking and keep in mind that it is only a suggestion. I'm not a Plex Pro in anyway Attention Some settings are only visible for Plex Pass holders. All changes need to be done on your Plex Media Server. Why didn't you cover option .... ? I will only cover settings that I think might be interesting or are personal preference, if you would like me to cover some other settings, please contact me on","title":"Suggested Plex Media Server Settings"},{"location":"Plex/Tips/Plex-media-server/#settings","text":"","title":"Settings"},{"location":"Plex/Tips/Plex-media-server/#remote-access","text":"Make sure you have enabled advanced settings (This will be needed for all the settings) Enable/Disable Remote access (if you disable it ignore the rest of these settings) LAN/container IP Public IP If you need to provide a screenshot always mask this IP Manually specify public port if you run Docker or want a fixed port. Enter the Plex port you want to use. (default: 32400 ) Click on Apply and when everything is setup correctly, your Plex Media Server should be fully accessible outside of your network, so you can connect to your Plex server from outside. You may also need to configure port forwarding on your router. Detailed instructions are available HERE . Enter your internet upload speed here and Plex can ensure it operates within this boundary. Set the maximum bitrate of a remote stream from this server.","title":"Remote Access"},{"location":"Plex/Tips/Plex-media-server/#agents","text":"This can be ignored if you use the new Plex agents, The new agent settings are now managed \u201cper library\u201d.","title":"Agents"},{"location":"Plex/Tips/Plex-media-server/#library","text":"","title":"Library"},{"location":"Plex/Tips/Plex-media-server/#scan-my-library-automatically","text":"When a change is detected in the source location for a library\u2019s content, the appropriate library will be scanned. This function relies on the computer\u2019s operating system providing the \u201csomething changed\u201d trigger. Some operating systems don\u2019t provide this trigger and content mounted via a network will also typically not work. If your library doesn\u2019t automatically scan, you may have to set a periodical scan or do it manually. Suggested: Enabled TIP - Autoscan - [CLICK TO EXPAND] If for some reason ex. your operating systems don\u2019t provide this trigger or your storage is mounted on a network (SMB/NFS/Cloud Storage) or your library just doesn't automatically scan, or is just plain impractical, You might want to consider using autoscan. IBRACORP (A Youtube channel I collaborate with) has a video explaining it in further detail. Please don't forget to check out his other Unraid Video's HERE","title":"Scan my library automatically"},{"location":"Plex/Tips/Plex-media-server/#run-a-partial-scan-when-changes-are-detected","text":"When changes to library folders are detected, only scan the folder which changed rather than scanning the entire content location. This works together with the normal Update my library automatically setting (and requires that setting to be enabled). Suggested: Enabled","title":"Run a partial scan when changes are detected"},{"location":"Plex/Tips/Plex-media-server/#include-music-libraries-in-automatic-updates","text":"I don't do music, so this choice is up to you, and I won't be covering it.","title":"Include music libraries in automatic updates"},{"location":"Plex/Tips/Plex-media-server/#scan-my-library-periodically","text":"Turning this on will cause your Plex Media Server to run scans on your libraries using the designated interval. Suggested: Disabled Do you need a extra scan for your library to recognize new media?","title":"Scan my library periodically"},{"location":"Plex/Tips/Plex-media-server/#empty-trash-automatically-after-every-scan","text":"With this option enabled, when an item\u2019s file is deleted from the drive, it will be removed from the Plex library on the next scan. Disabling this option keeps the item in the library with an overlay over the item\u2019s poster when the item is removed. Suggested: Enabled","title":"Empty trash automatically after every scan"},{"location":"Plex/Tips/Plex-media-server/#allow-media-deletion","text":"The owner of the server will be allowed to delete media files from disk. Suggested: Disabled In my opinion Plex shouldn't touch your media files. Use Sonarr/Radarr to manage your media library. (For extra security I've setup Plex with Read Only access to the media library)","title":"Allow media deletion"},{"location":"Plex/Tips/Plex-media-server/#run-scanner-tasks-at-a-lower-priority","text":"On low-powered systems (e.g. ARM-based NAS devices), it can be beneficial to run scanner tasks at a lower priority than other tasks. This can help ensure they do not interfere with regular streaming. Suggested: Enabled Makes sure it uses less resources and ensure they do not interfere with regular streaming.","title":"Run scanner tasks at a lower priority"},{"location":"Plex/Tips/Plex-media-server/#generate-video-preview-thumbnails","text":"This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video. Suggested: Never Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward. ATTENTION Creating these images can Take a considerable amount of time Use a lot of CPU resources Increase the storage space used The images are stored in your Plex database location (/config) so be careful you don\u2019t fill the drive","title":"Generate video preview thumbnails"},{"location":"Plex/Tips/Plex-media-server/#generate-intro-video-markers","text":"You can choose to have TV episodes analyzed to try and detect when the \u201cintro\u201d occurs during playback. When detected, apps will then offer a Skip Intro button, allowing you to quickly jump over the intro. Suggested: as a scheduled task or Suggested: as a scheduled task and when media is added","title":"Generate intro video markers"},{"location":"Plex/Tips/Plex-media-server/#generate-chapter-thumbnails","text":"Chapter thumbnails provide images in the chapter view on supported apps. They can take a little time to generate and consume very minor additional disk space. Suggested: as a scheduled task or Suggested: as a scheduled task and when media is added","title":"Generate chapter thumbnails"},{"location":"Plex/Tips/Plex-media-server/#network","text":"","title":"Network"},{"location":"Plex/Tips/Plex-media-server/#enable-ipv6-support","text":"Enable IPv6 support. Suggested: Disabled If you're not sure your network 100% works with ip6 don't Enable it .","title":"Enable IPv6 support"},{"location":"Plex/Tips/Plex-media-server/#secure-connections","text":"Choose how your Plex Media Server handles secure connections. Suggested: Preferred Accept and prefer secure connections when they\u2019re available for a Plex app, but allow regular HTTP connections if the app doesn\u2019t support secure connections or if one can\u2019t be established","title":"Secure connections"},{"location":"Plex/Tips/Plex-media-server/#preferred-network-interface","text":"For users with multiple network cards or systems such as NAS or Docker where there is always another network interface which Plex client applications may try to use to connect to the Plex Media Server, with this option you can ensure that your local Plex clients would only try that interface. Attention If you have enabled Remote Access enabled and are having Plex automatically map the port (as opposed to specifying a port manually), then Plex Media Server has no control over which network interface is used for an automatically-mapped port. Thus, it\u2019s possible that Remote Access connections could come through an interface other than the one specified here. Suggested: Whatever suits your setup","title":"Preferred network interface"},{"location":"Plex/Tips/Plex-media-server/#strict-tls-configuration","text":"If this setting is enabled, it prevents Plex Media Server from using or accepting the deprecated TLSv1.0 and v1.1 protocols, as well as legacy weak ciphers. May prevent older clients from connecting. The vast majority of users will have no reason to enable this option (and receive no benefit from doing so). Suggested: Disabled","title":"Strict TLS configuration"},{"location":"Plex/Tips/Plex-media-server/#enable-local-network-discovery-gdm","text":"Enable \u201cG\u2019Day Mate\u201d discovery. This is used to allows Plex apps and servers to find each other automatically on a local network. Suggested: Enabled","title":"Enable local network discovery (GDM)"},{"location":"Plex/Tips/Plex-media-server/#remote-streams-allowed-per-user","text":"You can set the maximum number of simultaneous streams each remote user is allowed to have. Suggested: Whatever suits your setup","title":"Remote streams allowed per user"},{"location":"Plex/Tips/Plex-media-server/#lan-networks","text":"It lets you specify which IP addresses or networks will be considered to be \u201clocal\u201d to you. Suggested: Your local IP/netmasks If your local devices are seen as remote devices, then this could solve your issue. (Do not include spaces or tabs.)","title":"LAN Networks"},{"location":"Plex/Tips/Plex-media-server/#treat-wan-ip-as-lan-bandwidth","text":"Allows incoming requests from this network\u2019s WAN IP address to be treated as LAN requests in terms of bandwidth. This often occurs when DNS rebinding protection is in place and clients on the LAN cannot contact the server directly but instead have to go through the WAN IP address. Suggested: Enabled","title":"Treat WAN IP As LAN Bandwidth"},{"location":"Plex/Tips/Plex-media-server/#enable-relay","text":"The Relay allows connections to the server through a proxy relay when the server is not accessible otherwise. Relay connections are bandwidth limited. Suggested: Disabled I've seen several reports where people that had this Enabled had playback issues because it seems to be limited at 2 Mbps.","title":"Enable Relay"},{"location":"Plex/Tips/Plex-media-server/#custom-server-access-urls","text":"A comma-separated list of URLs (either HTTP or HTTPS), which will be published to plex.tv for server discovery. This can be very useful in a few cases: if you\u2019re using a reverse proxy in front of the media server, or if your networking configuration is otherwise unique. For instance, if you have your own custom domain with subdomain. Suggested: Depending on your setup Example: https://plex.mycustomdomain.com:32400","title":"Custom server access URLs"},{"location":"Plex/Tips/Plex-media-server/#webhooks","text":"This feature can be enabled to allow your server to send events to external services. For example Notifiarr","title":"Webhooks"},{"location":"Plex/Tips/Plex-media-server/#transcoders","text":"","title":"Transcoders"},{"location":"Plex/Tips/Plex-media-server/#transcoder-quality","text":"This will influence the quality used when transcoding media. Suggested: Automatic Most users should leave it set to Automatic. Hardware-Accelerated Streaming is not affected by this setting.","title":"Transcoder quality"},{"location":"Plex/Tips/Plex-media-server/#transcoder-temporary-directory","text":"Directory to use when transcoding temporary files for streaming. Suggested: Depending on your setup, if possible, your RAM (disk) Speeds up transcoding and less I/O, transcode data is temporary and doesn't need to be writing to a disk. If you run docker set this to /transcode and map it to /tmp/plex Default Linux only allocates a max of 50% of total system RAM to any ram directories (ie. /tmp, /dev/shm, etc.) WARNING YOU SHOULD NOT SPECIFY A LOCATION THAT RESIDES ON A NETWORK SHARE/DISK.","title":"Transcoder temporary directory"},{"location":"Plex/Tips/Plex-media-server/#enable-hdr-tone-mapping","text":"This feature allows Plex Media Server to maintain high visual fidelity of content, by applying tone mapping to convert it to SDR when transcoding HDR content. Suggested: Depending on your setup Most HDR content will be in 4K resolution. If your platform has to use software transcoding to perform the tone mapping, then it may well struggle convert 4K content in real-time, unless you\u2019re running on a very powerful system. Note Plex\u2019s tone mapping support should generally be able to produce good color mapping and help avoid the \u201cwashed out\u201d colors that occur when converting HDR content without tone mapping.","title":"Enable HDR tone mapping"},{"location":"Plex/Tips/Plex-media-server/#use-hardware-acceleration-when-available","text":"To use Hardware-Accelerated Streaming in Plex Media Server. Suggested: Enabled","title":"Use hardware acceleration when available"},{"location":"Plex/Tips/Plex-media-server/#use-hardware-accelerated-video-encoding","text":"To use Hardware-Accelerated Encoding in Plex Media Server. Suggested: Enabled","title":"Use hardware-accelerated video encoding"},{"location":"Plex/Tips/Plex-media-server/#manage","text":"","title":"Manage"},{"location":"Plex/Tips/Plex-media-server/#libraries","text":"Here you will find your libraries you've added to your Plex Media Server. Examples - [CLICK TO EXPAND] Movies (/data/media/movies) Movies-4K/Movies-UHD (/data/media/movies4k) / (/data/media/movies-uhd) Movies-Kids (/data/media/movies-kids) Movies-Anime (/data/media/movies-anime) TV (/data/media/tv) TV-4k/TV-UHD (/data/media/tv-4k) / (/data/media/tv-uhd) TV-Kids (/data/media/tv-kids) TV-Anime (/data/media/tv-anime) Anime (/data/media/anime) etc I will only cover the libraries settings for Movies and TV shows","title":"Libraries"},{"location":"Plex/Tips/Plex-media-server/#movies","text":"The new version of the Plex Movie agent/scanner Suggested: Plex Movie Besides being much faster at scanning and getting metadata, one of the benefits of the new agent is that all agent settings are set at the library level, so that different libraries using the same agent can have different agent settings. When scanning this library, use local posters and artwork if present. (Local subtitles files will be used whether this is enabled or not) Suggested: Enabled I had this enabled because I thought it was needed for local subtitles (.srt), but after research it seems it isn't needed. If you want you could disable it, the choice is yours. When scanning this library, prefer embedded tags and local files if present. Suggested: Disabled If enabled you could end up with weird movie naming you don't want, happens especially from releases from RARBG Automatically create collections when there are more than the selected number of items for an available collection. Suggested: 2 Only show collections when you have more than one item in your library This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video. ATTENTION Creating these images can take a considerable amount of time , CPU resources , and increase the storage space used . The images are stored in your Plex database so be careful you don\u2019t fill the drive Suggested: Disabled Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward. This deletes the preview thumbnails it generated before you disabled this option If you want to show your Collection in your library Suggested: Disabled When Disabled your movies will show up normally when you use library view, This doesn't mean it will disable the collection view.","title":"Movies"},{"location":"Plex/Tips/Plex-media-server/#tv","text":"The new version of the Plex Movie agent/scanner Suggested: Plex TV Series Besides being much faster at scanning and getting metadata, one of the benefits of the new agent is that all agent settings are set at the library level, so that different libraries using the same agent can have different agent settings. How episodes are named on disk. If your naming follows The MovieDB or TheTVDB choose that here. Use season titles when available. When scanning this library, use local posters and artwork if present. (Local subtitles files will be used whether this is enabled or not) Suggested: Enabled I had this enabled because I thought it was needed for local subtitles (.srt), but after research it seems it isn't needed. If you want you could disable it, the choice is yours. When scanning this library, prefer embedded tags and local files if present. Suggested: Disabled If enabled you could end up with weird movie naming you don't want, happens especially from releases from RARBG This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video. ATTENTION Creating these images can take a considerable amount of time , CPU resources , and increase the storage space used . The images are stored in your Plex database so be careful you don\u2019t fill the drive Suggested: Disabled Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward. This deletes the preview thumbnails it generated before you disabled this option If you want to show your Collection in your library Suggested: Disabled When Disabled your tv show will show up normally when you use library view, This doesn't mean it will disable the collection view. Generate intro detection for items in this library when enabled in server settings. Suggested: Enabled Ever watch a TV show and it starts playing that same minute and a half credits intro that you've already watched multiple times? Well, you can have your Plex Media Server analyze the TV shows to try and detect those introductions and then let you skip through them with a single click! For the information of this guide, I made use of the following sources Information I gathered from Several Discord servers Plex Support Articles Extra Information gathered from a Plex employee Own experience Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"TV"},{"location":"Plex/profiles/","text":"Plex Profiles \u00b6 Here you will find a collection of profiles you can use with Plex. Profiles are used if Plex has issues direct playing your media on your devices, these profiles could help but result. How to \u00b6 To make use of the profiles you need to add it in your your plex folder Docker \u00b6 Example paths: Hotio's container: /appdata/plex/Profiles LSIO container: /appdata/plex/database/Library/Application Support/Plex Media Server/Profiles or /appdata/plex/Library/Application Support/Plex Media Server/Profiles Profiles \u00b6 If you got some to share, pls make a PR so we can collect them at one place Android Shield \u00b6 Please name the file: Android-SHIELD Android TV.xml Shield Profile
    Chromecast \u00b6 Please name the file: Chromecast.xml Chromecast Profile Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Plex Profiles"},{"location":"Plex/profiles/#plex-profiles","text":"Here you will find a collection of profiles you can use with Plex. Profiles are used if Plex has issues direct playing your media on your devices, these profiles could help but result.","title":"Plex Profiles"},{"location":"Plex/profiles/#how-to","text":"To make use of the profiles you need to add it in your your plex folder","title":"How to"},{"location":"Plex/profiles/#docker","text":"Example paths: Hotio's container: /appdata/plex/Profiles LSIO container: /appdata/plex/database/Library/Application Support/Plex Media Server/Profiles or /appdata/plex/Library/Application Support/Plex Media Server/Profiles","title":"Docker"},{"location":"Plex/profiles/#profiles","text":"If you got some to share, pls make a PR so we can collect them at one place","title":"Profiles"},{"location":"Plex/profiles/#android-shield","text":"Please name the file: Android-SHIELD Android TV.xml Shield Profile
    ","title":"Android Shield"},{"location":"Plex/profiles/#chromecast","text":"Please name the file: Chromecast.xml Chromecast Profile Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Chromecast"},{"location":"Radarr/","text":"Radarr \u00b6 Here you will find a collection of Radarr Guides I made. v3 Radarr Branch: latest \u00b6 (stable) (v3) Builds Pushed only when intentionally released Github Branch: master Docker: hotio/radarr:release hotio/radarr:release","title":"Home"},{"location":"Radarr/#radarr","text":"Here you will find a collection of Radarr Guides I made.","title":"Radarr"},{"location":"Radarr/#v3-radarr-branch-latest","text":"(stable) (v3) Builds Pushed only when intentionally released Github Branch: master Docker: hotio/radarr:release hotio/radarr:release","title":"v3 Radarr Branch: latest"},{"location":"Radarr/Radarr-Quality-Settings-File-Size/","text":"Quality Settings (File Size) \u00b6 I often get the question what's the best Quality Settings to use, Well it's actually personal preference so I will show you a recommended Quality Settings. But before you continue to read, as with all my guides: If you don't care about quality then stop reading and see if the other tutorials are helpful for you. This Quality Settings has been created and tested with info I got from others, and release comparisons from different sources. FAQ - [CLICK TO EXPAND] FAQ \u00b6 Q: Why do you only show starting from HDTV720p? A: With the big screens these days anything lower doesn't look watchable Q: Why do you have some sized set to max? A: You probably didn't read the bold text above Q: When I set Bluray to MAX size I get often ISO's/ Bluray folder structure. A: You probable have configured your Quality Profiles wrong and enabled BR-DISK and didn't add the recommended Custom Profile to help Radarr to block/ignore it. BR-DISK Q: Some movies won't be grabbed because of these settings. A: If you notice that some movies won't be grabbed because of these size settings you can provide me a proof with a screenshot and the error it shows you when you do a interactive search (non redacted except the indexer/tracker if you want to). I will only accept changes that are International releases no multi, or dubbed language releases. I won't accept mislabeled source releases like from MeGusta, etc (they should learn to name their stuff decent first). I won't accept changes for micro sized releases. Documentaries and cartoons are often much smaller so I probably won't edit those either. Radarr Quality Definitions \u00b6 Quality Minimum Maximum HDTV-720p 17.1 400 WEBDL-720p 17.1 400 WEBRip-720p 17.1 400 Bluray-720p 25.7 400 HDTV-1080p 33.7 400 WEBDL-1080p 25.2 400 WEBRip-1080p 25.2 400 Bluray-1080p 50.8 400 Remux-1080p 136.8 400 HDTV-2160p 85 400 WEBDL-2160p 85 400 WEBRip-2160p 85 400 Bluray-2160p 102 400 Remux-2160p 221.5 400 Note The reason why you don't see the preferred score in the Table is because we want max quality anyway so as high as possible. The highest preferred quality you can manually enter is 1 less than the Maximum quality. If you use the slider, the preferred quality can be up to 5 lesser than the Maximum quality. Make sure you have enabled 'Show Advanced' in Radarr, if you don't see a provision to enter the scores, under the Quality settings. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Quality Settings (File Size)"},{"location":"Radarr/Radarr-Quality-Settings-File-Size/#quality-settings-file-size","text":"I often get the question what's the best Quality Settings to use, Well it's actually personal preference so I will show you a recommended Quality Settings. But before you continue to read, as with all my guides: If you don't care about quality then stop reading and see if the other tutorials are helpful for you. This Quality Settings has been created and tested with info I got from others, and release comparisons from different sources. FAQ - [CLICK TO EXPAND]","title":"Quality Settings (File Size)"},{"location":"Radarr/Radarr-Quality-Settings-File-Size/#faq","text":"Q: Why do you only show starting from HDTV720p? A: With the big screens these days anything lower doesn't look watchable Q: Why do you have some sized set to max? A: You probably didn't read the bold text above Q: When I set Bluray to MAX size I get often ISO's/ Bluray folder structure. A: You probable have configured your Quality Profiles wrong and enabled BR-DISK and didn't add the recommended Custom Profile to help Radarr to block/ignore it. BR-DISK Q: Some movies won't be grabbed because of these settings. A: If you notice that some movies won't be grabbed because of these size settings you can provide me a proof with a screenshot and the error it shows you when you do a interactive search (non redacted except the indexer/tracker if you want to). I will only accept changes that are International releases no multi, or dubbed language releases. I won't accept mislabeled source releases like from MeGusta, etc (they should learn to name their stuff decent first). I won't accept changes for micro sized releases. Documentaries and cartoons are often much smaller so I probably won't edit those either.","title":"FAQ"},{"location":"Radarr/Radarr-Quality-Settings-File-Size/#radarr-quality-definitions","text":"Quality Minimum Maximum HDTV-720p 17.1 400 WEBDL-720p 17.1 400 WEBRip-720p 17.1 400 Bluray-720p 25.7 400 HDTV-1080p 33.7 400 WEBDL-1080p 25.2 400 WEBRip-1080p 25.2 400 Bluray-1080p 50.8 400 Remux-1080p 136.8 400 HDTV-2160p 85 400 WEBDL-2160p 85 400 WEBRip-2160p 85 400 Bluray-2160p 102 400 Remux-2160p 221.5 400 Note The reason why you don't see the preferred score in the Table is because we want max quality anyway so as high as possible. The highest preferred quality you can manually enter is 1 less than the Maximum quality. If you use the slider, the preferred quality can be up to 5 lesser than the Maximum quality. Make sure you have enabled 'Show Advanced' in Radarr, if you don't see a provision to enter the scores, under the Quality settings. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Radarr Quality Definitions"},{"location":"Radarr/Radarr-collection-of-custom-formats/","text":"Collection of Custom Formats \u00b6 Here I will try to collect a collection of the most needed and commonly used Custom Formats. These have been collected from either discussions on discord or that I created with help from others. Special thanks to rg9400 , bakerboy448 and Team Radarr. With Radarr V3, Custom Formats are much more advanced/powerful than with v0.2, although this also means a Custom Format is much more complicated to setup. After requesting at Team Radarr we now have the options to import/export the Custom Formats in a JSON format that we can use here what makes it easier to share the different kind of Custom Formats. I also made 3 guides related to this one. How to import Custom Formats . Where I will try to explain how to import the Custom Formats. How to upgrade Custom Formats . Where I will try to explain how to upgrade your existing the Custom Formats. How to setup Custom Formats Where I will try to explain how to make the most use of Custom Formats and show some personal examples that I'm using. That you can use to get a idea how to setup yours. Tip I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. INDEX \u00b6 Audio Advanced #1 Audio Advanced #2 Audio Channels HDR Metadata TrueHD ATMOS FLAC 1.0 Mono DV HDR10 DTS X PCM 2.0 Stereo DV ATMOS (undefined) DTS-HD HRA 3.0 Sound DV HLG DD+ ATMOS AAC 4.0 Sound DV SDR TrueHD DD 5.1 Surround HDR10+ DTS-HD MA MP3 6.1 Surround HDR10 DD+ Opus 7.1 Surround HDR DTS-ES 9.1 Surround HDR (undefined) DTS PQ HLG Movie Versions Unwanted Misc HQ Source Groups Hybrid BR-DISK Repack/Proper HQ-Remux Remaster EVO (no WEBDL) Multi HQ 4K Remaster LQ x264 HQ-WEBDL Special Editions x265 (720/1080p) x265 Criterion Collection 3D MPEG2 Theatrical Cut No-RlsGroup FreeLeech IMAX Obfuscated Dutch Groups IMAX Enhanced DV (WEBDL) Anime Dual Audio Audio Advanced \u00b6 TrueHD ATMOS \u00b6 TrueHD ATMOS - [CLICK TO EXPAND] From Wikipedia, the free encyclopedia Dolby Atmos is a surround sound technology developed by Dolby Laboratories. It expands on existing surround sound systems by adding height channels, allowing sounds to be interpreted as three-dimensional objects. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"496f355514737f7d83bf7aa4d24f8169\" , \"trash_score\" : \"5000\" , \"name\" : \"TrueHD ATMOS\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"TrueHD\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"TrueHD|W4NK3R|HQMUX\" } }, { \"name\" : \"ATMOS\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(ATMOS|CtrlHD|W4NK3R|DON)(\\\\b|\\\\d)\" } }, { \"name\" : \"Not Dolby Digital Plus \" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"[^-]dd[p+]|eac3\" } }, { \"name\" : \"Not DTS\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\bDTS(\\\\b|\\\\d)\" } }, { \"name\" : \"Not Basic Dolby Digital\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"(? Profiles ) and then set the score to -1000 or even -10000 Note Depending on your renaming scheme it could happen that Radarr will match renamed files after they are downloaded and imported as BR-DISK , This is a cosmetic annoyance till I come up for another way to solve this, being that this Custom Format is used to not download BR-DISK it does its purpose as intended. Several reasons why this is happening: Blame the often wrongly used naming of x265 encodes. Radarr v3/v4 uses dynamic custom formats. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"ed38b889b31be83fda192888e2286d83\" , \"trash_score\" : \"-10000\" , \"name\" : \"BR-DISK\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"DOES NOT INCLUDE ANY OF THESE WORDS\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"^(?!.*\\\\b((? Profiles ) and then set the score to -1000 or even -10000 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"90cedc1fea7ea5d11298bebd3d1d3223\" , \"trash_score\" : \"-10000\" , \"name\" : \"EVO (no WEBDL)\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"EVO\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\bEVO(TGX)?\\\\b\" } }, { \"name\" : \"WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 8 } } ] } TOP LQ \u00b6 Low Quality Releases = LQ LQ - [CLICK TO EXPAND] A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality. Note You might want to add the following also EVO (no WEBDL) BLOCK1 = Low-Quality Releases (often banned groups) BLOCK2 = Another Small list of often banned groups. BLOCK3 = Banned release groups. BLOCK4 = Low-quality and/or dishonest release groups. BLOCK5 = Banned Release Groups. BLOCK6 = Rips from Scene and quick-to-release P2P groups while adequate, are not considered high quality. RiffTrax = RiffTrax is an American company that produces scripted humorous audio commentary tracks intended to be played in unison with particular television programs and films, In short just annoying !!! JSON - [CLICK TO EXPAND] { \"trash_id\" : \"90a6f9a284dff5103f6346090e6280c8\" , \"trash_score\" : \"-10000\" , \"name\" : \"LQ\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"[BLOCK1]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(aXXo|CrEwSaDe|DNL|FaNGDiNG0|FRDS|HDTime|iPlanet|-KiNGDOM|Leffe|mHD|mSD|nHD|nikt0|nSD|NhaNc3|PRODJi|RDN|SANTi|STUTTERSHIT|WAF|x0r|YIFY|YTS)\\\\b\" } }, { \"name\" : \"[BLOCK2]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(CDDHD|-EuReKA|DDR|DNL|-BARC0DE)\\\\b\" } }, { \"name\" : \"[BLOCK3]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(x0r|nikt0|FGT|d3g|MeGusta|YIFY|YTS|tigole|C4K|RARBG|4K4U)\\\\b\" } }, { \"name\" : \"[BLOCK4]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(-AROMA|aXXo|CrEwSaDe|d3g|DNL|FGT|FaNGDiNG0|FRDS|HDTime|iPlanet|-KiNGDOM|Leffe|MeGusta|mHD|mSD|nHD|nikt0|nSD|NhaNc3|PRODJi|RDN|SANTi|STUTTERSHIT|WAF|x0r|YIFY|YTS)\\\\b\" } }, { \"name\" : \"[BLOCK5]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(RARBG|FGT|STUTTERSHIT|LiGaS|-DDR|-Zeus|Tigole|TBS)\\\\b\" } }, { \"name\" : \"[BLOCK6]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(-beAst|CHD|HDWinG|MTeam|MySiLU|-WiKi)\\\\b\" } }, { \"name\" : \"RiffTrax\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(Rifftrax|RU4HD)\\\\b\" } }, { \"name\" : \"Nominated Unwanted Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(TEKNO3D|TIKO|Liber8)\\\\b\" } } ] } TOP x265 (720/1080p) \u00b6 720/1080p no x265 = x265 (720/1080p) 720/1080p no x265 - [CLICK TO EXPAND] This blocks/ignores 720/1080p releases that are encoded in x265 You will need to add the following to your new Custom Format when created in your Quality Profile ( Setting => Profiles ) and then set the score to -1000 or even -10000 Quote x265 is good for 4k stuff or 1080p if they used the the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities. So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people Microsized & Wrong Source \u00b6 It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it. Golden Rule \u00b6 That's why I created my own golden rule. 720/1080p => x264 2160p/4k => x265 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"dc98083864ea246d05a42df0d05f81cc\" , \"trash_score\" : \"-10000\" , \"name\" : \"x265 (720/1080p)\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"720p\" , \"implementation\" : \"ResolutionSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 720 } }, { \"name\" : \"1080p\" , \"implementation\" : \"ResolutionSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 1080 } }, { \"name\" : \"x265/HEVC\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"[xh][ .]?265|\\\\bHEVC(\\\\b|\\\\d)\" } } ] } TOP 3D \u00b6 3D - [CLICK TO EXPAND] If you prefer or not prefer 3D. You can use Custom Format or use Restrictions ( Settings => Indexers => Restrictions ) what ever you prefer. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"b8cd450cbfa689c0259a01d9e29ba3d6\" , \"trash_score\" : \"-10000\" , \"name\" : \"3D\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"3D\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b3d|sbs|half[ .-]ou|half[ .-]sbs\\\\b\" } }] } TOP No-RlsGroup \u00b6 No-RlsGroup - [CLICK TO EXPAND] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match Warning If you don't use a decent filenames like not adding release groups don't add this Custom Format, except if you want to upgrade them. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"ae9b7c9ebde1f3bd336a8cbd1ec4c5e5\" , \"trash_score\" : \"-10000\" , \"name\" : \"No-RlsGroup\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"No -RlsGroup\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"-[ ]?(?!(HD|MA|ES|X)\\\\b)\\\\w+?(\\\\.\\\\w{3})?$\" } }, { \"name\" : \"No Weird Groups or Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(Tigole|Joy|YIFY|YTS.MX|YTS.LT|FreetheFish|afm72|Anna|Bandi|Ghost|Kappa|MONOLITH|Qman|RZeroX|SAMPA|Silence|theincognito|t3nzin|Vyndros|HDO|DusIctv|DHD|SEV|CtrlHD|-ZR-|ADC|XZVN|RH|Kametsu)(?=\\\\]|\\\\))\" } }, { \"name\" : \"No Weird Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"KRaLiMaRKo|E\\\\.N\\\\.D|D\\\\-Z0N3|Koten_Gars|BluDragon\" } } ] } TOP Obfuscated \u00b6 Obfuscated - [CLICK TO EXPAND] Optional (use these only if you dislike renamed and retagged releases) JSON - [CLICK TO EXPAND] { \"trash_id\" : \"7357cf5161efbf8c4d5d0c30b4815ee2\" , \"trash_score\" : \"-10000\" , \"name\" : \"Obfuscated\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Obfuscated\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"(-4P|-4Planet|-AsRequested|-BUYMORE|-Chamele0n|-GEROV|-iNC0GNiTO|-NZBGeek|-Obfuscated|-postbot|-Rakuv|-Scrambled|-WhiteRev|-xpost|-WRTEAM|-CAPTCHA|_nzb)\\\\b\" } }, { \"name\" : \"Retagged\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"(\\\\[rartv\\\\]|\\\\[eztv\\\\]|\\\\[TGx\\\\])\" } } ] } TOP DV (WEBDL) \u00b6 Dolby Vision = DoVi = DV DV (WEBDL) - [CLICK TO EXPAND] This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"923b6abef9b17f937fab56cfcf89e1f1\" , \"trash_score\" : \"-10000\" , \"name\" : \"DV (WEBDL)\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Dolby Vision\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(dv|dovi|dolby[ .]?vision)\\\\b\" } }, { \"name\" : \"WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 8 } }, { \"name\" : \"Group Exceptions\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(SIC|HULU)\\\\b\" } }, { \"name\" : \"DV HDR10\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(DV[ .]HDR10)\\\\b\" } } ] } TOP Misc \u00b6 Repack Proper \u00b6 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"e7718d7a3ce595f289bfee26adc178f5\" , \"trash_score\" : \"1\" , \"name\" : \"Repack/Proper\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"Repack\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"Repack\" } }, { \"name\" : \"Proper\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"Proper\" } }, { \"name\" : \"Rerip\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"Rerip\" } } ] } TOP x264 \u00b6 x264 - [CLICK TO EXPAND] x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format, and is released under the terms of the GNU GPL . If you want maximum compatibility and have much better direct play support then use x264 for 720p/1080p JSON - [CLICK TO EXPAND] { \"trash_id\" : \"2899d84dc9372de3408e6d8cc18e9666\" , \"name\" : \"x264\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"x264\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"[xh][ .]?264|\\\\bAVC(\\\\b|\\\\d)\" } }, { \"name\" : \"Remux\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 5 } } ] } TOP x265 \u00b6 x265 - [CLICK TO EXPAND] x265 is a free software library and application for encoding video streams into the H.265/MPEG-H HEVC compression format, and is released under the terms of the GNU GPL . Please don't forget to read the following Microsized & Wrong Source JSON - [CLICK TO EXPAND] { \"trash_id\" : \"9170d55c319f4fe40da8711ba9d8050d\" , \"name\" : \"x265\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"x265\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"[xh][ .]?265|\\\\bHEVC(\\\\b|\\\\d)\" } }, { \"name\" : \"Remux\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 5 } } ] } TOP FreeLeech \u00b6 FreeLeech - [CLICK TO EXPAND] Sometimes, torrent sites set a torrent to be freeleech. This means, that the download of this torrent will not count towards your download quota or ratio. This is really useful, if you do not have the best ratio yet. Attention Keep in mind not all trackers support this option. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"0d91270a7255a1e388fa85e959f359d8\" , \"trash_score\" : \"5\" , \"name\" : \"FreeLeech\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"FreeLeech\" , \"implementation\" : \"IndexerFlagSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 1 } }] } TOP Dutch Groups \u00b6 Dutch Groups - [CLICK TO EXPAND] If you prefer movies with also a Dutch audio track. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"9de657fd3d327ecf144ec73dfe3a3e9a\" , \"name\" : \"Dutch Groups\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"Dutch Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"-CyTSuNee|-SHiTSoNy|-QoQ\" } }] } TOP Anime Dual Audio \u00b6 Anime Dual Audio - [CLICK TO EXPAND] Description placeholder JSON - [CLICK TO EXPAND] { \"trash_id\" : \"4a3b087eea2ce012fcc1ce319259a3be\" , \"name\" : \"Anime Dual Audio\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Dual Audio\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"dual.?audio\" } }, { \"name\" : \"BluDragon\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"bludragon\" } }, { \"name\" : \"EN+JA\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"EN\\\\+JA|JA\\\\+EN\" } }, { \"name\" : \"ZR\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\bZR\\\\b\" } }, { \"name\" : \"Japanese Language\" , \"implementation\" : \"LanguageSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : 8 } } ] } TOP MPEG2 \u00b6 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"ff86c4326018682f817830ced463332b\" , \"name\" : \"MPEG2\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"MPEG2\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"MPEG[-.]?2\" } }] } TOP Multi \u00b6 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"4b900e171accbfb172729b63323ea8ca\" , \"name\" : \"Multi\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"Multi\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\bMulti(\\\\b|\\\\d)\" } }] } TOP HQ Source Groups \u00b6 HQ \u00b6 HQ-Releases = HQ HQ - [CLICK TO EXPAND] A collection of P2P groups that are known for their high quality releases. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"1c7d7b04b15cc53ea61204bebbcc1ee2\" , \"trash_score\" : \"1800\" , \"name\" : \"HQ\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"[BLOCK1]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"-BMF|-decibeL|\\\\bD-Z0N3\\\\b|\\\\bFTW-HD\\\\b|-HiFi|-NCmt|-OISTiLe|-TDD|\\\\bZQ\\\\b\" } }, { \"name\" : \"[BLOCK2]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"-HiSD|-NTb|-ift|-geek|-tnp|-pter|-bbq|FraMeSToR\" } }, { \"name\" : \"[BLOCK3]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"-CRiSC|-CtrlHD|-DON|\\\\b-EA\\\\b|-EbP|-LolHD|-SbR|-TayTo|-VietHD\" } }, { \"name\" : \"Not WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"Not WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 8 } }, { \"name\" : \"Not REMUX\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 5 } }, { \"name\" : \"Not 2160p\" , \"implementation\" : \"ResolutionSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 2160 } } ] } TOP HQ-WEBDL \u00b6 HQ-WEBDL - [CLICK TO EXPAND] A personal collection of P2P WEB-DL groups that are known for their high quality releases. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"26fa26253af4001701fedb56cec376dc\" , \"trash_score\" : \"1750\" , \"name\" : \"HQ-WEBDL\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"P2P Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(-TOMMY|-BLUTONiUM|-NTG|-TEPES|-KiNGS|-NTb|-CMRG|AJP69|-PHOENiX|-monkee|-MZABI|ROCCaT|FLUX|NOSiViD|SIC)\\\\b\" } }, { \"name\" : \"WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 8 } } ] } TOP HQ-Remux \u00b6 HQ-Remux - [CLICK TO EXPAND] A personal collection of P2P Remux groups that are known for their high quality releases. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"403f3f6266b90439cacc1e07cae4dc2d\" , \"trash_score\" : \"1900\" , \"name\" : \"HQ-Remux\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Remux Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(FraMeSToR|EPSiLON|KRaLiMaRKo|PmP|BLURANiUM|SiCFoI|SURFINBIRD|HiFi|iFT)\\\\b\" } }, { \"name\" : \"REMUX\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : 5 } } ] } TOP","title":"Collection of Custom Formats"},{"location":"Radarr/Radarr-collection-of-custom-formats/#collection-of-custom-formats","text":"Here I will try to collect a collection of the most needed and commonly used Custom Formats. These have been collected from either discussions on discord or that I created with help from others. Special thanks to rg9400 , bakerboy448 and Team Radarr. With Radarr V3, Custom Formats are much more advanced/powerful than with v0.2, although this also means a Custom Format is much more complicated to setup. After requesting at Team Radarr we now have the options to import/export the Custom Formats in a JSON format that we can use here what makes it easier to share the different kind of Custom Formats. I also made 3 guides related to this one. How to import Custom Formats . Where I will try to explain how to import the Custom Formats. How to upgrade Custom Formats . Where I will try to explain how to upgrade your existing the Custom Formats. How to setup Custom Formats Where I will try to explain how to make the most use of Custom Formats and show some personal examples that I'm using. That you can use to get a idea how to setup yours. Tip I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Collection of Custom Formats"},{"location":"Radarr/Radarr-collection-of-custom-formats/#index","text":"Audio Advanced #1 Audio Advanced #2 Audio Channels HDR Metadata TrueHD ATMOS FLAC 1.0 Mono DV HDR10 DTS X PCM 2.0 Stereo DV ATMOS (undefined) DTS-HD HRA 3.0 Sound DV HLG DD+ ATMOS AAC 4.0 Sound DV SDR TrueHD DD 5.1 Surround HDR10+ DTS-HD MA MP3 6.1 Surround HDR10 DD+ Opus 7.1 Surround HDR DTS-ES 9.1 Surround HDR (undefined) DTS PQ HLG Movie Versions Unwanted Misc HQ Source Groups Hybrid BR-DISK Repack/Proper HQ-Remux Remaster EVO (no WEBDL) Multi HQ 4K Remaster LQ x264 HQ-WEBDL Special Editions x265 (720/1080p) x265 Criterion Collection 3D MPEG2 Theatrical Cut No-RlsGroup FreeLeech IMAX Obfuscated Dutch Groups IMAX Enhanced DV (WEBDL) Anime Dual Audio","title":"INDEX"},{"location":"Radarr/Radarr-collection-of-custom-formats/#audio-advanced","text":"","title":"Audio Advanced"},{"location":"Radarr/Radarr-collection-of-custom-formats/#truehd-atmos","text":"TrueHD ATMOS - [CLICK TO EXPAND] From Wikipedia, the free encyclopedia Dolby Atmos is a surround sound technology developed by Dolby Laboratories. It expands on existing surround sound systems by adding height channels, allowing sounds to be interpreted as three-dimensional objects. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"496f355514737f7d83bf7aa4d24f8169\" , \"trash_score\" : \"5000\" , \"name\" : \"TrueHD ATMOS\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"TrueHD\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"TrueHD|W4NK3R|HQMUX\" } }, { \"name\" : \"ATMOS\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(ATMOS|CtrlHD|W4NK3R|DON)(\\\\b|\\\\d)\" } }, { \"name\" : \"Not Dolby Digital Plus \" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"[^-]dd[p+]|eac3\" } }, { \"name\" : \"Not DTS\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\bDTS(\\\\b|\\\\d)\" } }, { \"name\" : \"Not Basic Dolby Digital\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"(? Profiles ) and then set the score to -1000 or even -10000 Note Depending on your renaming scheme it could happen that Radarr will match renamed files after they are downloaded and imported as BR-DISK , This is a cosmetic annoyance till I come up for another way to solve this, being that this Custom Format is used to not download BR-DISK it does its purpose as intended. Several reasons why this is happening: Blame the often wrongly used naming of x265 encodes. Radarr v3/v4 uses dynamic custom formats. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"ed38b889b31be83fda192888e2286d83\" , \"trash_score\" : \"-10000\" , \"name\" : \"BR-DISK\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"DOES NOT INCLUDE ANY OF THESE WORDS\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"^(?!.*\\\\b((? Profiles ) and then set the score to -1000 or even -10000 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"90cedc1fea7ea5d11298bebd3d1d3223\" , \"trash_score\" : \"-10000\" , \"name\" : \"EVO (no WEBDL)\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"EVO\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\bEVO(TGX)?\\\\b\" } }, { \"name\" : \"WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 8 } } ] } TOP","title":"EVO (no WEBDL)"},{"location":"Radarr/Radarr-collection-of-custom-formats/#lq","text":"Low Quality Releases = LQ LQ - [CLICK TO EXPAND] A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality. Note You might want to add the following also EVO (no WEBDL) BLOCK1 = Low-Quality Releases (often banned groups) BLOCK2 = Another Small list of often banned groups. BLOCK3 = Banned release groups. BLOCK4 = Low-quality and/or dishonest release groups. BLOCK5 = Banned Release Groups. BLOCK6 = Rips from Scene and quick-to-release P2P groups while adequate, are not considered high quality. RiffTrax = RiffTrax is an American company that produces scripted humorous audio commentary tracks intended to be played in unison with particular television programs and films, In short just annoying !!! JSON - [CLICK TO EXPAND] { \"trash_id\" : \"90a6f9a284dff5103f6346090e6280c8\" , \"trash_score\" : \"-10000\" , \"name\" : \"LQ\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"[BLOCK1]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(aXXo|CrEwSaDe|DNL|FaNGDiNG0|FRDS|HDTime|iPlanet|-KiNGDOM|Leffe|mHD|mSD|nHD|nikt0|nSD|NhaNc3|PRODJi|RDN|SANTi|STUTTERSHIT|WAF|x0r|YIFY|YTS)\\\\b\" } }, { \"name\" : \"[BLOCK2]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(CDDHD|-EuReKA|DDR|DNL|-BARC0DE)\\\\b\" } }, { \"name\" : \"[BLOCK3]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(x0r|nikt0|FGT|d3g|MeGusta|YIFY|YTS|tigole|C4K|RARBG|4K4U)\\\\b\" } }, { \"name\" : \"[BLOCK4]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(-AROMA|aXXo|CrEwSaDe|d3g|DNL|FGT|FaNGDiNG0|FRDS|HDTime|iPlanet|-KiNGDOM|Leffe|MeGusta|mHD|mSD|nHD|nikt0|nSD|NhaNc3|PRODJi|RDN|SANTi|STUTTERSHIT|WAF|x0r|YIFY|YTS)\\\\b\" } }, { \"name\" : \"[BLOCK5]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(RARBG|FGT|STUTTERSHIT|LiGaS|-DDR|-Zeus|Tigole|TBS)\\\\b\" } }, { \"name\" : \"[BLOCK6]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(-beAst|CHD|HDWinG|MTeam|MySiLU|-WiKi)\\\\b\" } }, { \"name\" : \"RiffTrax\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(Rifftrax|RU4HD)\\\\b\" } }, { \"name\" : \"Nominated Unwanted Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(TEKNO3D|TIKO|Liber8)\\\\b\" } } ] } TOP","title":"LQ"},{"location":"Radarr/Radarr-collection-of-custom-formats/#x265-7201080p","text":"720/1080p no x265 = x265 (720/1080p) 720/1080p no x265 - [CLICK TO EXPAND] This blocks/ignores 720/1080p releases that are encoded in x265 You will need to add the following to your new Custom Format when created in your Quality Profile ( Setting => Profiles ) and then set the score to -1000 or even -10000 Quote x265 is good for 4k stuff or 1080p if they used the the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities. So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people","title":"x265 (720/1080p)"},{"location":"Radarr/Radarr-collection-of-custom-formats/#microsized-wrong-source","text":"It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it.","title":"Microsized & Wrong Source"},{"location":"Radarr/Radarr-collection-of-custom-formats/#golden-rule","text":"That's why I created my own golden rule. 720/1080p => x264 2160p/4k => x265 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"dc98083864ea246d05a42df0d05f81cc\" , \"trash_score\" : \"-10000\" , \"name\" : \"x265 (720/1080p)\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"720p\" , \"implementation\" : \"ResolutionSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 720 } }, { \"name\" : \"1080p\" , \"implementation\" : \"ResolutionSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 1080 } }, { \"name\" : \"x265/HEVC\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"[xh][ .]?265|\\\\bHEVC(\\\\b|\\\\d)\" } } ] } TOP","title":"Golden Rule"},{"location":"Radarr/Radarr-collection-of-custom-formats/#3d","text":"3D - [CLICK TO EXPAND] If you prefer or not prefer 3D. You can use Custom Format or use Restrictions ( Settings => Indexers => Restrictions ) what ever you prefer. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"b8cd450cbfa689c0259a01d9e29ba3d6\" , \"trash_score\" : \"-10000\" , \"name\" : \"3D\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"3D\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b3d|sbs|half[ .-]ou|half[ .-]sbs\\\\b\" } }] } TOP","title":"3D"},{"location":"Radarr/Radarr-collection-of-custom-formats/#no-rlsgroup","text":"No-RlsGroup - [CLICK TO EXPAND] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match Warning If you don't use a decent filenames like not adding release groups don't add this Custom Format, except if you want to upgrade them. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"ae9b7c9ebde1f3bd336a8cbd1ec4c5e5\" , \"trash_score\" : \"-10000\" , \"name\" : \"No-RlsGroup\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"No -RlsGroup\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"-[ ]?(?!(HD|MA|ES|X)\\\\b)\\\\w+?(\\\\.\\\\w{3})?$\" } }, { \"name\" : \"No Weird Groups or Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(Tigole|Joy|YIFY|YTS.MX|YTS.LT|FreetheFish|afm72|Anna|Bandi|Ghost|Kappa|MONOLITH|Qman|RZeroX|SAMPA|Silence|theincognito|t3nzin|Vyndros|HDO|DusIctv|DHD|SEV|CtrlHD|-ZR-|ADC|XZVN|RH|Kametsu)(?=\\\\]|\\\\))\" } }, { \"name\" : \"No Weird Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"KRaLiMaRKo|E\\\\.N\\\\.D|D\\\\-Z0N3|Koten_Gars|BluDragon\" } } ] } TOP","title":"No-RlsGroup"},{"location":"Radarr/Radarr-collection-of-custom-formats/#obfuscated","text":"Obfuscated - [CLICK TO EXPAND] Optional (use these only if you dislike renamed and retagged releases) JSON - [CLICK TO EXPAND] { \"trash_id\" : \"7357cf5161efbf8c4d5d0c30b4815ee2\" , \"trash_score\" : \"-10000\" , \"name\" : \"Obfuscated\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Obfuscated\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"(-4P|-4Planet|-AsRequested|-BUYMORE|-Chamele0n|-GEROV|-iNC0GNiTO|-NZBGeek|-Obfuscated|-postbot|-Rakuv|-Scrambled|-WhiteRev|-xpost|-WRTEAM|-CAPTCHA|_nzb)\\\\b\" } }, { \"name\" : \"Retagged\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"(\\\\[rartv\\\\]|\\\\[eztv\\\\]|\\\\[TGx\\\\])\" } } ] } TOP","title":"Obfuscated"},{"location":"Radarr/Radarr-collection-of-custom-formats/#dv-webdl","text":"Dolby Vision = DoVi = DV DV (WEBDL) - [CLICK TO EXPAND] This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"923b6abef9b17f937fab56cfcf89e1f1\" , \"trash_score\" : \"-10000\" , \"name\" : \"DV (WEBDL)\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Dolby Vision\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(dv|dovi|dolby[ .]?vision)\\\\b\" } }, { \"name\" : \"WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 8 } }, { \"name\" : \"Group Exceptions\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(SIC|HULU)\\\\b\" } }, { \"name\" : \"DV HDR10\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(DV[ .]HDR10)\\\\b\" } } ] } TOP","title":"DV (WEBDL)"},{"location":"Radarr/Radarr-collection-of-custom-formats/#misc","text":"","title":"Misc"},{"location":"Radarr/Radarr-collection-of-custom-formats/#repack-proper","text":"JSON - [CLICK TO EXPAND] { \"trash_id\" : \"e7718d7a3ce595f289bfee26adc178f5\" , \"trash_score\" : \"1\" , \"name\" : \"Repack/Proper\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"Repack\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"Repack\" } }, { \"name\" : \"Proper\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"Proper\" } }, { \"name\" : \"Rerip\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"Rerip\" } } ] } TOP","title":"Repack Proper"},{"location":"Radarr/Radarr-collection-of-custom-formats/#x264","text":"x264 - [CLICK TO EXPAND] x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format, and is released under the terms of the GNU GPL . If you want maximum compatibility and have much better direct play support then use x264 for 720p/1080p JSON - [CLICK TO EXPAND] { \"trash_id\" : \"2899d84dc9372de3408e6d8cc18e9666\" , \"name\" : \"x264\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"x264\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"[xh][ .]?264|\\\\bAVC(\\\\b|\\\\d)\" } }, { \"name\" : \"Remux\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 5 } } ] } TOP","title":"x264"},{"location":"Radarr/Radarr-collection-of-custom-formats/#x265","text":"x265 - [CLICK TO EXPAND] x265 is a free software library and application for encoding video streams into the H.265/MPEG-H HEVC compression format, and is released under the terms of the GNU GPL . Please don't forget to read the following Microsized & Wrong Source JSON - [CLICK TO EXPAND] { \"trash_id\" : \"9170d55c319f4fe40da8711ba9d8050d\" , \"name\" : \"x265\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"x265\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"[xh][ .]?265|\\\\bHEVC(\\\\b|\\\\d)\" } }, { \"name\" : \"Remux\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 5 } } ] } TOP","title":"x265"},{"location":"Radarr/Radarr-collection-of-custom-formats/#freeleech","text":"FreeLeech - [CLICK TO EXPAND] Sometimes, torrent sites set a torrent to be freeleech. This means, that the download of this torrent will not count towards your download quota or ratio. This is really useful, if you do not have the best ratio yet. Attention Keep in mind not all trackers support this option. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"0d91270a7255a1e388fa85e959f359d8\" , \"trash_score\" : \"5\" , \"name\" : \"FreeLeech\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"FreeLeech\" , \"implementation\" : \"IndexerFlagSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 1 } }] } TOP","title":"FreeLeech"},{"location":"Radarr/Radarr-collection-of-custom-formats/#dutch-groups","text":"Dutch Groups - [CLICK TO EXPAND] If you prefer movies with also a Dutch audio track. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"9de657fd3d327ecf144ec73dfe3a3e9a\" , \"name\" : \"Dutch Groups\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"Dutch Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"-CyTSuNee|-SHiTSoNy|-QoQ\" } }] } TOP","title":"Dutch Groups"},{"location":"Radarr/Radarr-collection-of-custom-formats/#anime-dual-audio","text":"Anime Dual Audio - [CLICK TO EXPAND] Description placeholder JSON - [CLICK TO EXPAND] { \"trash_id\" : \"4a3b087eea2ce012fcc1ce319259a3be\" , \"name\" : \"Anime Dual Audio\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Dual Audio\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"dual.?audio\" } }, { \"name\" : \"BluDragon\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"bludragon\" } }, { \"name\" : \"EN+JA\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"EN\\\\+JA|JA\\\\+EN\" } }, { \"name\" : \"ZR\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\bZR\\\\b\" } }, { \"name\" : \"Japanese Language\" , \"implementation\" : \"LanguageSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : 8 } } ] } TOP","title":"Anime Dual Audio"},{"location":"Radarr/Radarr-collection-of-custom-formats/#mpeg2","text":"JSON - [CLICK TO EXPAND] { \"trash_id\" : \"ff86c4326018682f817830ced463332b\" , \"name\" : \"MPEG2\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"MPEG2\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"MPEG[-.]?2\" } }] } TOP","title":"MPEG2"},{"location":"Radarr/Radarr-collection-of-custom-formats/#multi","text":"JSON - [CLICK TO EXPAND] { \"trash_id\" : \"4b900e171accbfb172729b63323ea8ca\" , \"name\" : \"Multi\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"Multi\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\bMulti(\\\\b|\\\\d)\" } }] } TOP","title":"Multi"},{"location":"Radarr/Radarr-collection-of-custom-formats/#hq-source-groups","text":"","title":"HQ Source Groups"},{"location":"Radarr/Radarr-collection-of-custom-formats/#hq","text":"HQ-Releases = HQ HQ - [CLICK TO EXPAND] A collection of P2P groups that are known for their high quality releases. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"1c7d7b04b15cc53ea61204bebbcc1ee2\" , \"trash_score\" : \"1800\" , \"name\" : \"HQ\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"[BLOCK1]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"-BMF|-decibeL|\\\\bD-Z0N3\\\\b|\\\\bFTW-HD\\\\b|-HiFi|-NCmt|-OISTiLe|-TDD|\\\\bZQ\\\\b\" } }, { \"name\" : \"[BLOCK2]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"-HiSD|-NTb|-ift|-geek|-tnp|-pter|-bbq|FraMeSToR\" } }, { \"name\" : \"[BLOCK3]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"-CRiSC|-CtrlHD|-DON|\\\\b-EA\\\\b|-EbP|-LolHD|-SbR|-TayTo|-VietHD\" } }, { \"name\" : \"Not WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"Not WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 8 } }, { \"name\" : \"Not REMUX\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 5 } }, { \"name\" : \"Not 2160p\" , \"implementation\" : \"ResolutionSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 2160 } } ] } TOP","title":"HQ"},{"location":"Radarr/Radarr-collection-of-custom-formats/#hq-webdl","text":"HQ-WEBDL - [CLICK TO EXPAND] A personal collection of P2P WEB-DL groups that are known for their high quality releases. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"26fa26253af4001701fedb56cec376dc\" , \"trash_score\" : \"1750\" , \"name\" : \"HQ-WEBDL\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"P2P Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(-TOMMY|-BLUTONiUM|-NTG|-TEPES|-KiNGS|-NTb|-CMRG|AJP69|-PHOENiX|-monkee|-MZABI|ROCCaT|FLUX|NOSiViD|SIC)\\\\b\" } }, { \"name\" : \"WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 8 } } ] } TOP","title":"HQ-WEBDL"},{"location":"Radarr/Radarr-collection-of-custom-formats/#hq-remux","text":"HQ-Remux - [CLICK TO EXPAND] A personal collection of P2P Remux groups that are known for their high quality releases. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"403f3f6266b90439cacc1e07cae4dc2d\" , \"trash_score\" : \"1900\" , \"name\" : \"HQ-Remux\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Remux Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(FraMeSToR|EPSiLON|KRaLiMaRKo|PmP|BLURANiUM|SiCFoI|SURFINBIRD|HiFi|iFT)\\\\b\" } }, { \"name\" : \"REMUX\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : 5 } } ] } TOP","title":"HQ-Remux"},{"location":"Radarr/Radarr-how-to-update-custom-formats/","text":"How to update Custom Formats \u00b6 Here I will show various ways how you can update your Custom Formats with any changes from the Guide or provided to you from other sources, without loosing the scoring in your Quality Profile. Manual \u00b6 Starting from v4.0.0.5653 Radarr now supports Import to update existing Custom Formats. The manual way is almost the same as the import Custom Format way. In Radarr Settings => Custom Formats Open the custom Format you want to update. In the empty Custom Format JSON box (1) you just paste the JSON what you got from the Custom Format Collection or provided to you from other sources followed by the Import button (2). What you see in the red box is a example txt that you don't and can't remove! After selecting the Import button you will get a screen that has all the Custom Formats variables filled in correctly, all you need to do now is click on the Save button and you're done. Attention The Import to update existing Custom Formats replaces the existing Custom Format, so all manual changes you did to it will be lost Automatically \u00b6 Notifiarr \u00b6 It's possible with Notifiarr (Patron feature) After setup it's fully automated and will check every X minutes for updates to the Custom Formats or Sonarr Release Profile and will update it to your Radarr or Sonarr (Multiple Client Support). Instructions TRaSH Updater \u00b6 It's possible with trash-updater Automatically mirror TRaSH guides to your Sonarr/Radarr instance based on your setup scheduler. Instructions Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to Update Custom Formats"},{"location":"Radarr/Radarr-how-to-update-custom-formats/#how-to-update-custom-formats","text":"Here I will show various ways how you can update your Custom Formats with any changes from the Guide or provided to you from other sources, without loosing the scoring in your Quality Profile.","title":"How to update Custom Formats"},{"location":"Radarr/Radarr-how-to-update-custom-formats/#manual","text":"Starting from v4.0.0.5653 Radarr now supports Import to update existing Custom Formats. The manual way is almost the same as the import Custom Format way. In Radarr Settings => Custom Formats Open the custom Format you want to update. In the empty Custom Format JSON box (1) you just paste the JSON what you got from the Custom Format Collection or provided to you from other sources followed by the Import button (2). What you see in the red box is a example txt that you don't and can't remove! After selecting the Import button you will get a screen that has all the Custom Formats variables filled in correctly, all you need to do now is click on the Save button and you're done. Attention The Import to update existing Custom Formats replaces the existing Custom Format, so all manual changes you did to it will be lost","title":"Manual"},{"location":"Radarr/Radarr-how-to-update-custom-formats/#automatically","text":"","title":"Automatically"},{"location":"Radarr/Radarr-how-to-update-custom-formats/#notifiarr","text":"It's possible with Notifiarr (Patron feature) After setup it's fully automated and will check every X minutes for updates to the Custom Formats or Sonarr Release Profile and will update it to your Radarr or Sonarr (Multiple Client Support). Instructions","title":"Notifiarr"},{"location":"Radarr/Radarr-how-to-update-custom-formats/#trash-updater","text":"It's possible with trash-updater Automatically mirror TRaSH guides to your Sonarr/Radarr instance based on your setup scheduler. Instructions Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"TRaSH Updater"},{"location":"Radarr/Radarr-import-custom-formats/","text":"How to import Custom Formats \u00b6 Here I will try to explain how you can import Custom Formats for Radarr v3. Attention Keep in mind Custom Formats are made to fine tune your Quality Profile Quality Profile trumps Custom Formats More info HERE How to Copy/Paste the JSON from the site \u00b6 In this example i will use the BR-DISK Custom Format the one most people don't want to download anyway and if you do then you probably don't use Radarr or Plex being both don't support it. Visit the Collection of Custom Formats and from the Table select BR-DISK example - [CLICK TO EXPAND] After you selected it you expand the JSON example - [CLICK TO EXPAND] Then you select the Copy/Paste icon on the top far right example - [CLICK TO EXPAND] How to import a JSON Custom Format \u00b6 In Radarr Settings => Custom Formats Then click on the to add a new Custom Format. Followed by the Import in the lower left. In the empty Custom Format JSON box (1) you just paste the JSON what you got from the Custom Format Collection followed by the Import button (2). What you see in the red box is a example txt that you don't and can't remove! After selecting the Import button you will get a screen that has all the Custom Formats variables filled in correctly, all you need to do now is click on the Save button and you're done. Start adding other Custom Formats wisely \u00b6 Tip Now Start adding other Custom Formats wisely, Don't add all the available Custom Formats !!! Personally I would only add the Custom Formats that do what you actually prefer especially in the beginning, including the Releases you should avoid Check out the How to setup Custom Formats where I will try to explain how to make the most use of custom formats and show some personal examples that I'm using. That you can use to get a idea how to setup yours. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to import Custom Formats"},{"location":"Radarr/Radarr-import-custom-formats/#how-to-import-custom-formats","text":"Here I will try to explain how you can import Custom Formats for Radarr v3. Attention Keep in mind Custom Formats are made to fine tune your Quality Profile Quality Profile trumps Custom Formats More info HERE","title":"How to import Custom Formats"},{"location":"Radarr/Radarr-import-custom-formats/#how-to-copypaste-the-json-from-the-site","text":"In this example i will use the BR-DISK Custom Format the one most people don't want to download anyway and if you do then you probably don't use Radarr or Plex being both don't support it. Visit the Collection of Custom Formats and from the Table select BR-DISK example - [CLICK TO EXPAND] After you selected it you expand the JSON example - [CLICK TO EXPAND] Then you select the Copy/Paste icon on the top far right example - [CLICK TO EXPAND]","title":"How to Copy/Paste the JSON from the site"},{"location":"Radarr/Radarr-import-custom-formats/#how-to-import-a-json-custom-format","text":"In Radarr Settings => Custom Formats Then click on the to add a new Custom Format. Followed by the Import in the lower left. In the empty Custom Format JSON box (1) you just paste the JSON what you got from the Custom Format Collection followed by the Import button (2). What you see in the red box is a example txt that you don't and can't remove! After selecting the Import button you will get a screen that has all the Custom Formats variables filled in correctly, all you need to do now is click on the Save button and you're done.","title":"How to import a JSON Custom Format"},{"location":"Radarr/Radarr-import-custom-formats/#start-adding-other-custom-formats-wisely","text":"Tip Now Start adding other Custom Formats wisely, Don't add all the available Custom Formats !!! Personally I would only add the Custom Formats that do what you actually prefer especially in the beginning, including the Releases you should avoid Check out the How to setup Custom Formats where I will try to explain how to make the most use of custom formats and show some personal examples that I'm using. That you can use to get a idea how to setup yours. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Start adding other Custom Formats wisely"},{"location":"Radarr/Radarr-recommended-naming-scheme/","text":"Recommended naming scheme \u00b6 Often on the Radarr Discord people ask what's the recommended/best way to name your files. First off it's personal preference, but it's often recommended to add non-recoverable info. Why? If, for what ever reason, you ever need to do a re-install or re-import in Radarr or Plex/Emby/JellyFin it's nice to have all that info in the filename so it gets imported correctly and isn't incorrectly matched as HDTV or WEB-DL etc. The Tokens not available in the release won't be used/shown. Standard Movie Format \u00b6 This naming scheme is made to be compatible with the New Plex Agent that now support IMDB and TMDB IDs in file names, if you don't need it or want it just remove [imdb-{ImdbId}] Starting from v4.0.0.5720, Radarr now supports recognizing Dolby Vision (DV) and High Dynamic Range (HDR) types. If you're using a lower version replace: {[MediaInfo VideoDynamicRangeType]} with {[MediaInfo VideoDynamicRange]} { Movie CleanTitle } {( Release Year )} { Edition Tags } [ imdb- { ImdbId }]{[ Custom Formats ]}{[ Quality Full ]}{[ MediaInfo 3D ]}{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels }][{ Mediainfo VideoCodec }]{ -Release Group } RESULTS: - [CLICK TO EXPAND] The Movie Title (2010) Ultimate Extended Edition [imdb-tt0066921][IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE If you do Anime - [CLICK TO EXPAND] { Movie CleanTitle } {( Release Year )} { Edition Tags } [ imdb- { ImdbId }]{[ Custom Formats ]}{[ Quality Full ]}{[ MediaInfo 3D ]}{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels }]{ MediaInfo AudioLanguages }[{ Mediainfo VideoCodec }]{ -Release Group } The officially supported format is {imdb-{ImdbId}} but plex also support (imdb-{ImdbId}) or [imdb-{ImdbId}] what you can read here , though the above should work for now. IMDb IDs are going to be very accurate and rarely change, but they may be missing for some movies added to Radarr. TMDB IDs, on the other hand, do change or are removed more frequently, but Radarr will always have this ID for each movie. Original Title vs Original Filename \u00b6 Want to keep the original release name that holds like all the info of the file then I suggest to use {Original Title} over {Original Filename} Why? The filename can be Obscured where the Release naming isn't especially when you use Usenet. {Original Title} => The.Movie.Title.2010.REMASTERED.1080p.BluRay.x264-GROUP {Original Filename} => group-karatekid-1080p or lchd-tkk1080p or t1i0p3s7i8yuti Movie Folder Format \u00b6 Please note that folder names are created (in the database) whenever the movie is added to Radarr, and it may be missing or incorrect at that time and your folder would have a blank ID !!! If you instead add it in the filename, the IMDb ID will be freshly pulled for any download or upgrade. Another potential negative of using it in the folder is that folder renames are complex, lengthy, and potentially destructive in Radarr compared to file renames. Minimal needed and recommended \u00b6 { Movie CleanTitle } ({ Release Year }) RESULT: The Movie Title (2010) Note Keep in mind adding anything more after the release year could give issues during a fresh import in to Radarr, but it helps for movies that have the same release name and year. Radarr does supports iMDb ID and TMDb ID in the folder name. Quote From a developer TMDb is usually better as it guarantees a match, imdb only gets matched if the TMDb entry has the correct imdb Id association. We don't actually talk to imdb Thanks: A big Thanks to fryfrog and rg9400 for the suggestions. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Recommended naming scheme"},{"location":"Radarr/Radarr-recommended-naming-scheme/#recommended-naming-scheme","text":"Often on the Radarr Discord people ask what's the recommended/best way to name your files. First off it's personal preference, but it's often recommended to add non-recoverable info. Why? If, for what ever reason, you ever need to do a re-install or re-import in Radarr or Plex/Emby/JellyFin it's nice to have all that info in the filename so it gets imported correctly and isn't incorrectly matched as HDTV or WEB-DL etc. The Tokens not available in the release won't be used/shown.","title":"Recommended naming scheme"},{"location":"Radarr/Radarr-recommended-naming-scheme/#standard-movie-format","text":"This naming scheme is made to be compatible with the New Plex Agent that now support IMDB and TMDB IDs in file names, if you don't need it or want it just remove [imdb-{ImdbId}] Starting from v4.0.0.5720, Radarr now supports recognizing Dolby Vision (DV) and High Dynamic Range (HDR) types. If you're using a lower version replace: {[MediaInfo VideoDynamicRangeType]} with {[MediaInfo VideoDynamicRange]} { Movie CleanTitle } {( Release Year )} { Edition Tags } [ imdb- { ImdbId }]{[ Custom Formats ]}{[ Quality Full ]}{[ MediaInfo 3D ]}{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels }][{ Mediainfo VideoCodec }]{ -Release Group } RESULTS: - [CLICK TO EXPAND] The Movie Title (2010) Ultimate Extended Edition [imdb-tt0066921][IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE If you do Anime - [CLICK TO EXPAND] { Movie CleanTitle } {( Release Year )} { Edition Tags } [ imdb- { ImdbId }]{[ Custom Formats ]}{[ Quality Full ]}{[ MediaInfo 3D ]}{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels }]{ MediaInfo AudioLanguages }[{ Mediainfo VideoCodec }]{ -Release Group } The officially supported format is {imdb-{ImdbId}} but plex also support (imdb-{ImdbId}) or [imdb-{ImdbId}] what you can read here , though the above should work for now. IMDb IDs are going to be very accurate and rarely change, but they may be missing for some movies added to Radarr. TMDB IDs, on the other hand, do change or are removed more frequently, but Radarr will always have this ID for each movie.","title":"Standard Movie Format"},{"location":"Radarr/Radarr-recommended-naming-scheme/#original-title-vs-original-filename","text":"Want to keep the original release name that holds like all the info of the file then I suggest to use {Original Title} over {Original Filename} Why? The filename can be Obscured where the Release naming isn't especially when you use Usenet. {Original Title} => The.Movie.Title.2010.REMASTERED.1080p.BluRay.x264-GROUP {Original Filename} => group-karatekid-1080p or lchd-tkk1080p or t1i0p3s7i8yuti","title":"Original Title vs Original Filename"},{"location":"Radarr/Radarr-recommended-naming-scheme/#movie-folder-format","text":"Please note that folder names are created (in the database) whenever the movie is added to Radarr, and it may be missing or incorrect at that time and your folder would have a blank ID !!! If you instead add it in the filename, the IMDb ID will be freshly pulled for any download or upgrade. Another potential negative of using it in the folder is that folder renames are complex, lengthy, and potentially destructive in Radarr compared to file renames.","title":"Movie Folder Format"},{"location":"Radarr/Radarr-recommended-naming-scheme/#minimal-needed-and-recommended","text":"{ Movie CleanTitle } ({ Release Year }) RESULT: The Movie Title (2010) Note Keep in mind adding anything more after the release year could give issues during a fresh import in to Radarr, but it helps for movies that have the same release name and year. Radarr does supports iMDb ID and TMDb ID in the folder name. Quote From a developer TMDb is usually better as it guarantees a match, imdb only gets matched if the TMDb entry has the correct imdb Id association. We don't actually talk to imdb Thanks: A big Thanks to fryfrog and rg9400 for the suggestions. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Minimal needed and recommended"},{"location":"Radarr/Radarr-remote-path-mapping/","text":"Remote Path Mappings \u00b6 Seems that a lot of people don't understand how the remote path mapping works for Radarr. I will try to explain it with some screenshots and a short description. Remote Path Mapping acts as a dumb find Remote Path and replace with Local Path Do I need Remote Path Mappings \u00b6 If Radarr and your download client are not on the same server/system. If you use either merged local/remote setups using mergerfs or similar You run dockers and DON'T have Consistent and well planned paths. Note If you run dockers it would be smarter to fix the problem at the source what's causing the actual issue. Radarr Wiki Servarr - Docker Guide TRaSH Guides How do I recognize that I need remote path mappings \u00b6 Your download stays in your download client and Radarr doesn't want to import it. Go to Activity => Queue You will see a orange download icon, hover with your mouse over it and you will get a error that looks a bit like this. Go to System => Events You will see somewhere a error that looks a bit like this. The following error could also mean that you need remote path mapping So looking at these screenshot it seems you need to make use of Remote Path Mappings. How do I setup remote path mappings \u00b6 Go to Settings => Download Clients Scroll all the way down where you see Remote Path Mappings and click on the right on the plus sign. A screen will popup with the following options. Host => This is the hostname or IP you set in your download client settings. Remote Path => The download path that you've set in your download client. Local Path => The path Radarr needs to access the same path. Host \u00b6 To find what you need to put in your host Go to Settings => Download Clients There you open up the download client for this example I will be using SABnzbd This is what you put in your Host in Remote Path Mapping. This could be a hostname , container name or a IP Address example what to add in Add Remote Path Mapping - [CLICK TO EXPAND] Remote Path \u00b6 To find what you need to put in your remote path you need to open up your download client and look what you've used there as download location. In SABnzbd go to settings => Folders example what to add in Add Remote Path Mapping - [CLICK TO EXPAND] Local Path \u00b6 To find what you need to put in in your local path you need to know how Radarr is able to access the files your download client downloaded. And this can be done in different ways. Mounting/Network share what ever but Radarr needs to have local access to it so you need to figure this one out your self what's the best way for Radarr to access the download clients downloaded files. Click on the browse button and browse to the location where the files are accessible for Radarr. example what to add in Add Remote Path Mapping - [CLICK TO EXPAND] The final result will look something like this. After these changes the file should be able to be imported by Radarr. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Remote Path Mappings explained"},{"location":"Radarr/Radarr-remote-path-mapping/#remote-path-mappings","text":"Seems that a lot of people don't understand how the remote path mapping works for Radarr. I will try to explain it with some screenshots and a short description. Remote Path Mapping acts as a dumb find Remote Path and replace with Local Path","title":"Remote Path Mappings"},{"location":"Radarr/Radarr-remote-path-mapping/#do-i-need-remote-path-mappings","text":"If Radarr and your download client are not on the same server/system. If you use either merged local/remote setups using mergerfs or similar You run dockers and DON'T have Consistent and well planned paths. Note If you run dockers it would be smarter to fix the problem at the source what's causing the actual issue. Radarr Wiki Servarr - Docker Guide TRaSH Guides","title":"Do I need Remote Path Mappings"},{"location":"Radarr/Radarr-remote-path-mapping/#how-do-i-recognize-that-i-need-remote-path-mappings","text":"Your download stays in your download client and Radarr doesn't want to import it. Go to Activity => Queue You will see a orange download icon, hover with your mouse over it and you will get a error that looks a bit like this. Go to System => Events You will see somewhere a error that looks a bit like this. The following error could also mean that you need remote path mapping So looking at these screenshot it seems you need to make use of Remote Path Mappings.","title":"How do I recognize that I need remote path mappings"},{"location":"Radarr/Radarr-remote-path-mapping/#how-do-i-setup-remote-path-mappings","text":"Go to Settings => Download Clients Scroll all the way down where you see Remote Path Mappings and click on the right on the plus sign. A screen will popup with the following options. Host => This is the hostname or IP you set in your download client settings. Remote Path => The download path that you've set in your download client. Local Path => The path Radarr needs to access the same path.","title":"How do I setup remote path mappings"},{"location":"Radarr/Radarr-remote-path-mapping/#host","text":"To find what you need to put in your host Go to Settings => Download Clients There you open up the download client for this example I will be using SABnzbd This is what you put in your Host in Remote Path Mapping. This could be a hostname , container name or a IP Address example what to add in Add Remote Path Mapping - [CLICK TO EXPAND]","title":"Host"},{"location":"Radarr/Radarr-remote-path-mapping/#remote-path","text":"To find what you need to put in your remote path you need to open up your download client and look what you've used there as download location. In SABnzbd go to settings => Folders example what to add in Add Remote Path Mapping - [CLICK TO EXPAND]","title":"Remote Path"},{"location":"Radarr/Radarr-remote-path-mapping/#local-path","text":"To find what you need to put in in your local path you need to know how Radarr is able to access the files your download client downloaded. And this can be done in different ways. Mounting/Network share what ever but Radarr needs to have local access to it so you need to figure this one out your self what's the best way for Radarr to access the download clients downloaded files. Click on the browse button and browse to the location where the files are accessible for Radarr. example what to add in Add Remote Path Mapping - [CLICK TO EXPAND] The final result will look something like this. After these changes the file should be able to be imported by Radarr. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Local Path"},{"location":"Radarr/Radarr-setup-custom-formats/","text":"How to setup Custom Formats \u00b6 So what's the best way to setup the Custom Profiles and which one to use with which scores? There isn't a best scores setup, being that everyone has its own personal preference what they prefer Audio or Video or perhaps both. But being I still get a lot of questions about it I decided to create a Guide for it. Here I will try to explain with some personal used examples how to make the most use of Custom Formats. That you can use to get a idea how to setup yours. Basics \u00b6 First the basics where we going to explain where to setup the Custom Formats after you've added them, what we've explained in How to import Custom Formats . And a short description what the settings means. Settings => Profiles example - [CLICK TO EXPAND] Then select the profile that you use/prefer. Radarr Custom Format can be set per profile and isn't global Profile name. If you want that Radarr will upgrade till the quality set in (3.). Upgrade till the selected Quality. The Minimum Custom Format Score allowed to download. More Info Keep upgrading Custom Format till this score is reached. (setting this to 0 means no upgrades will happen based on Custom Formats) Your preferred language profile for your Releases. In your chosen profile at the bottom you will see the added Custom Profiles where you can start setting up the scores. example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Attention Keep in mind Custom Formats are made to fine tune your Quality Profile Generally Quality Trumps All Radarr current logic \u00b6 Radarr current logic- [CLICK TO EXPAND] As of 2021-11-06 the logic is as follows: The Current logic on how downloads are compared is Quality Trumps All Quality Custom Format Score Protocol Indexer Priority Indexer Flags Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use the Repack/Proper Custom Format My suggestion is to create tiers of scores based on what things matter to you. Personally I would only add the Custom Formats that do what you actually prefer especially in the beginning, including the Releases you should avoid Info Custom formats are implemented within and have their impact controlled by Quality Profiles. The Upgrade Until score prevents upgrading once a release with this desired score has been downloaded. A score of 0 results in the custom format being informational only. The Minimum score requires releases to reach this threshold otherwise they will be rejected. Custom formats that match with undesirable attributes should be given a negative score to lower their appeal. Outright rejections should be given a negative score low enough that even if all of the other formats with positive scores were added, the score would still fall below the minimum. Examples \u00b6 Here I will show how to make the most use of Custom Formats and show some personal examples that I'm using. That you can use to get a idea how to setup yours. All these examples make use of the Collection of Custom Formats Releases you should avoid \u00b6 In my opinion this is a must for every Quality Profile you use, all these Custom Formats make sure you don't get Low Quality Releases. Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Prefer Advanced Audio \u00b6 Lets say you prefer HD audio (with object metadata) In this example I have lossy Atmos over lossless DTS because the object metadata matters more to me over lossy vs lossless Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 Prefer HDR Metadata \u00b6 Lets say you prefer HDR metadata Then we would use the following order. HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Important I also suggest to change the Propers and Repacks settings in Radarr !!! Instructions can be found HERE Prefer HQ Encodes \u00b6 If you prefer HQ Encodes (Bluray-720/1080/2160p) I suggest to first follow the Quality Settings (File Size) If you think the sizes are to big to your preference then stop reading and see if the other tutorials are helpful for you. For this Quality Profile we're going to make use of the following Custom Formats Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 0 HQ 1800 I decided not to add Audio Advanced Custom Formats to the encodes profile being with encodes I prefer higher video quality, If you also want HD audio formats I would suggest to go for the Remuxes. Use the following main settings in your profile. Make sure you don't check the BR-DISK, The reason why I didn't select the WEB-DL 720p is because you will find hardly any releases that aren't done as 1080p WEB-DL The following workflow will be applied: It will download WEB-DL 1080p for the streaming movies you see more often lately. It will upgrade till Bluray-1080p when available. The downloaded media will be upgraded to any of the added Custom Formats till a score of 9999. So why such a ridiculous high Upgrade Until Custom and not a score of 100 ? Because I'm to lazy to calculate the maximum for every of my used Quality Profile and I want it to upgrade to the highest as possible anyway. Tip If you prefer 2160/4K encodes you might consider to change Upgrade Until Quality to Bluray-2160p and enable: HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Remux-1080p \u00b6 If you prefer 1080p Remuxes (Remux-1080p) I suggest to first follow the Quality Settings (File Size) If you think the sizes are to big to your preference then stop reading and see if the other tutorials are helpful for you. For this Quality Profile we're going to make use of the following Custom Formats Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 1900 HQ 0 Use the following main settings in your profile. Make sure you don't check the BR-DISK, The reason why I didn't select the WEB-DL 720p is because you will find hardly any releases that aren't done as 1080p WEB-DL The following workflow will be applied: It will download WEB-DL 1080p for the streaming movies you see more often lately. It will upgrade till Remux-1080p when available. The downloaded media will be upgraded to any of the added Custom Formats till a score of 9999. So why such a ridiculous high Upgrade Until Custom and not a score of 500 ? Because I'm to lazy to calculate the maximum for every of my used Quality Profile and I want it to upgrade to the highest as possible anyway. Remux-2160p \u00b6 If you prefer 2160p Remuxes (Remux-2160p) I suggest to first follow the Quality Settings (File Size) If you think the sizes are to big to your preference then stop reading and see if the other tutorials are helpful for you. For this Quality Profile we're going to make use of the following Custom Formats Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 1900 HQ 0 Use the following main settings in your profile. Make sure you don't check the BR-DISK. The following workflow will be applied: It will download WEB-DL 2160p for the streaming movies you see more often lately. It will upgrade till Remux-2160p when available. The downloaded media will be upgraded to any of the added Custom Formats till a score of 9999. So why such a ridiculous high Upgrade Until Custom and not a score of 500 ? Because I'm to lazy to calculate the maximum for every of my used Quality Profile and I want it to upgrade to the highest as possible anyway. FAQ & INFO \u00b6 Proper and Repacks \u00b6 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. Custom Formats to avoid certain releases \u00b6 How to use a Custom Formats to avoid certain releases? - [CLICK TO EXPAND] For Custom Formats you really want to avoid, set it to something really low like -10000 and not something like -10 . Being when you add a Custom Format what you prefer and you set it to something like +10 it could happen that for example the BR-DISK will be downloaded (-10)+(+10)=0 and if your Minimum Custom Format Score is set at 0 . Custom Formats with a score of 0 \u00b6 What do Custom Formats with a score of 0 do? - [CLICK TO EXPAND] All Custom Formats with a score of 0 are pure informational and don't do anything. Minimum Custom Format Score \u00b6 Minimum Custom Format Score - [CLICK TO EXPAND] Some people suggest not to use minus score for your Custom Formats and set this option to a higher score then 0. The reason why I don't prefer/use this is because you could limit your self when some new groups or what ever will be released. Also it makes it much more clear what you prefer and what you want to avoid. Audio Channels \u00b6 Audio Channels - [CLICK TO EXPAND] Personally I wouldn't add the audio channels Custom Formats being you could limit your self in the amount of releases you're able to get. Only use this if you got specific reasons that you need them. Using it with any kind of Remuxes Quality Profile is useless in my opinion being that 99% of all remuxes are multi audio anyway. and you can better score using the Audio Advanced Custom Formats Avoid using the x264/x265 Custom Format \u00b6 Avoid using the x264/x265 Custom Format - [CLICK TO EXPAND] If possible avoid using the x264/x265 Custom Format with a score, it's smarter to use the 720/1080p no x265 Custom Format. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Use x265 only for 4k releases and the 720/1080p no x265 makes sure you still can get the x265 releases. Thanks \u00b6 A big Thanks to rg9400 for providing me with info needed to create the Tips section. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to setup Custom Formats"},{"location":"Radarr/Radarr-setup-custom-formats/#how-to-setup-custom-formats","text":"So what's the best way to setup the Custom Profiles and which one to use with which scores? There isn't a best scores setup, being that everyone has its own personal preference what they prefer Audio or Video or perhaps both. But being I still get a lot of questions about it I decided to create a Guide for it. Here I will try to explain with some personal used examples how to make the most use of Custom Formats. That you can use to get a idea how to setup yours.","title":"How to setup Custom Formats"},{"location":"Radarr/Radarr-setup-custom-formats/#basics","text":"First the basics where we going to explain where to setup the Custom Formats after you've added them, what we've explained in How to import Custom Formats . And a short description what the settings means. Settings => Profiles example - [CLICK TO EXPAND] Then select the profile that you use/prefer. Radarr Custom Format can be set per profile and isn't global Profile name. If you want that Radarr will upgrade till the quality set in (3.). Upgrade till the selected Quality. The Minimum Custom Format Score allowed to download. More Info Keep upgrading Custom Format till this score is reached. (setting this to 0 means no upgrades will happen based on Custom Formats) Your preferred language profile for your Releases. In your chosen profile at the bottom you will see the added Custom Profiles where you can start setting up the scores. example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Attention Keep in mind Custom Formats are made to fine tune your Quality Profile Generally Quality Trumps All","title":"Basics"},{"location":"Radarr/Radarr-setup-custom-formats/#radarr-current-logic","text":"Radarr current logic- [CLICK TO EXPAND] As of 2021-11-06 the logic is as follows: The Current logic on how downloads are compared is Quality Trumps All Quality Custom Format Score Protocol Indexer Priority Indexer Flags Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use the Repack/Proper Custom Format My suggestion is to create tiers of scores based on what things matter to you. Personally I would only add the Custom Formats that do what you actually prefer especially in the beginning, including the Releases you should avoid Info Custom formats are implemented within and have their impact controlled by Quality Profiles. The Upgrade Until score prevents upgrading once a release with this desired score has been downloaded. A score of 0 results in the custom format being informational only. The Minimum score requires releases to reach this threshold otherwise they will be rejected. Custom formats that match with undesirable attributes should be given a negative score to lower their appeal. Outright rejections should be given a negative score low enough that even if all of the other formats with positive scores were added, the score would still fall below the minimum.","title":"Radarr current logic"},{"location":"Radarr/Radarr-setup-custom-formats/#examples","text":"Here I will show how to make the most use of Custom Formats and show some personal examples that I'm using. That you can use to get a idea how to setup yours. All these examples make use of the Collection of Custom Formats","title":"Examples"},{"location":"Radarr/Radarr-setup-custom-formats/#releases-you-should-avoid","text":"In my opinion this is a must for every Quality Profile you use, all these Custom Formats make sure you don't get Low Quality Releases. Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 .","title":"Releases you should avoid"},{"location":"Radarr/Radarr-setup-custom-formats/#prefer-advanced-audio","text":"Lets say you prefer HD audio (with object metadata) In this example I have lossy Atmos over lossless DTS because the object metadata matters more to me over lossy vs lossless Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750","title":"Prefer Advanced Audio"},{"location":"Radarr/Radarr-setup-custom-formats/#prefer-hdr-metadata","text":"Lets say you prefer HDR metadata Then we would use the following order. HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Important I also suggest to change the Propers and Repacks settings in Radarr !!! Instructions can be found HERE","title":"Prefer HDR Metadata"},{"location":"Radarr/Radarr-setup-custom-formats/#prefer-hq-encodes","text":"If you prefer HQ Encodes (Bluray-720/1080/2160p) I suggest to first follow the Quality Settings (File Size) If you think the sizes are to big to your preference then stop reading and see if the other tutorials are helpful for you. For this Quality Profile we're going to make use of the following Custom Formats Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 0 HQ 1800 I decided not to add Audio Advanced Custom Formats to the encodes profile being with encodes I prefer higher video quality, If you also want HD audio formats I would suggest to go for the Remuxes. Use the following main settings in your profile. Make sure you don't check the BR-DISK, The reason why I didn't select the WEB-DL 720p is because you will find hardly any releases that aren't done as 1080p WEB-DL The following workflow will be applied: It will download WEB-DL 1080p for the streaming movies you see more often lately. It will upgrade till Bluray-1080p when available. The downloaded media will be upgraded to any of the added Custom Formats till a score of 9999. So why such a ridiculous high Upgrade Until Custom and not a score of 100 ? Because I'm to lazy to calculate the maximum for every of my used Quality Profile and I want it to upgrade to the highest as possible anyway. Tip If you prefer 2160/4K encodes you might consider to change Upgrade Until Quality to Bluray-2160p and enable: HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500","title":"Prefer HQ Encodes"},{"location":"Radarr/Radarr-setup-custom-formats/#remux-1080p","text":"If you prefer 1080p Remuxes (Remux-1080p) I suggest to first follow the Quality Settings (File Size) If you think the sizes are to big to your preference then stop reading and see if the other tutorials are helpful for you. For this Quality Profile we're going to make use of the following Custom Formats Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 1900 HQ 0 Use the following main settings in your profile. Make sure you don't check the BR-DISK, The reason why I didn't select the WEB-DL 720p is because you will find hardly any releases that aren't done as 1080p WEB-DL The following workflow will be applied: It will download WEB-DL 1080p for the streaming movies you see more often lately. It will upgrade till Remux-1080p when available. The downloaded media will be upgraded to any of the added Custom Formats till a score of 9999. So why such a ridiculous high Upgrade Until Custom and not a score of 500 ? Because I'm to lazy to calculate the maximum for every of my used Quality Profile and I want it to upgrade to the highest as possible anyway.","title":"Remux-1080p"},{"location":"Radarr/Radarr-setup-custom-formats/#remux-2160p","text":"If you prefer 2160p Remuxes (Remux-2160p) I suggest to first follow the Quality Settings (File Size) If you think the sizes are to big to your preference then stop reading and see if the other tutorials are helpful for you. For this Quality Profile we're going to make use of the following Custom Formats Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 1900 HQ 0 Use the following main settings in your profile. Make sure you don't check the BR-DISK. The following workflow will be applied: It will download WEB-DL 2160p for the streaming movies you see more often lately. It will upgrade till Remux-2160p when available. The downloaded media will be upgraded to any of the added Custom Formats till a score of 9999. So why such a ridiculous high Upgrade Until Custom and not a score of 500 ? Because I'm to lazy to calculate the maximum for every of my used Quality Profile and I want it to upgrade to the highest as possible anyway.","title":"Remux-2160p"},{"location":"Radarr/Radarr-setup-custom-formats/#faq-info","text":"","title":"FAQ & INFO"},{"location":"Radarr/Radarr-setup-custom-formats/#proper-and-repacks","text":"Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored.","title":"Proper and Repacks"},{"location":"Radarr/Radarr-setup-custom-formats/#custom-formats-to-avoid-certain-releases","text":"How to use a Custom Formats to avoid certain releases? - [CLICK TO EXPAND] For Custom Formats you really want to avoid, set it to something really low like -10000 and not something like -10 . Being when you add a Custom Format what you prefer and you set it to something like +10 it could happen that for example the BR-DISK will be downloaded (-10)+(+10)=0 and if your Minimum Custom Format Score is set at 0 .","title":"Custom Formats to avoid certain releases"},{"location":"Radarr/Radarr-setup-custom-formats/#custom-formats-with-a-score-of-0","text":"What do Custom Formats with a score of 0 do? - [CLICK TO EXPAND] All Custom Formats with a score of 0 are pure informational and don't do anything.","title":"Custom Formats with a score of 0"},{"location":"Radarr/Radarr-setup-custom-formats/#minimum-custom-format-score","text":"Minimum Custom Format Score - [CLICK TO EXPAND] Some people suggest not to use minus score for your Custom Formats and set this option to a higher score then 0. The reason why I don't prefer/use this is because you could limit your self when some new groups or what ever will be released. Also it makes it much more clear what you prefer and what you want to avoid.","title":"Minimum Custom Format Score"},{"location":"Radarr/Radarr-setup-custom-formats/#audio-channels","text":"Audio Channels - [CLICK TO EXPAND] Personally I wouldn't add the audio channels Custom Formats being you could limit your self in the amount of releases you're able to get. Only use this if you got specific reasons that you need them. Using it with any kind of Remuxes Quality Profile is useless in my opinion being that 99% of all remuxes are multi audio anyway. and you can better score using the Audio Advanced Custom Formats","title":"Audio Channels"},{"location":"Radarr/Radarr-setup-custom-formats/#avoid-using-the-x264x265-custom-format","text":"Avoid using the x264/x265 Custom Format - [CLICK TO EXPAND] If possible avoid using the x264/x265 Custom Format with a score, it's smarter to use the 720/1080p no x265 Custom Format. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Use x265 only for 4k releases and the 720/1080p no x265 makes sure you still can get the x265 releases.","title":"Avoid using the x264/x265 Custom Format"},{"location":"Radarr/Radarr-setup-custom-formats/#thanks","text":"A big Thanks to rg9400 for providing me with info needed to create the Tips section. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Thanks"},{"location":"Radarr/Tips/Merge-quality/","text":"How to Merge Quality \u00b6 The Current logic on how downloads are compared is Quality Trumps All In some cases it might be preferred to not have Quality Trump All, and let it be handled via Preferred Words / Custom Formats. To accomplish this you will need to merge the quality's with each other. Current Logic \u00b6 Here you will see the current logic so you understand how the possible downloads are compared. Radarr current logic \u00b6 Radarr current logic- [CLICK TO EXPAND] As of 2021-11-06 the logic is as follows: The Current logic on how downloads are compared is Quality Trumps All Quality Custom Format Score Protocol Indexer Priority Indexer Flags Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use the Repack/Proper Custom Format Sonarr current logic \u00b6 Sonarr current logic- [CLICK TO EXPAND] As of 2021-11-06 the logic is as follows: The Current logic on how downloads are compared is Quality Trumps All Quality Language Preferred Word Score Protocol Episode Count Episode Number Indexer Priority Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use a preferred word regex of /\\b(repack|proper)\\b/i Merge the Qualities \u00b6 Go to your preferred Quality Profile or create a new one. Settings => Profiles In this example we will merge the following qualities together: Bluray-720p Bluray-1080p WEBDL/WEBRip-1080p To merge them you need to click on Edit Groups. When done Sonarr/Radarr upgrades will be handled via Preferred Words / Custom Formats. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to Merge Quality"},{"location":"Radarr/Tips/Merge-quality/#how-to-merge-quality","text":"The Current logic on how downloads are compared is Quality Trumps All In some cases it might be preferred to not have Quality Trump All, and let it be handled via Preferred Words / Custom Formats. To accomplish this you will need to merge the quality's with each other.","title":"How to Merge Quality"},{"location":"Radarr/Tips/Merge-quality/#current-logic","text":"Here you will see the current logic so you understand how the possible downloads are compared.","title":"Current Logic"},{"location":"Radarr/Tips/Merge-quality/#radarr-current-logic","text":"Radarr current logic- [CLICK TO EXPAND] As of 2021-11-06 the logic is as follows: The Current logic on how downloads are compared is Quality Trumps All Quality Custom Format Score Protocol Indexer Priority Indexer Flags Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use the Repack/Proper Custom Format","title":"Radarr current logic"},{"location":"Radarr/Tips/Merge-quality/#sonarr-current-logic","text":"Sonarr current logic- [CLICK TO EXPAND] As of 2021-11-06 the logic is as follows: The Current logic on how downloads are compared is Quality Trumps All Quality Language Preferred Word Score Protocol Episode Count Episode Number Indexer Priority Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use a preferred word regex of /\\b(repack|proper)\\b/i","title":"Sonarr current logic"},{"location":"Radarr/Tips/Merge-quality/#merge-the-qualities","text":"Go to your preferred Quality Profile or create a new one. Settings => Profiles In this example we will merge the following qualities together: Bluray-720p Bluray-1080p WEBDL/WEBRip-1080p To merge them you need to click on Edit Groups. When done Sonarr/Radarr upgrades will be handled via Preferred Words / Custom Formats. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Merge the Qualities"},{"location":"Radarr/Tips/Radarr-add-a-movie-collection/","text":"How to add a Movie Collection \u00b6 One of the coolest new features in Radarr v3 in my opinion. The option to add movies collection based on a movie you already got. So lets say you add a movie like Pirates of the Caribbean: The Curse of the Black Pearl and you actually want to have the other movies from the same collection. Now you can let Radarr add them for you with just a few simple clicks How to add the collection lists \u00b6 First go to the movie where you want to add the collection from, and click on the collection flag Add List Settings \u00b6 After you clicked on it a new window/popup will appear with the following options. The name you want to name this Collection. Enable this list for use in Radarr. Enable this so the movies will be automatically added to Radarr from this list. Enable this so movies will be set monitored when added to Radarr from this list. Enable this so Radarr will start searching movies from this list. Set your minimum Availability. Your preferred quality profile. Your root path where you want the movies added. Add any tags you want for your own preference. TMDb collection Id. Click on Save so it will be added+searched for in Radarr. Warning Don't change the Collection Id else you will end up with the wrong collection !!! After clicking on Save the movies from the lists will be added to Radarr and searched for. Result \u00b6 And the added movies will show up in your movie overview Edit your Lists \u00b6 If for any reason you need or want to edit your added list go to. Settings => Lists Then search for you list you want to edit/remove Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to add a Movie Collection"},{"location":"Radarr/Tips/Radarr-add-a-movie-collection/#how-to-add-a-movie-collection","text":"One of the coolest new features in Radarr v3 in my opinion. The option to add movies collection based on a movie you already got. So lets say you add a movie like Pirates of the Caribbean: The Curse of the Black Pearl and you actually want to have the other movies from the same collection. Now you can let Radarr add them for you with just a few simple clicks","title":"How to add a Movie Collection"},{"location":"Radarr/Tips/Radarr-add-a-movie-collection/#how-to-add-the-collection-lists","text":"First go to the movie where you want to add the collection from, and click on the collection flag","title":"How to add the collection lists"},{"location":"Radarr/Tips/Radarr-add-a-movie-collection/#add-list-settings","text":"After you clicked on it a new window/popup will appear with the following options. The name you want to name this Collection. Enable this list for use in Radarr. Enable this so the movies will be automatically added to Radarr from this list. Enable this so movies will be set monitored when added to Radarr from this list. Enable this so Radarr will start searching movies from this list. Set your minimum Availability. Your preferred quality profile. Your root path where you want the movies added. Add any tags you want for your own preference. TMDb collection Id. Click on Save so it will be added+searched for in Radarr. Warning Don't change the Collection Id else you will end up with the wrong collection !!! After clicking on Save the movies from the lists will be added to Radarr and searched for.","title":"Add List Settings"},{"location":"Radarr/Tips/Radarr-add-a-movie-collection/#result","text":"And the added movies will show up in your movie overview","title":"Result"},{"location":"Radarr/Tips/Radarr-add-a-movie-collection/#edit-your-lists","text":"If for any reason you need or want to edit your added list go to. Settings => Lists Then search for you list you want to edit/remove Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Edit your Lists"},{"location":"Radarr/Tips/Radarr-rename-your-folders/","text":"How to rename your folders \u00b6 If you want to rename your current folders names for example to your new naming scheme or for any other reason. You can do this with this little magic trick. Go to you movie overview Movies On the top click on Movie Editor After activating it you select the movie(s) from where you want to have the folder(s) to be renamed. If you want all your movie folders renamed to your folder naming scheme you set earlier HERE . Select the movie(s) from where you want to have the folder(s) to be renamed. Choose the same Root Folder A new popup will be shown Select Yes, Move the files Warning If you got a larger library, remote storage, cloud storage or your path structure isn't well planned that doesn't support instant moves then this process could take a while, make sure you don't interrupt this process if it does stop before completing, it could results in quite the mess. Then Magic As you can see the folder has been renamed to the correct year following your naming scheme. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to rename your folders"},{"location":"Radarr/Tips/Radarr-rename-your-folders/#how-to-rename-your-folders","text":"If you want to rename your current folders names for example to your new naming scheme or for any other reason. You can do this with this little magic trick. Go to you movie overview Movies On the top click on Movie Editor After activating it you select the movie(s) from where you want to have the folder(s) to be renamed. If you want all your movie folders renamed to your folder naming scheme you set earlier HERE . Select the movie(s) from where you want to have the folder(s) to be renamed. Choose the same Root Folder A new popup will be shown Select Yes, Move the files Warning If you got a larger library, remote storage, cloud storage or your path structure isn't well planned that doesn't support instant moves then this process could take a while, make sure you don't interrupt this process if it does stop before completing, it could results in quite the mess. Then Magic As you can see the folder has been renamed to the correct year following your naming scheme. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to rename your folders"},{"location":"Radarr/Tips/Radarr-show-unknown-movie-items/","text":"Show Unknown Movie Items \u00b6 You downloaded a movie and it doesn't show up in your Activity in Radarr ? By enabling the following option it will Show items without a movie in the queue. This could include removed movies or anything else in Radarr's category. Go to your Activity Activity Then on the top right click on Options and a new window will popup and enable Show Unknown Movie Items Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Show Unknown Movie Items"},{"location":"Radarr/Tips/Radarr-show-unknown-movie-items/#show-unknown-movie-items","text":"You downloaded a movie and it doesn't show up in your Activity in Radarr ? By enabling the following option it will Show items without a movie in the queue. This could include removed movies or anything else in Radarr's category. Go to your Activity Activity Then on the top right click on Options and a new window will popup and enable Show Unknown Movie Items Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Show Unknown Movie Items"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/","text":"How to Sync 2 Radarr or Sonarr with each other \u00b6 In this Guide I will try to explain how you can sync two (or more) Radarr/Sonarr with each other. I'm going to show 2 different options how you can setup your sync with 2 Radarr/Sonarr. Option 1: This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances as it'll sync everything Option 2: This option is best used if you only want to have a subset of your library Movies/TV Shows as 4K/2160p (UHD) as it filters by quality profile I'm not going to explain how to set up 2 Radarr/Sonarr for your system, being it depends how you have it installed/running. Radarr Multiple Instance Information and Sonarr Multiple Instance Information Preparation \u00b6 For this you need to have prepared the following: 2 Radarr/Sonarr fully setup (Indexers, Custom Formats, Downloaders, etc). 1 download client ( 2 if you prefer Usenet and Torrents ). Your download client has 2 separate categories (movies-hd, movies-uhd, tv-hd, tv-uhd, etc) Attention You can't use the same root (media library) folder for both Radarr's/Sonarr's Make sure you use 2 separate root folders in Radarr/Sonarr (movies-hd, movies-uhd, tv-hd, tv-uhd, etc) Option 1 \u00b6 In this example I'm going to use 2 Radarr (The basics is the same for Sonarr). Radarr 1 = My main 4K/2160p (UHD) Radarr. Radarr 2 = My 1080p Radarr that I've setup for streaming optimized quality profile. 1 This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances Adding the Radarr Sync list \u00b6 In Radarr 2 go to Settings => Lists Click on the + to add a lists and select Radarr Then you get a screen with the following options. The name you want to call your Sync list. Enable to Enable the list. Enable so the movies will be automatically added. Enable so the movies will be added and monitored (if disabled then there will be no search done for the movies). Enable so when added Radarr will perform a search. When Radarr shall consider a movie is available. 2 The Quality Profile you want to use on Radarr 2 . Your Root location for your media library. The Full URL to Radarr 1 (Use local URL if they run on the same system). Your API Key of Radarr 1 . Which Profile of Radarr 1 you want to Sync with Radarr 2 . Test the connection to Radarr 1 . Save your settings. Radarr Download client setup \u00b6 You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client ( 2 if you prefer Usenet and Torrents ). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Radarr 2 Attention This can't and shouldn't be the same category you use for Radarr 1 but a separate Category . How does this Radarr Sync work \u00b6 You now only need to make use of Radarr 1 all movies your add to Radarr 1 will be synced to Radarr 2 at a scheduled time. Option 2 \u00b6 In this example I'm going to use 2 Sonarr (The basics is the same for Radarr). Sonarr 1 = My main 1080p WEB-DL Sonarr. Sonarr 2 = 4K/2160p (UHD) WEB-DL Sonarr. This option is best used if you only want to have a few TV shows (or a Movies if you use this option with Radarr) as 4K/2160p (UHD) Extra preparation \u00b6 In Sonarr 1 go to Settings => Profiles And Clone your used profile and rename your profile from Profilename - Copy to Profilename! Adding the Sonarr Sync list \u00b6 In Sonarr 2 go to Settings => Import Lists Click on the + to add a lists and select Sonarr Then you get a screen with the following options. The name you want to call your Sync list. Enable so the shows will be automatically added. Choose your monitoring options. 3 Your Root location for your media library. The Quality Profile you want to use on Sonarr 2 . Series Type. 4 If you want to use Season Folders. The Full URL to Sonarr 1 (Use local URL if they run on the same system). Your API Key of Sonarr 1 . The Cloned Profile of Sonarr 1 that we're going to use to Sync with Sonarr 2 . Test the connection to Sonarr 1 . Save your settings. Sonarr Download client setup \u00b6 You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client (2 if you prefer Usenet and Torrents). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Sonarr 2 Important This can't and shouldn't be the same category you use for Sonarr 1 but a separate Category . How does this Sonarr Sync work \u00b6 You now only need to make use of Sonarr 1 , When you got a TV Shows (or a Movie if you use this option with Radarr) that you also want as 4K/2160p (UHD) then you make sure you make use of the Cloned Quality Profile. And it will sync at a scheduled time. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. If you're interested in the 1080p streaming optimized quality profile you can contact me on discord This is a special quality profile i created for people who are really interested in it This release profile is fine tuned when you want to run a 2nd Radarr for 1080p, and want minimum to none transcoding and smaller sizes for the second copy's Why choose this quality profile? Streaming optimized (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) Small sizes Good quality Only AC3 Audio (Downmixed Lossless audio track to Dolby Digital 5.1 for optimal compatibility) You want maximum compatibility between all devices and still a HQ releases. You run 2 instances of Radarr and want both version or just for the 1080p ones. You want to have minimum till none transcoding for low powered devices or remote streaming. \u21a9 Announced : Radarr shall consider movies available as soon as they are added to Radarr. This setting is recommended if you have good private trackers that do not have fakes. In Cinemas : Radarr shall consider movies available as soon as movies they hit cinemas. This option is not recommended. Released : Radarr shall consider movies available as soon as the Blu-ray is released. This option is recommended if your indexers contain fakes often. \u21a9 All Episodes : Monitor all episodes except specials Future Episodes : Monitor episodes that have not aired yet Missing Episodes : Monitor episodes that do not have files or have not aired yet Existing Episodes : Monitor episodes that have files or have not aired yet First Season : Monitor all episodes of the first season. All other seasons will be ignored Latest Season : Monitor all episodes of the latest season and future seasons None : No episodes will be monitored \u21a9 Anime : Episodes released using an absolute episode number Daily : Episodes released daily or less frequently that use year-month-day (2017-05-25) Standard : Episodes released with SxxEyy pattern \u21a9","title":"How to Sync 2 Radarr or Sonarr with each other"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#how-to-sync-2-radarr-or-sonarr-with-each-other","text":"In this Guide I will try to explain how you can sync two (or more) Radarr/Sonarr with each other. I'm going to show 2 different options how you can setup your sync with 2 Radarr/Sonarr. Option 1: This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances as it'll sync everything Option 2: This option is best used if you only want to have a subset of your library Movies/TV Shows as 4K/2160p (UHD) as it filters by quality profile I'm not going to explain how to set up 2 Radarr/Sonarr for your system, being it depends how you have it installed/running. Radarr Multiple Instance Information and Sonarr Multiple Instance Information","title":"How to Sync 2 Radarr or Sonarr with each other"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#preparation","text":"For this you need to have prepared the following: 2 Radarr/Sonarr fully setup (Indexers, Custom Formats, Downloaders, etc). 1 download client ( 2 if you prefer Usenet and Torrents ). Your download client has 2 separate categories (movies-hd, movies-uhd, tv-hd, tv-uhd, etc) Attention You can't use the same root (media library) folder for both Radarr's/Sonarr's Make sure you use 2 separate root folders in Radarr/Sonarr (movies-hd, movies-uhd, tv-hd, tv-uhd, etc)","title":"Preparation"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#option-1","text":"In this example I'm going to use 2 Radarr (The basics is the same for Sonarr). Radarr 1 = My main 4K/2160p (UHD) Radarr. Radarr 2 = My 1080p Radarr that I've setup for streaming optimized quality profile. 1 This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances","title":"Option 1"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#adding-the-radarr-sync-list","text":"In Radarr 2 go to Settings => Lists Click on the + to add a lists and select Radarr Then you get a screen with the following options. The name you want to call your Sync list. Enable to Enable the list. Enable so the movies will be automatically added. Enable so the movies will be added and monitored (if disabled then there will be no search done for the movies). Enable so when added Radarr will perform a search. When Radarr shall consider a movie is available. 2 The Quality Profile you want to use on Radarr 2 . Your Root location for your media library. The Full URL to Radarr 1 (Use local URL if they run on the same system). Your API Key of Radarr 1 . Which Profile of Radarr 1 you want to Sync with Radarr 2 . Test the connection to Radarr 1 . Save your settings.","title":"Adding the Radarr Sync list"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#radarr-download-client-setup","text":"You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client ( 2 if you prefer Usenet and Torrents ). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Radarr 2 Attention This can't and shouldn't be the same category you use for Radarr 1 but a separate Category .","title":"Radarr Download client setup"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#how-does-this-radarr-sync-work","text":"You now only need to make use of Radarr 1 all movies your add to Radarr 1 will be synced to Radarr 2 at a scheduled time.","title":"How does this Radarr Sync work"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#option-2","text":"In this example I'm going to use 2 Sonarr (The basics is the same for Radarr). Sonarr 1 = My main 1080p WEB-DL Sonarr. Sonarr 2 = 4K/2160p (UHD) WEB-DL Sonarr. This option is best used if you only want to have a few TV shows (or a Movies if you use this option with Radarr) as 4K/2160p (UHD)","title":"Option 2"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#extra-preparation","text":"In Sonarr 1 go to Settings => Profiles And Clone your used profile and rename your profile from Profilename - Copy to Profilename!","title":"Extra preparation"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#adding-the-sonarr-sync-list","text":"In Sonarr 2 go to Settings => Import Lists Click on the + to add a lists and select Sonarr Then you get a screen with the following options. The name you want to call your Sync list. Enable so the shows will be automatically added. Choose your monitoring options. 3 Your Root location for your media library. The Quality Profile you want to use on Sonarr 2 . Series Type. 4 If you want to use Season Folders. The Full URL to Sonarr 1 (Use local URL if they run on the same system). Your API Key of Sonarr 1 . The Cloned Profile of Sonarr 1 that we're going to use to Sync with Sonarr 2 . Test the connection to Sonarr 1 . Save your settings.","title":"Adding the Sonarr Sync list"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#sonarr-download-client-setup","text":"You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client (2 if you prefer Usenet and Torrents). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Sonarr 2 Important This can't and shouldn't be the same category you use for Sonarr 1 but a separate Category .","title":"Sonarr Download client setup"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#how-does-this-sonarr-sync-work","text":"You now only need to make use of Sonarr 1 , When you got a TV Shows (or a Movie if you use this option with Radarr) that you also want as 4K/2160p (UHD) then you make sure you make use of the Cloned Quality Profile. And it will sync at a scheduled time. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. If you're interested in the 1080p streaming optimized quality profile you can contact me on discord This is a special quality profile i created for people who are really interested in it This release profile is fine tuned when you want to run a 2nd Radarr for 1080p, and want minimum to none transcoding and smaller sizes for the second copy's Why choose this quality profile? Streaming optimized (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) Small sizes Good quality Only AC3 Audio (Downmixed Lossless audio track to Dolby Digital 5.1 for optimal compatibility) You want maximum compatibility between all devices and still a HQ releases. You run 2 instances of Radarr and want both version or just for the 1080p ones. You want to have minimum till none transcoding for low powered devices or remote streaming. \u21a9 Announced : Radarr shall consider movies available as soon as they are added to Radarr. This setting is recommended if you have good private trackers that do not have fakes. In Cinemas : Radarr shall consider movies available as soon as movies they hit cinemas. This option is not recommended. Released : Radarr shall consider movies available as soon as the Blu-ray is released. This option is recommended if your indexers contain fakes often. \u21a9 All Episodes : Monitor all episodes except specials Future Episodes : Monitor episodes that have not aired yet Missing Episodes : Monitor episodes that do not have files or have not aired yet Existing Episodes : Monitor episodes that have files or have not aired yet First Season : Monitor all episodes of the first season. All other seasons will be ignored Latest Season : Monitor all episodes of the latest season and future seasons None : No episodes will be monitored \u21a9 Anime : Episodes released using an absolute episode number Daily : Episodes released daily or less frequently that use year-month-day (2017-05-25) Standard : Episodes released with SxxEyy pattern \u21a9","title":"How does this Sonarr Sync work"},{"location":"SQP/","text":"Special Quality Profiles \u00b6 The Special Quality Profiles are Custom made and tested Quality Profile for specific needs or preferences. Attention Anything here is for private use only and not for public use I expect from the users that got the link to this page to honour it Yes you can talk in the public channels that you use a specific SQP. If others are interested they can join. The Following SQP are available \u00b6 Streaming optimized UHD WEBDL REMUX HQ-Encodes FAQ & INFO \u00b6 Info SQP = Special Quality Profile CF = Custom Formats Why don't you add this to the public guide ? These SQP are advanced Quality Profiles tested and created for a specific need, and only interesting for people that ae interested in a specific Quality Profile. I see CF that aren't in the main Guide Some SQP have/need specific CF to work. Some CF in your instructions have a score of 0 should i follow the scores from the main Guide ? No you should always follow the scores of the SQP. Tip Look for the SQP you want to use, if you're unsure which one will fit your needs ask in the dedicated channel. If you got any questions or need extra info about a SQP, please use the dedicated channel of that SQP to ask, so we know which SQP you're using. Follow the setup instructions and don't skip steps. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Special Quality Profiles"},{"location":"SQP/#special-quality-profiles","text":"The Special Quality Profiles are Custom made and tested Quality Profile for specific needs or preferences. Attention Anything here is for private use only and not for public use I expect from the users that got the link to this page to honour it Yes you can talk in the public channels that you use a specific SQP. If others are interested they can join.","title":"Special Quality Profiles"},{"location":"SQP/#the-following-sqp-are-available","text":"Streaming optimized UHD WEBDL REMUX HQ-Encodes","title":"The Following SQP are available"},{"location":"SQP/#faq-info","text":"Info SQP = Special Quality Profile CF = Custom Formats Why don't you add this to the public guide ? These SQP are advanced Quality Profiles tested and created for a specific need, and only interesting for people that ae interested in a specific Quality Profile. I see CF that aren't in the main Guide Some SQP have/need specific CF to work. Some CF in your instructions have a score of 0 should i follow the scores from the main Guide ? No you should always follow the scores of the SQP. Tip Look for the SQP you want to use, if you're unsure which one will fit your needs ask in the dedicated channel. If you got any questions or need extra info about a SQP, please use the dedicated channel of that SQP to ask, so we know which SQP you're using. Follow the setup instructions and don't skip steps. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"FAQ & INFO"},{"location":"SQP/1-1/","text":"Streaming Optimized \u00b6 Note Keep in mind this SQP is a WIP, Changes are done when needed. It uses Custom Formats and specific needed settings that probably will never make it to the guide, being the guide is used by the mass and what's used here is specific made. This also means some Custom Formats needs manual updating or you can use one of the 3rd party automation tools. Why choose this quality profile \u00b6 Why choose this quality profile? - [CLICK TO EXPAND] You want maximum compatibility between all devices and still a HQ releases. You run 2 instances of Radarr and want both version or just for the 1080p ones. You want to have minimum till none transcoding for low powered devices or remote streaming. If available for you Streaming optimized. (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) Small sizes. Workflow Rules \u00b6 Workflow Rules - [CLICK TO EXPAND] It will prefer 1080p BHDStudio releases, if no BHDStudio can be found it will prefer HQ WEB-DL BHDStudio BHDStudio does HQ 1080p Encodes with the following features Streaming optimized (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) AC3 Audio (Downmixed Lossless audio track to Dolby Digital 5.1 for optimal compatibility) Small sizes Good quality No Dolby Vision Instructions \u00b6 Follow every steps below. Don't skip any steps. Changing the tested recommended scores could result in undesired results. Adding CF not in this guide could result in undesired results. Create a new Quality Profile \u00b6 Settings => Profiles Create a new profile and name it what ever you want I used Bluray|WEB-1080p Merge Qualities \u00b6 Merge the following Qualities together: Bluray-720p Bluray-1080p WEBDL/WEBRIP-1080p To merge them you need to click on the edit groups. Quality Profile Settings \u00b6 Enable: Upgrades Allowed Upgrade Until Quality: Bluray|WEB-1080p Minimum Custom Format Score: 1000 1 Upgrade Until Custom Format Score: 10000 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Custom Formats and scores \u00b6 HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 0 HQ 0 BHDStudio - [CLICK TO EXPAND] Custom Format Score LINK BHDStudio 1800 Misc - [CLICK TO EXPAND] Custom Format Score LINK 720p 5 1080 25 Repack/Proper 1 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Quality Size \u00b6 Settings => Quality Change the 1080p Quality Size to the range BHDStudio uses ( I searched BHD to check what was their smallest and biggest release, so this can change later if needed) If you notice issues with the sizes please report it. Quality Min Preferred Max WEBDL-1080p 25.2 84.7 85.7 WEBRip-1080p 25.2 84.7 85.7 Bluray-720p 25.2 101 102 Bluray-1080p 33.8 135.9 136.9 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. If you don't mind to get also other Bluray Encodes (less or not streaming optimized) then you could lower this score to 10. \u21a9","title":"Streaming Optimized"},{"location":"SQP/1-1/#streaming-optimized","text":"Note Keep in mind this SQP is a WIP, Changes are done when needed. It uses Custom Formats and specific needed settings that probably will never make it to the guide, being the guide is used by the mass and what's used here is specific made. This also means some Custom Formats needs manual updating or you can use one of the 3rd party automation tools.","title":"Streaming Optimized"},{"location":"SQP/1-1/#why-choose-this-quality-profile","text":"Why choose this quality profile? - [CLICK TO EXPAND] You want maximum compatibility between all devices and still a HQ releases. You run 2 instances of Radarr and want both version or just for the 1080p ones. You want to have minimum till none transcoding for low powered devices or remote streaming. If available for you Streaming optimized. (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) Small sizes.","title":"Why choose this quality profile"},{"location":"SQP/1-1/#workflow-rules","text":"Workflow Rules - [CLICK TO EXPAND] It will prefer 1080p BHDStudio releases, if no BHDStudio can be found it will prefer HQ WEB-DL BHDStudio BHDStudio does HQ 1080p Encodes with the following features Streaming optimized (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) AC3 Audio (Downmixed Lossless audio track to Dolby Digital 5.1 for optimal compatibility) Small sizes Good quality No Dolby Vision","title":"Workflow Rules"},{"location":"SQP/1-1/#instructions","text":"Follow every steps below. Don't skip any steps. Changing the tested recommended scores could result in undesired results. Adding CF not in this guide could result in undesired results.","title":"Instructions"},{"location":"SQP/1-1/#create-a-new-quality-profile","text":"Settings => Profiles Create a new profile and name it what ever you want I used Bluray|WEB-1080p","title":"Create a new Quality Profile"},{"location":"SQP/1-1/#merge-qualities","text":"Merge the following Qualities together: Bluray-720p Bluray-1080p WEBDL/WEBRIP-1080p To merge them you need to click on the edit groups.","title":"Merge Qualities"},{"location":"SQP/1-1/#quality-profile-settings","text":"Enable: Upgrades Allowed Upgrade Until Quality: Bluray|WEB-1080p Minimum Custom Format Score: 1000 1 Upgrade Until Custom Format Score: 10000 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly.","title":"Quality Profile Settings"},{"location":"SQP/1-1/#custom-formats-and-scores","text":"HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 0 HQ 0 BHDStudio - [CLICK TO EXPAND] Custom Format Score LINK BHDStudio 1800 Misc - [CLICK TO EXPAND] Custom Format Score LINK 720p 5 1080 25 Repack/Proper 1 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 .","title":"Custom Formats and scores"},{"location":"SQP/1-1/#quality-size","text":"Settings => Quality Change the 1080p Quality Size to the range BHDStudio uses ( I searched BHD to check what was their smallest and biggest release, so this can change later if needed) If you notice issues with the sizes please report it. Quality Min Preferred Max WEBDL-1080p 25.2 84.7 85.7 WEBRip-1080p 25.2 84.7 85.7 Bluray-720p 25.2 101 102 Bluray-1080p 33.8 135.9 136.9 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. If you don't mind to get also other Bluray Encodes (less or not streaming optimized) then you could lower this score to 10. \u21a9","title":"Quality Size"},{"location":"SQP/1-2/","text":"UHD WEBDL REMUX HQ-Encodes \u00b6 Note Keep in mind this SQP is a WIP, Changes are done when needed. It uses Custom Formats and specific needed settings that probably will never make it to the guide, being the guide is used by the mass and what's used here is specific made. This also means some Custom Formats needs manual updating or you can use one of the 3rd party automation tools. Why choose this quality profile \u00b6 Why choose this quality profile? - [CLICK TO EXPAND] You got a decent audio setup. (that supports all HD audio formats) You got a setup that completely supports DoVi from start to end. You do want the highest quality as possible to watch but want to save space for archiving without loosing video and audio quality. HDR/DoVi (Depending what's offered and often both) HD Audio (Atmos, TrueHD etc...) You don't want to wait for the HQ Encodes to be released, to watch it. Workflow Rules \u00b6 Workflow Rules - [CLICK TO EXPAND] With this profile you would download the 4k WEB-DL (streaming services) When the 4k Remux is released it will upgrade to the 4k Remux. When the HQ Encode is released it will upgrade to the HQ Encode. When there is no HQ Encode you still get the 4k Remuxes. Optional Imax Enhanced When a Imax Enhanced exist it will upgrade/downgrade to Imax Enhanced. Imax Enhanced will be ONLY chosen if it has the same AUDIO and HDR Metadata It won't downgrade from a TrueHD Atmos to a DD+ Atmos or from a DV to a HDR . Instructions \u00b6 Follow every steps below. Don't skip any steps. Changing the tested recommended scores could result in undesired results. Adding CF not in this guide could result in undesired results. Create a new Quality Profile \u00b6 Settings => Profiles Create a new profile and name it what ever you want I used WEBDL|Remux|Bluray|2160p Merge Qualities \u00b6 Merge the following Qualities together: Remux-2160p Bluray-2160p WEBDL/WEBRIP-2160p To merge them you need to click on the edit groups. Quality Profile Settings \u00b6 Enable: Upgrades Allowed Upgrade Until Quality: WEBDL|Remux|Bluray|2160p Minimum Custom Format Score: 10 Upgrade Until Custom Format Score: 10000 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Custom Formats and scores \u00b6 Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 IMAX Enhanced 750 IMAX Enhanced IMAX Enhanced: Get More Picture Instead of Black Bars. IMAX Enhanced exclusive expanded aspect ratio is 1:90:1, which offers up to 26% more picture for select sequences, meaning more of the action is visible on screen. If you don't prefer IMAX Enhanced then don't add it or use a score of 0 HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 1900 HQ 0 HQ 4k Encodes - [CLICK TO EXPAND] Custom Format Score LINK UHD (CtrlHD) 2300 UHD (DON) 2300 UHD (W4NK3R) 2300 UHD (HQMUX) 2200 UHD (LEGi0N) 2100 UHD (WEBDV) 1800 Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Quality Size \u00b6 Settings => Quality Quality Min Preferred Max WEBDL-2160p 50.8 399 400 WEBRip-2160p 50.8 399 400 Bluray-2160p 102 399 400 Remux-2160p 187.4 399 400 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"UHD WEBDL REMUX HQ-Encodes"},{"location":"SQP/1-2/#uhd-webdl-remux-hq-encodes","text":"Note Keep in mind this SQP is a WIP, Changes are done when needed. It uses Custom Formats and specific needed settings that probably will never make it to the guide, being the guide is used by the mass and what's used here is specific made. This also means some Custom Formats needs manual updating or you can use one of the 3rd party automation tools.","title":"UHD WEBDL REMUX HQ-Encodes"},{"location":"SQP/1-2/#why-choose-this-quality-profile","text":"Why choose this quality profile? - [CLICK TO EXPAND] You got a decent audio setup. (that supports all HD audio formats) You got a setup that completely supports DoVi from start to end. You do want the highest quality as possible to watch but want to save space for archiving without loosing video and audio quality. HDR/DoVi (Depending what's offered and often both) HD Audio (Atmos, TrueHD etc...) You don't want to wait for the HQ Encodes to be released, to watch it.","title":"Why choose this quality profile"},{"location":"SQP/1-2/#workflow-rules","text":"Workflow Rules - [CLICK TO EXPAND] With this profile you would download the 4k WEB-DL (streaming services) When the 4k Remux is released it will upgrade to the 4k Remux. When the HQ Encode is released it will upgrade to the HQ Encode. When there is no HQ Encode you still get the 4k Remuxes. Optional Imax Enhanced When a Imax Enhanced exist it will upgrade/downgrade to Imax Enhanced. Imax Enhanced will be ONLY chosen if it has the same AUDIO and HDR Metadata It won't downgrade from a TrueHD Atmos to a DD+ Atmos or from a DV to a HDR .","title":"Workflow Rules"},{"location":"SQP/1-2/#instructions","text":"Follow every steps below. Don't skip any steps. Changing the tested recommended scores could result in undesired results. Adding CF not in this guide could result in undesired results.","title":"Instructions"},{"location":"SQP/1-2/#create-a-new-quality-profile","text":"Settings => Profiles Create a new profile and name it what ever you want I used WEBDL|Remux|Bluray|2160p","title":"Create a new Quality Profile"},{"location":"SQP/1-2/#merge-qualities","text":"Merge the following Qualities together: Remux-2160p Bluray-2160p WEBDL/WEBRIP-2160p To merge them you need to click on the edit groups.","title":"Merge Qualities"},{"location":"SQP/1-2/#quality-profile-settings","text":"Enable: Upgrades Allowed Upgrade Until Quality: WEBDL|Remux|Bluray|2160p Minimum Custom Format Score: 10 Upgrade Until Custom Format Score: 10000 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly.","title":"Quality Profile Settings"},{"location":"SQP/1-2/#custom-formats-and-scores","text":"Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 IMAX Enhanced 750 IMAX Enhanced IMAX Enhanced: Get More Picture Instead of Black Bars. IMAX Enhanced exclusive expanded aspect ratio is 1:90:1, which offers up to 26% more picture for select sequences, meaning more of the action is visible on screen. If you don't prefer IMAX Enhanced then don't add it or use a score of 0 HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 1900 HQ 0 HQ 4k Encodes - [CLICK TO EXPAND] Custom Format Score LINK UHD (CtrlHD) 2300 UHD (DON) 2300 UHD (W4NK3R) 2300 UHD (HQMUX) 2200 UHD (LEGi0N) 2100 UHD (WEBDV) 1800 Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 .","title":"Custom Formats and scores"},{"location":"SQP/1-2/#quality-size","text":"Settings => Quality Quality Min Preferred Max WEBDL-2160p 50.8 399 400 WEBRip-2160p 50.8 399 400 Bluray-2160p 102 399 400 Remux-2160p 187.4 399 400 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Quality Size"},{"location":"Sonarr/","text":"Sonarr \u00b6 Here you will find a collection of Sonarr Guides I made. v3 Sonarr Branch: latest \u00b6 (Stable) (v3) Builds Pushed only when intentionally released Github Branch: main Docker: hotio/sonarr:release hotio/sonarr:release","title":"Home"},{"location":"Sonarr/#sonarr","text":"Here you will find a collection of Sonarr Guides I made.","title":"Sonarr"},{"location":"Sonarr/#v3-sonarr-branch-latest","text":"(Stable) (v3) Builds Pushed only when intentionally released Github Branch: main Docker: hotio/sonarr:release hotio/sonarr:release","title":"v3 Sonarr Branch: latest"},{"location":"Sonarr/Sonarr-Quality-Settings-File-Size/","text":"Quality Settings (File Size) \u00b6 I often get the question what's the best Quality Settings to use, Well it's actually personal preference so I will show you a recommended Quality Settings. But before you continue to read, as with all my guides: If you don't care about quality then stop reading and see if the other tutorials are helpful for you. This Quality Settings has been created and tested with info I got from others, and release comparisons from different sources. I only do WEB-DL my self for TV shows because in my opinion WEB-DL is the sweet spot between Quality and Size and you often don't see big difference anyway for TV shows. (Except for shows like GOT, Vikings, etc) FAQ FAQ \u00b6 Q: Why do you only show starting from HDTV720p? A: With the big screens these days anything lower doesn't look watchable Q: Why do you have some sized set so high? A: You probably didn't read the bold text above, I also need to keep in mind usenet releases that are often bigger then torrent releases. Q: You noticed that some episodes don't grab because of these settings. A: If you notice that some episodes won't be grabbed because of these size settings you can provide me a proof with a screenshot and the error it shows you when you do a interactive search (non redacted except the indexer/tracker if you want to). I will only accept changes that are International releases no multi, or dubbed language releases. I won't accept mislabeled source releases like from MeGusta, etc (they should learn to name their stuff decent first). I won't accept changes for micro sized releases. Documentaries and cartoons are often much smaller so I probably won't edit those either. Sonarr Quality Definitions \u00b6 Quality Minimum Maximum HDTV-720p 10 67.5 HDTV-1080p 15 137.3 WEBRip-720p 10 137.3 WEBDL-720p 10 137.3 Bluray-720p 17.1 137.3 WEBRip-1080p 15 137.3 WEBDL-1080p 15 137.3 Bluray-1080p 50.4 227 Bluray-1080p Remux 69.1 400 HDTV-2160p 69.1 350 WEBRip-2160p 69.1 350 WEBDL-2160p 69.1 350 Bluray-2160p 94.6 400 Bluray-2160p Remux 204.4 400 Sonarr Quality Definitions - Anime (Work in Progress) \u00b6 Quality Minimum Maximum HDTV-720p 2.3 51.4 HDTV-1080p 2.3 100 WEBRip-720p 4.3 100 WEBDL-720p 4.3 51.4 Bluray-720p 4.3 102.2 WEBRip-1080p 4.5 257.4 WEBDL-1080p 4.3 253.6 Bluray-1080p 4.3 258.1 Bluray-1080p Remux 0 400 HDTV-2160p 69.1 350 WEBRip-2160p 69.1 350 WEBDL-2160p 69.1 350 Bluray-2160p 94.6 400 Bluray-2160p Remux 204.4 400 Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Quality Settings (File Size)"},{"location":"Sonarr/Sonarr-Quality-Settings-File-Size/#quality-settings-file-size","text":"I often get the question what's the best Quality Settings to use, Well it's actually personal preference so I will show you a recommended Quality Settings. But before you continue to read, as with all my guides: If you don't care about quality then stop reading and see if the other tutorials are helpful for you. This Quality Settings has been created and tested with info I got from others, and release comparisons from different sources. I only do WEB-DL my self for TV shows because in my opinion WEB-DL is the sweet spot between Quality and Size and you often don't see big difference anyway for TV shows. (Except for shows like GOT, Vikings, etc) FAQ","title":"Quality Settings (File Size)"},{"location":"Sonarr/Sonarr-Quality-Settings-File-Size/#faq","text":"Q: Why do you only show starting from HDTV720p? A: With the big screens these days anything lower doesn't look watchable Q: Why do you have some sized set so high? A: You probably didn't read the bold text above, I also need to keep in mind usenet releases that are often bigger then torrent releases. Q: You noticed that some episodes don't grab because of these settings. A: If you notice that some episodes won't be grabbed because of these size settings you can provide me a proof with a screenshot and the error it shows you when you do a interactive search (non redacted except the indexer/tracker if you want to). I will only accept changes that are International releases no multi, or dubbed language releases. I won't accept mislabeled source releases like from MeGusta, etc (they should learn to name their stuff decent first). I won't accept changes for micro sized releases. Documentaries and cartoons are often much smaller so I probably won't edit those either.","title":"FAQ"},{"location":"Sonarr/Sonarr-Quality-Settings-File-Size/#sonarr-quality-definitions","text":"Quality Minimum Maximum HDTV-720p 10 67.5 HDTV-1080p 15 137.3 WEBRip-720p 10 137.3 WEBDL-720p 10 137.3 Bluray-720p 17.1 137.3 WEBRip-1080p 15 137.3 WEBDL-1080p 15 137.3 Bluray-1080p 50.4 227 Bluray-1080p Remux 69.1 400 HDTV-2160p 69.1 350 WEBRip-2160p 69.1 350 WEBDL-2160p 69.1 350 Bluray-2160p 94.6 400 Bluray-2160p Remux 204.4 400","title":"Sonarr Quality Definitions"},{"location":"Sonarr/Sonarr-Quality-Settings-File-Size/#sonarr-quality-definitions-anime-work-in-progress","text":"Quality Minimum Maximum HDTV-720p 2.3 51.4 HDTV-1080p 2.3 100 WEBRip-720p 4.3 100 WEBDL-720p 4.3 51.4 Bluray-720p 4.3 102.2 WEBRip-1080p 4.5 257.4 WEBDL-1080p 4.3 253.6 Bluray-1080p 4.3 258.1 Bluray-1080p Remux 0 400 HDTV-2160p 69.1 350 WEBRip-2160p 69.1 350 WEBDL-2160p 69.1 350 Bluray-2160p 94.6 400 Bluray-2160p Remux 204.4 400 Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Sonarr Quality Definitions - Anime (Work in Progress)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/","text":"Release Profile RegEx (Anime) \u00b6 Note This Guide is Created and Maintained by Visorask/Visorak It's recommended to run 2 Sonarr's 1 for Anime and 1 for normal tv shows, or you can make use of tags. Being that release profiles are global without the use of a tag. Dual-Audio Regex \u00b6 Having tested most of these settings, they work pretty well but Anime is a fickle beast to toy with so be warned. Anime Delete \u00b6 If you have issues with extra files being download like NCED or NCOP If you have issues with sonarr picking up a bunch of: NCED NCOP Music Videos OP's Then this script (linux based only) will delete these files and get rid of them and you don't have to worry about them cluttering up your Auto or Manual import process. #!/usr/bin/env bash # Set the following location to your completed download location for Anime. # Usually one of the following paths: # Dockers => /data/{usenet|torrents}/anime # Cloudbox => /mnt/local/downloads/nzbs/nzbget/completed/sonarranime location = \"/your/download/path/here\" find $location -type f \\( -iname \"*op[0-9]*\" -o -iname \"*nced*\" -o -iname \"*ncop*\" -o -iname \"*music video*\" \\) -exec rm -rf {} \\; This script will be called through a custom connection in sonarr. Copy the contents of the script into whatever filepath sonarr has access to ( /config/app/ or /appdata/sonarr/scripts ) Edit the location=\"/your/download/path/here\" and make sure it's in quotes. Then save it and chmod +x the script. In Sonarr go to Settings => Connect => Click on the + Symbol => and select Custom Script Change Name to whatever you like. Select On Grab and On Import . Click the Folder icon or type in the path to the script you chose earlier. Now when you download or import any files the script will run and clear out those files that you most likely won't use and if you want them well this script isn't for you. Media Management \u00b6 Note There a few settings which make life a lot easier when tracking down and keeping certain information for your Anime and with tweaks to make it work better with HamaAgent for plex. Suggested naming scheme \u00b6 For this I used the Sonarr Recommended naming scheme for Sonarr with only a small change for a formatting error to be fixed and the Series Folder Format for easier matching. Anime Episode Format \u00b6 Has all necessary information and a little extra if you needed to rebuild. { Series TitleYear } - S { season:00 } E { episode:00 } - { absolute:000 } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRange ]}[{ MediaInfo VideoBitDepth } bit ]{[ MediaInfo VideoCodec ]}[{ Mediainfo AudioCodec } { Mediainfo AudioChannels }]{ MediaInfo AudioLanguages }{ -Release Group } RESULTS: Single Episode: The Series Title! (2010) - S01E01 - 001 - Episode Title 1 [AMZN WEBDL-1080p v2][HDR][10bit][x264][DTS 5.1][FLAC][JA]-RlsGrp Multi Episode: The Series Title! (2010) - S01E01-E02-E03 - 001-002-003 - Episode Title [AMZN WEBDL-1080p v2][HDR][10bit][x264][DTS 5.1][FLAC][JA]-RlsGrp Series Folder Format \u00b6 Adding year back in with tvdb id allows matching to be correct. Thanks salty. { Series TitleTheYear } [ tvdb- { TvdbId }] RESULT: The Series Title! (2010) [tvdb-12345] Season Folder Format \u00b6 The only one real option to use in my opinion. Season { season:00 } RESULT: Season 01 Multi-Episode Style \u00b6 Prefixed Range RESULTS: Example Quality Profile \u00b6 We need to add HDTV-1080p and Bluray-1080p into the same group as WEBDL-1080p and WEBRip-1080p so that it will download correctly and not upgrade past HDTV-1080P if Preferred Words does not allow it. Indexers \u00b6 We need to add the Anime Categories to our indexers otherwise this all won't work very well. Example We need to open Settings -> Indexers Select the Indexer(s) you would like to use for Anime Select the dropdown for Anime Categories . Select the Anime category. Click outside the pop-up modal but inside the Add Indexer modal. Note Check mark Include Preferred when Renaming where applicable and add {Preferred Words} to your renaming scheme else you could get a download loop issues!!! Release Profiles \u00b6 Note We're going to make use of 2 separate release profiles. First Release Profile \u00b6 Important DO Check mark Include Preferred when Renaming on this release profile. Multi-Audio \u00b6 Add this to your Preferred with a score of [500] / ( multi [ ._- ] ?audio ) /i Dual-Audio \u00b6 Add this to your Preferred with a score of [0] . This is for renames only and why it is at 0 . It is also added in the second profile. This one is to ensure that the preferred words get added. / ( dual [ ._- ] ?audio ) /i Optional (uncut|unrated|uncensored) \u00b6 Add this to your Preferred with a score of [100]/[-10000] If you would like it to be priority then set to 100 . If you do not want uncensored set it to -10000 . If you don't care either way just leave it out. The reasoning behind only 100 is so that it doesn't trump other release further up in the chain, this way it will trump maybe a couple release but not more. And -10000 to hopefully put it at the bottom of any tier list if you don't want it. / ( uncut | unrated | uncensored | \\b ( AT [ -_. ] ?X ) \\b ) /i Note When done it should look something like this: Second Release Profile \u00b6 Warning DO NOT Check mark Include Preferred when Renaming Must Not Contain \u00b6 The reason most of these are added is due to their shitty quality or just in general are not as good as other stuff that is out there. This can be tweaked as needed. Let me know if you run into any issues here. You should be able to just copy paste these in one go. If there is a reason something shouldn't be here let me know and your logic and I will be open to adjusting. Important If you would like dub releases then remove the last 2 lines and do not add them. / ( \\[ EMBER \\] | -EMBER \\b | DaddySubs ) /i, / ( BDMV | M2TS | \\b SSA \\b | \\b VOSTFR \\b | \\b AbemaTV \\b ) /i, / ( CuaP | PnPSubs | ICEBLUE | SLAX | U3-Web ) /i, / ( Raws-Maji | \\b KRP \\b | M@nI | Kanjouteki | PuyaSubs ) /i, / \\b ( Beatrice | ohys | Kawaiika | neko | daddy )[ ._- ] ? ( raws ) \\b /i, / \\b ( LowPower | Scryous )[ ._- ] ? ( raws ) \\b /i, / \\b ( NS | AREY | BDMV | BDVD | BJX | DKB | DP | TnF ) \\b /i, / ( Amb3r | DsunS | ExREN | \\$ tore-Chill ) /i, / ( \\[ Hatsuyuki \\] | -Hatsuyuki \\b | \\[ Hitoku \\] | -Hitoki \\b ) /i, / ( \\[ Foxtrot \\] | -Foxtrot \\b | HollowRoxas | \\b MGD \\b ) /i, / ( JacobSwaggedUp | KEKMASTERS | \\[ Mites \\] | -Mites \\b ) /i, / ( neoHEVC | Pantsu | \\[ Pao \\] | -Pao \\b | Plex Friendly ) /i, / ( Rando235 | RandomRemux | Reaktor | RightShiftBy2 ) /i, / ( \\b SHFS \\b | StrayGods | \\b UQW \\b | Yabai_Desu_Ne ) /i, / ( YakuboEncodes | \\b ( WtF [ ._- ] ?Anime ) \\b ) /i, / (( funi | eng ( lish ) ? ) _?dub | \\b dub ( bed ) ? \\b ) /i, / ( Golumpa | torenter69 | KamiFS | KaiDubs ) /i Preferred \u00b6 Note 2 lines in one grouping is just there for readability purposes but achieves the same result and score. Add this to your Preferred with a score of [501] Note This is set to 501 so that it may jump 1 tier if need be but not more. /dual [ ._- ] ?audio | EN \\+ JA | JA \\+ EN/i Important These next few are optional but they are here to move releases up over lower tiers of 1080/720p or WEB-DL/Blu-Ray . Will add another note like this to end the optional section. Add this to your Preferred with a score of [100] Note We are adding this as 100 so that any unknown Blu-Ray can jump tiers inside the Subs categories but not interfere with any tiers above. / \\b ( ?: ( Blu-?Ray | BDMux | BD ( ?!$ )) | ( B [ DR ] Rip ))( ?: \\b | $ | [ . ]) /ix Add this to your Preferred with a score of [15] / \\b ( WEB [ -_. ] ?DL | WebHD | [ . ] WEB [ . ]( ?: [ xh ] 26 [ 45 ] | DDP?5 [ . ] 1 ) | [ . ]( ?-i:WEB ) $ | \\d +0p ( ?:WEB-DLMux | \\b\\s\\/\\s WEB \\s\\/\\s\\b )) /ix Add this to your Preferred with a score of [10] / ( Web-?Rip | WEBMux ) /ix Add this to your Preferred with a score of [5] / \\b ( ?: ( 1080p | 1920x1080 | 1440p | FHD | 1080i | 4kto1080p )) \\b /i Important This is the end of the optional section. Add this to your Preferred with a score of [4000] BluRay-Remux / Dual-Audio / 1st Tier / ( deanzel | \\b ZR \\b | \\b CTR \\b | \\b SCY \\b | \\b MK \\b | TTGA ) /i / ( \\b Shir \\b | LostYears | BluDragon | KAWAiREMUX ) /i / ( \\b AC \\b | ShadyCrab | Rasetsu | Raizel | Dragon-Releases ) /i / ( \\[ Spark \\] | -Spark \\b | \\b REVO \\b | \\b SRLS \\b | ANThELIa ) /i / ( \\[ Vanilla \\] | -Vanilla \\b | \\b AP \\b ) /i Add this to your Preferred with a score of [3750] BluRay / Dual-Audio / Special (Releases they have are in between below releases and remuxes above.) / ( E [ .- ] N [ .- ] D ) /i Add this to your Preferred with a score of [3500] BluRay / Dual-Audio / 1st Tier / ( \\b HAiKU \\b | Exiled-Destiny | \\b ( E-D ) \\b | Koten [ ._- ] Gars ) /i / ( \\[ GHOST \\] | -GHOST \\b | \\[ NPC \\] | -NPC \\b | \\b CBM \\b ) /i / ( \\b KH \\b | \\b CBT \\b | \\[ naiyas \\] | -naiyas \\b | ShowY | Kametsu | \\b Pn8 \\b | Hark0N ) /i Add this to your Preferred with a score of [3000] BluRay / Dual-Audio / Scene|P2P Groups / ( \\b DHD \\b | RedBlade | TENEIGHTY | WaLMaRT ) /i / ( \\b BMF \\b | \\[ STRiFE \\] | -STRiFE \\b ) /i / ( MKVULTRA | iAHD | ANiHLS ) /i Add this to your Preferred with a score of [2500] BluRay / Dual-Audio / 2ndd Tier / ( \\[ YURASUKA \\] | -YURASUKA \\b | karios | Arukoru ) /i / ( \\b RH \\b | \\[ Prof \\] | -Prof \\b ) /i Add this to your Preferred with a score of [2000] WebSource / Dual|Multi-Audio / ( DragsterPS ) /i Add this to your Preferred with a score of [1500] WebSource / Dual-Audio / ( xPearse | \\b MCR \\b | \\b KS \\b | KiyoshiStar ) /i Add this to your Preferred with a score of [1000] DVD / Dual-Audio / ( \\b ( A-L ) \\b ) /i Add this to your Preferred with a score of [300] Subs with multi such as German, French , Spanish, Italian, Russian, Arabic, Portuguese and English / ( Erai-raws | KAN3D2M ) /i Add this to your Preferred with a score of [250] Subs / ( HorribleSubs | SubsPlease | SallySubs ) /i Add this to your Preferred with a score of [200] Subs 2nd Tier / ( \\[ Mysteria \\] | -Mysteria \\b | Asenshi ) /i / ( \\[ meta \\] | -meta \\b | BlueLobster ) /i Add this to your Preferred with a score of [150] Subs 3rd Tier / ( \\b GJM \\b | kBaraka ) /i Add this to your Preferred with a score of [100] FanSubs 1st Tier / ( \\b CH \\b | \\b FFF \\b | Licca | Soldado | SNSbu ) /i / ( Coalgirls | BlurayDesuYo | DameDesuYo | \\b PAS \\b ) /i Add this to your Preferred with a score of [50] FanSubs 2nd Tier / ( \\[ Orphan \\] | -Orphan \\b | \\[ Yabai \\] | -Yabai \\b | \\b Nii-sama \\b ) /i / ( \\[ Doki \\] | -Doki \\b | \\[ Chihiro \\] | -Chihiro \\b | Final8 ) /i / ( \\[ tenshi \\] | -tenshi \\b | SHiN-gx ) /i Add this to your Preferred with a score of [25] FanSubs 3rd Tier / ( AkihitoSubs | \\b ASW \\b | Commie ) /i Note These are extra parameters that can help and are not needed but are nice to have. They are set low mainly to supercede themselves and not interfere with other releases. Add this to your Preferred with a score of [1] Adds Hi10|Hi10p into a match. Prefers this over some erroneous matches. / ( 10 .?bit | hi10p ) /i Add this to your Preferred with a score of [1] Adds version due to anime groups sometimes fixing issues with their releases. / \\d ( v2 ) \\b /i Add this to your Preferred with a score of [2] / \\d ( v3 ) \\b /i Add this to your Preferred with a score of [3] / \\d ( v4 ) \\b /i Note This section can be controversial but most of these releases are micro/mini encodes or crappy quality. I personally add them into the do not want section but I will leave them here with negative values so you can still grab them if all else fails. Add this to your Preferred with a score of [-10000] Sub-Par Releases 1st Tier (Re-encoded to crap or really small filesizes) (Little less worse than the rest) / ( \\[ Judas \\] | -Judas | \\[ Cleo \\] | -Cleo ) /i / ( AnimeRG | bonkai77 | URANiME ) /i Add this to your Preferred with a score of [-15000] Sub-Par Releases 2nd Tier (Re-encoded to crap or really small filesizes) (Seperated onto separate lines for readability) / ( \\[ Pixel \\] | -Pixel \\b\\[ EDGE \\] | -EDGE \\b | \\[ Ranger \\] | -Ranger \\b ) /i / ( SpaceFish | DeadFish | \\b DB \\b | Man \\. K | \\b HR \\b ) /i / ( BakedFish | N [ eo ][ wo ] b [ ._- ] ?Subs | \\b Anime [ . ] Time \\b ) /i / ( AnimeKaizoku | \\[ Kaizoku \\] | -Kaizoku \\b | \\b CBB \\b | phazer11 ) /i / ( iPUNISHER | MiniTheatre | MiniFreeza | Mr \\. Deadpool ) /i / ( NemDiggers | Project-gxs | youshikibi ) /i / ( \\b MD \\b | Pog42 | mdcx ) /i / ( A-Destiny | TOPKEK | \\b UwU \\b | DARKFLiX ) /i / ( \\[ Maximus \\] | -Maximus \\b | \\[ 224 \\] | -224 \\b ) /i / ( \\[ Harunatsu \\] | -Harunatsu \\b ) /i / ( \\[ Davinci \\] | -Davinci \\b ) /i If you would like the above to be in DO NOT WANT in an easy format here it is. / ( \\[ Pixel \\] | -Pixel \\b\\[ EDGE \\] | -EDGE \\b | \\[ Ranger \\] | -Ranger \\b ) /i, / ( SpaceFish | DeadFish | \\b DB \\b | Man \\. K | \\b HR \\b ) /i, / ( BakedFish | N [ eo ][ wo ] b [ ._- ] ?Subs | \\b Anime Time \\b ) /i, / ( AnimeKaizoku | Kaizoku | \\b CBB \\b | phazer11 ) /i, / ( iPUNISHER | MiniTheatre | MiniFreeza | Mr \\. Deadpool ) /i, / ( NemDiggers | Project-gxs | youshikibi ) /i, / ( \\b MD \\b | Pog42 | mdcx ) /i, / ( A-Destiny | TOPKEK | \\b UwU \\b | DARKFLiX ) /i, / ( \\[ Maximus \\] | -Maximus \\b | \\[ 224 \\] | -224 \\b ) /i, / ( \\[ Harunatsu \\] | -Harunatsu \\b ) /i, / ( \\[ Davinci \\] | -Davinci \\b ) /i Note When done it should look something like this: Completed \u00b6 When completed your Release Profiles should look like this: Acknowledgements \u00b6 Most of my information and knowledge came from: Kaiser (Guidance on anime groups) rg9400 (Guidance on regex fixes, anime groups and general knowledge share.) Drazzilb (Guidance on regex fixes, anime groups and general knowledge share.) TRaSH (For allowing me to utilize his website for my guide and general knowledge share.) Thanks a bunch!! Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Release Profile RegEx (Anime)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#release-profile-regex-anime","text":"Note This Guide is Created and Maintained by Visorask/Visorak It's recommended to run 2 Sonarr's 1 for Anime and 1 for normal tv shows, or you can make use of tags. Being that release profiles are global without the use of a tag.","title":"Release Profile RegEx (Anime)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#dual-audio-regex","text":"Having tested most of these settings, they work pretty well but Anime is a fickle beast to toy with so be warned.","title":"Dual-Audio Regex"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#anime-delete","text":"If you have issues with extra files being download like NCED or NCOP If you have issues with sonarr picking up a bunch of: NCED NCOP Music Videos OP's Then this script (linux based only) will delete these files and get rid of them and you don't have to worry about them cluttering up your Auto or Manual import process. #!/usr/bin/env bash # Set the following location to your completed download location for Anime. # Usually one of the following paths: # Dockers => /data/{usenet|torrents}/anime # Cloudbox => /mnt/local/downloads/nzbs/nzbget/completed/sonarranime location = \"/your/download/path/here\" find $location -type f \\( -iname \"*op[0-9]*\" -o -iname \"*nced*\" -o -iname \"*ncop*\" -o -iname \"*music video*\" \\) -exec rm -rf {} \\; This script will be called through a custom connection in sonarr. Copy the contents of the script into whatever filepath sonarr has access to ( /config/app/ or /appdata/sonarr/scripts ) Edit the location=\"/your/download/path/here\" and make sure it's in quotes. Then save it and chmod +x the script. In Sonarr go to Settings => Connect => Click on the + Symbol => and select Custom Script Change Name to whatever you like. Select On Grab and On Import . Click the Folder icon or type in the path to the script you chose earlier. Now when you download or import any files the script will run and clear out those files that you most likely won't use and if you want them well this script isn't for you.","title":"Anime Delete"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#media-management","text":"Note There a few settings which make life a lot easier when tracking down and keeping certain information for your Anime and with tweaks to make it work better with HamaAgent for plex.","title":"Media Management"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#suggested-naming-scheme","text":"For this I used the Sonarr Recommended naming scheme for Sonarr with only a small change for a formatting error to be fixed and the Series Folder Format for easier matching.","title":"Suggested naming scheme"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#anime-episode-format","text":"Has all necessary information and a little extra if you needed to rebuild. { Series TitleYear } - S { season:00 } E { episode:00 } - { absolute:000 } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRange ]}[{ MediaInfo VideoBitDepth } bit ]{[ MediaInfo VideoCodec ]}[{ Mediainfo AudioCodec } { Mediainfo AudioChannels }]{ MediaInfo AudioLanguages }{ -Release Group } RESULTS: Single Episode: The Series Title! (2010) - S01E01 - 001 - Episode Title 1 [AMZN WEBDL-1080p v2][HDR][10bit][x264][DTS 5.1][FLAC][JA]-RlsGrp Multi Episode: The Series Title! (2010) - S01E01-E02-E03 - 001-002-003 - Episode Title [AMZN WEBDL-1080p v2][HDR][10bit][x264][DTS 5.1][FLAC][JA]-RlsGrp","title":"Anime Episode Format"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#series-folder-format","text":"Adding year back in with tvdb id allows matching to be correct. Thanks salty. { Series TitleTheYear } [ tvdb- { TvdbId }] RESULT: The Series Title! (2010) [tvdb-12345]","title":"Series Folder Format"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#season-folder-format","text":"The only one real option to use in my opinion. Season { season:00 } RESULT: Season 01","title":"Season Folder Format"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#multi-episode-style","text":"Prefixed Range RESULTS: Example","title":"Multi-Episode Style"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#quality-profile","text":"We need to add HDTV-1080p and Bluray-1080p into the same group as WEBDL-1080p and WEBRip-1080p so that it will download correctly and not upgrade past HDTV-1080P if Preferred Words does not allow it.","title":"Quality Profile"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#indexers","text":"We need to add the Anime Categories to our indexers otherwise this all won't work very well. Example We need to open Settings -> Indexers Select the Indexer(s) you would like to use for Anime Select the dropdown for Anime Categories . Select the Anime category. Click outside the pop-up modal but inside the Add Indexer modal. Note Check mark Include Preferred when Renaming where applicable and add {Preferred Words} to your renaming scheme else you could get a download loop issues!!!","title":"Indexers"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#release-profiles","text":"Note We're going to make use of 2 separate release profiles.","title":"Release Profiles"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#first-release-profile","text":"Important DO Check mark Include Preferred when Renaming on this release profile.","title":"First Release Profile"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#multi-audio","text":"Add this to your Preferred with a score of [500] / ( multi [ ._- ] ?audio ) /i","title":"Multi-Audio"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#dual-audio","text":"Add this to your Preferred with a score of [0] . This is for renames only and why it is at 0 . It is also added in the second profile. This one is to ensure that the preferred words get added. / ( dual [ ._- ] ?audio ) /i","title":"Dual-Audio"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#optional-uncutunrateduncensored","text":"Add this to your Preferred with a score of [100]/[-10000] If you would like it to be priority then set to 100 . If you do not want uncensored set it to -10000 . If you don't care either way just leave it out. The reasoning behind only 100 is so that it doesn't trump other release further up in the chain, this way it will trump maybe a couple release but not more. And -10000 to hopefully put it at the bottom of any tier list if you don't want it. / ( uncut | unrated | uncensored | \\b ( AT [ -_. ] ?X ) \\b ) /i Note When done it should look something like this:","title":"Optional (uncut|unrated|uncensored)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#second-release-profile","text":"Warning DO NOT Check mark Include Preferred when Renaming","title":"Second Release Profile"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#must-not-contain","text":"The reason most of these are added is due to their shitty quality or just in general are not as good as other stuff that is out there. This can be tweaked as needed. Let me know if you run into any issues here. You should be able to just copy paste these in one go. If there is a reason something shouldn't be here let me know and your logic and I will be open to adjusting. Important If you would like dub releases then remove the last 2 lines and do not add them. / ( \\[ EMBER \\] | -EMBER \\b | DaddySubs ) /i, / ( BDMV | M2TS | \\b SSA \\b | \\b VOSTFR \\b | \\b AbemaTV \\b ) /i, / ( CuaP | PnPSubs | ICEBLUE | SLAX | U3-Web ) /i, / ( Raws-Maji | \\b KRP \\b | M@nI | Kanjouteki | PuyaSubs ) /i, / \\b ( Beatrice | ohys | Kawaiika | neko | daddy )[ ._- ] ? ( raws ) \\b /i, / \\b ( LowPower | Scryous )[ ._- ] ? ( raws ) \\b /i, / \\b ( NS | AREY | BDMV | BDVD | BJX | DKB | DP | TnF ) \\b /i, / ( Amb3r | DsunS | ExREN | \\$ tore-Chill ) /i, / ( \\[ Hatsuyuki \\] | -Hatsuyuki \\b | \\[ Hitoku \\] | -Hitoki \\b ) /i, / ( \\[ Foxtrot \\] | -Foxtrot \\b | HollowRoxas | \\b MGD \\b ) /i, / ( JacobSwaggedUp | KEKMASTERS | \\[ Mites \\] | -Mites \\b ) /i, / ( neoHEVC | Pantsu | \\[ Pao \\] | -Pao \\b | Plex Friendly ) /i, / ( Rando235 | RandomRemux | Reaktor | RightShiftBy2 ) /i, / ( \\b SHFS \\b | StrayGods | \\b UQW \\b | Yabai_Desu_Ne ) /i, / ( YakuboEncodes | \\b ( WtF [ ._- ] ?Anime ) \\b ) /i, / (( funi | eng ( lish ) ? ) _?dub | \\b dub ( bed ) ? \\b ) /i, / ( Golumpa | torenter69 | KamiFS | KaiDubs ) /i","title":"Must Not Contain"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#preferred","text":"Note 2 lines in one grouping is just there for readability purposes but achieves the same result and score. Add this to your Preferred with a score of [501] Note This is set to 501 so that it may jump 1 tier if need be but not more. /dual [ ._- ] ?audio | EN \\+ JA | JA \\+ EN/i Important These next few are optional but they are here to move releases up over lower tiers of 1080/720p or WEB-DL/Blu-Ray . Will add another note like this to end the optional section. Add this to your Preferred with a score of [100] Note We are adding this as 100 so that any unknown Blu-Ray can jump tiers inside the Subs categories but not interfere with any tiers above. / \\b ( ?: ( Blu-?Ray | BDMux | BD ( ?!$ )) | ( B [ DR ] Rip ))( ?: \\b | $ | [ . ]) /ix Add this to your Preferred with a score of [15] / \\b ( WEB [ -_. ] ?DL | WebHD | [ . ] WEB [ . ]( ?: [ xh ] 26 [ 45 ] | DDP?5 [ . ] 1 ) | [ . ]( ?-i:WEB ) $ | \\d +0p ( ?:WEB-DLMux | \\b\\s\\/\\s WEB \\s\\/\\s\\b )) /ix Add this to your Preferred with a score of [10] / ( Web-?Rip | WEBMux ) /ix Add this to your Preferred with a score of [5] / \\b ( ?: ( 1080p | 1920x1080 | 1440p | FHD | 1080i | 4kto1080p )) \\b /i Important This is the end of the optional section. Add this to your Preferred with a score of [4000] BluRay-Remux / Dual-Audio / 1st Tier / ( deanzel | \\b ZR \\b | \\b CTR \\b | \\b SCY \\b | \\b MK \\b | TTGA ) /i / ( \\b Shir \\b | LostYears | BluDragon | KAWAiREMUX ) /i / ( \\b AC \\b | ShadyCrab | Rasetsu | Raizel | Dragon-Releases ) /i / ( \\[ Spark \\] | -Spark \\b | \\b REVO \\b | \\b SRLS \\b | ANThELIa ) /i / ( \\[ Vanilla \\] | -Vanilla \\b | \\b AP \\b ) /i Add this to your Preferred with a score of [3750] BluRay / Dual-Audio / Special (Releases they have are in between below releases and remuxes above.) / ( E [ .- ] N [ .- ] D ) /i Add this to your Preferred with a score of [3500] BluRay / Dual-Audio / 1st Tier / ( \\b HAiKU \\b | Exiled-Destiny | \\b ( E-D ) \\b | Koten [ ._- ] Gars ) /i / ( \\[ GHOST \\] | -GHOST \\b | \\[ NPC \\] | -NPC \\b | \\b CBM \\b ) /i / ( \\b KH \\b | \\b CBT \\b | \\[ naiyas \\] | -naiyas \\b | ShowY | Kametsu | \\b Pn8 \\b | Hark0N ) /i Add this to your Preferred with a score of [3000] BluRay / Dual-Audio / Scene|P2P Groups / ( \\b DHD \\b | RedBlade | TENEIGHTY | WaLMaRT ) /i / ( \\b BMF \\b | \\[ STRiFE \\] | -STRiFE \\b ) /i / ( MKVULTRA | iAHD | ANiHLS ) /i Add this to your Preferred with a score of [2500] BluRay / Dual-Audio / 2ndd Tier / ( \\[ YURASUKA \\] | -YURASUKA \\b | karios | Arukoru ) /i / ( \\b RH \\b | \\[ Prof \\] | -Prof \\b ) /i Add this to your Preferred with a score of [2000] WebSource / Dual|Multi-Audio / ( DragsterPS ) /i Add this to your Preferred with a score of [1500] WebSource / Dual-Audio / ( xPearse | \\b MCR \\b | \\b KS \\b | KiyoshiStar ) /i Add this to your Preferred with a score of [1000] DVD / Dual-Audio / ( \\b ( A-L ) \\b ) /i Add this to your Preferred with a score of [300] Subs with multi such as German, French , Spanish, Italian, Russian, Arabic, Portuguese and English / ( Erai-raws | KAN3D2M ) /i Add this to your Preferred with a score of [250] Subs / ( HorribleSubs | SubsPlease | SallySubs ) /i Add this to your Preferred with a score of [200] Subs 2nd Tier / ( \\[ Mysteria \\] | -Mysteria \\b | Asenshi ) /i / ( \\[ meta \\] | -meta \\b | BlueLobster ) /i Add this to your Preferred with a score of [150] Subs 3rd Tier / ( \\b GJM \\b | kBaraka ) /i Add this to your Preferred with a score of [100] FanSubs 1st Tier / ( \\b CH \\b | \\b FFF \\b | Licca | Soldado | SNSbu ) /i / ( Coalgirls | BlurayDesuYo | DameDesuYo | \\b PAS \\b ) /i Add this to your Preferred with a score of [50] FanSubs 2nd Tier / ( \\[ Orphan \\] | -Orphan \\b | \\[ Yabai \\] | -Yabai \\b | \\b Nii-sama \\b ) /i / ( \\[ Doki \\] | -Doki \\b | \\[ Chihiro \\] | -Chihiro \\b | Final8 ) /i / ( \\[ tenshi \\] | -tenshi \\b | SHiN-gx ) /i Add this to your Preferred with a score of [25] FanSubs 3rd Tier / ( AkihitoSubs | \\b ASW \\b | Commie ) /i Note These are extra parameters that can help and are not needed but are nice to have. They are set low mainly to supercede themselves and not interfere with other releases. Add this to your Preferred with a score of [1] Adds Hi10|Hi10p into a match. Prefers this over some erroneous matches. / ( 10 .?bit | hi10p ) /i Add this to your Preferred with a score of [1] Adds version due to anime groups sometimes fixing issues with their releases. / \\d ( v2 ) \\b /i Add this to your Preferred with a score of [2] / \\d ( v3 ) \\b /i Add this to your Preferred with a score of [3] / \\d ( v4 ) \\b /i Note This section can be controversial but most of these releases are micro/mini encodes or crappy quality. I personally add them into the do not want section but I will leave them here with negative values so you can still grab them if all else fails. Add this to your Preferred with a score of [-10000] Sub-Par Releases 1st Tier (Re-encoded to crap or really small filesizes) (Little less worse than the rest) / ( \\[ Judas \\] | -Judas | \\[ Cleo \\] | -Cleo ) /i / ( AnimeRG | bonkai77 | URANiME ) /i Add this to your Preferred with a score of [-15000] Sub-Par Releases 2nd Tier (Re-encoded to crap or really small filesizes) (Seperated onto separate lines for readability) / ( \\[ Pixel \\] | -Pixel \\b\\[ EDGE \\] | -EDGE \\b | \\[ Ranger \\] | -Ranger \\b ) /i / ( SpaceFish | DeadFish | \\b DB \\b | Man \\. K | \\b HR \\b ) /i / ( BakedFish | N [ eo ][ wo ] b [ ._- ] ?Subs | \\b Anime [ . ] Time \\b ) /i / ( AnimeKaizoku | \\[ Kaizoku \\] | -Kaizoku \\b | \\b CBB \\b | phazer11 ) /i / ( iPUNISHER | MiniTheatre | MiniFreeza | Mr \\. Deadpool ) /i / ( NemDiggers | Project-gxs | youshikibi ) /i / ( \\b MD \\b | Pog42 | mdcx ) /i / ( A-Destiny | TOPKEK | \\b UwU \\b | DARKFLiX ) /i / ( \\[ Maximus \\] | -Maximus \\b | \\[ 224 \\] | -224 \\b ) /i / ( \\[ Harunatsu \\] | -Harunatsu \\b ) /i / ( \\[ Davinci \\] | -Davinci \\b ) /i If you would like the above to be in DO NOT WANT in an easy format here it is. / ( \\[ Pixel \\] | -Pixel \\b\\[ EDGE \\] | -EDGE \\b | \\[ Ranger \\] | -Ranger \\b ) /i, / ( SpaceFish | DeadFish | \\b DB \\b | Man \\. K | \\b HR \\b ) /i, / ( BakedFish | N [ eo ][ wo ] b [ ._- ] ?Subs | \\b Anime Time \\b ) /i, / ( AnimeKaizoku | Kaizoku | \\b CBB \\b | phazer11 ) /i, / ( iPUNISHER | MiniTheatre | MiniFreeza | Mr \\. Deadpool ) /i, / ( NemDiggers | Project-gxs | youshikibi ) /i, / ( \\b MD \\b | Pog42 | mdcx ) /i, / ( A-Destiny | TOPKEK | \\b UwU \\b | DARKFLiX ) /i, / ( \\[ Maximus \\] | -Maximus \\b | \\[ 224 \\] | -224 \\b ) /i, / ( \\[ Harunatsu \\] | -Harunatsu \\b ) /i, / ( \\[ Davinci \\] | -Davinci \\b ) /i Note When done it should look something like this:","title":"Preferred"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#completed","text":"When completed your Release Profiles should look like this:","title":"Completed"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#acknowledgements","text":"Most of my information and knowledge came from: Kaiser (Guidance on anime groups) rg9400 (Guidance on regex fixes, anime groups and general knowledge share.) Drazzilb (Guidance on regex fixes, anime groups and general knowledge share.) TRaSH (For allowing me to utilize his website for my guide and general knowledge share.) Thanks a bunch!! Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Acknowledgements"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/","text":"Release Profile RegEx (WEB-DL) \u00b6 Sonarr V3 has a great feature called Release Profile. With this option you can fine tune your preference. The Release profile that we're going to use for this example is mainly to prefer P2P releases over Scene releases, (Scene releases are still being downloaded but upgraded). If you don't care about quality then stop reading and see if the other tutorials are helpful for you. FAQ - [CLICK TO EXPAND] FAQ \u00b6 Q: Why do you only have a release profile for WEB-DL? A: I only do WEB-DL my self for TV shows because in my opinion WEB-DL is the sweet spot between Quality and Size and you often don't see big difference anyway for TV shows. (Except for shows like GOT, Vikings, etc) Q: Why do you prefer P2P groups over scene releases? A: Scene release always release in a rush to bring it out as fast as possible. So I noticed often that I got Repacks/Proper releases from them or from different groups and quality. P2P releases are a bit smarter and work sort of together by not doing the same release. Also I noticed that with some Scene releases the 5.1 audio was stripped out or converted to AAC audio. And in my opinion the P2P are of better quality. There's one scene group that does bring out quality releases -deflate/-inflate . Q: Why do I see that many Amazon WEB-DL's repacks/proper lately? A: A large portion of Amazon WEB-DLs in the last week have only had 192Kbps DD+5.1, because that's all Amazon made available initially. The proper 640Kbps DD+5.1 audio might appear a few hours later or a few months, but when they get updated the episodes will be REPACKED. Q: Why did you remove all the scene groups? A: I decided to redo the Release Profile to make it easier for me and the end user to update/manage the Release Profile, I decided not to add the scene groups anymore (and also removing the current ones). Why ? Lately I noticed a lot of popup scene releases meaning we need to update often. With this it also means all scene and (yet) unknown groups will be getting a score of 0 and not -50 . I will still keep a eye on them and add the Low Quality Groups to the -100 score and when I find a new P2P group I will add them, resulting in less updates and a more accurate upgrade. Propers and Repacks \u00b6 First we're need to make sure a P2P release isn't being replaced by a Scene Repack/Proper release ! Settings => Media Management Where we going to set it to Do not Prefer Then we navigate in Sonarr to the Settings => Profiles Then you will get a popup screen that will look like this: Must Contain => add words that the release name MUST HAVE! Must Not Contain => add words that the release name MUST NOT HAVE OR IT WILL BE REJECTED! Preferred => add words you prefer with a certain score what you prefer more or upgrade. Include Preferred when Renaming => When you add {Preferred Words} to your renaming scheme it will add this info. Indexers => Specify what indexer the profile applies to. Tags => create a tag so this is only used by shows that you give this tag or else it's global. Note The Number between the [ brackets ] in the following release profiles are the scores the release name will get during a automatic and manual search and with the use of the scores some releases will be preferred over others and even upgraded. First Release Profile \u00b6 Important We're going to make use of 2 separate release profiles. Release Sources (Streaming Service) \u00b6 Note Also check mark Include Preferred when Renaming and add {Preferred Words} to your renaming scheme when you get download loop issues!!! What it does: When enabled the block with the Release Source (Streaming Service) in it are then added to the file name which fixes any loops due to Sonarr seeing a new NF rip when an AMZN rip is found. Probably doesn\u2019t happen if cutoff is met, but for anything that is unmet or any forced searches it results in a loop because NF is not in Sonarr\u2019s copy so it upgrades, and loops. Enabling the include in preferred words for AMZN and adding that to the file name fixes that. Example of a naming scheme for series: Can be found HERE Add this to your Preferred (3) with a score of [100] / \\b ( amzn | amazon ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( atvp | aptv ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [95] / \\b ( sho ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [90] / \\b ( dsnp | dsny | disney ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( nf | netflix ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( qibi ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( hmax | hbom ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [85] / \\b ( hulu ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( pcok ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [75] / \\b ( dcu ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( hbo ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( red ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( it ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( pmtp ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Caution Don't forget to click on SAVE after you've added everything you want to the release profile example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Second Release Profile \u00b6 Warning DO NOT Check mark Include Preferred when Renaming Golden rule \u00b6 Add this to your Must not contain (2) / ( ? =( 1080 | 720 )) .* (( x | h )[ ._- ] ?265 | hevc ) /i example - [CLICK TO EXPAND] Why the Must Not Contain entry - [CLICK TO EXPAND] So why did I put /(?=(1080|720)).*((x|h)[ ._-]?265|hevc)/i as Must Not Contain and what does it do ? It blocks/ignores 720/1080p releases that are encoded in x265, why ? Quote x265 is good for for 4k stuff or 1080p if they used the the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities. So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it. That's why I created my own golden rule. 720/1080p => x264 2160p/4k => x265 P2P Groups + Repack/Proper \u00b6 Add this to your Preferred (3) with a score of [180] 1 / ( -deflate | -inflate ) \\b /i Add this to your Preferred (3) with a score of [150] / ( -AJP69 | -BTN | -CasStudio | -CtrlHD | -KiNGS | -monkee | -NTb | -NTG | -QOQ | -RTN | -TOMMY | -ViSUM | -T6D | -FLUX | NOSiViD ) \\b /i Add this to your Preferred (3) with a score of [125] / ( -BTW | -Chotab | -CiT | -DEEP | -iJP | -iT00NZ | -LAZY | -NYH | -SA89 | -SIGMA | -TEPES | -TVSmash | -SDCC | -iKA | -iJP | -Cinefeel | -SPiRiT | -FC | -JETIX | -Coo7 | -WELP | -KiMCHI | -BLUTONiUM | -orbitron | -ETHiCS | -RTFM | -PSiG | -MZABI | -ROCCaT | 3cTWeB | playWEB | -KHN | NPMS | -END ) \\b /i Add this to your Preferred (3) with a score of [100] / ( -ViSiON ) \\b /i Add this to your Preferred (3) with a score of [12] / ( repack3 ) /i Add this to your Preferred (3) with a score of [11] / ( repack2 ) /i Add this to your Preferred (3) with a score of [10] / \\b ( repack | proper ) \\b /i example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Low Quality Groups \u00b6 Add this to your Preferred (3) with a score of [-100] / ( TBS | -BRiNK | -CHX | -XLF | -worldmkv | -GHOSTS | -VIDEOHOLE | nhanc3 ) \\b /i example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Optional preferred preferences \u00b6 Note These options are optional and only needed if you got a certain use case for it. If you see certain optional options with a positive score and you actually don't want them just add them with a negative score !!! Optional HDR - if you prefer HDR \u00b6 Add this to your Preferred (3) with a score of [10] / \\b HDR ( \\b | \\d ) /i Optional Dolby Vision - if you prefer Dolby Vision \u00b6 Add this to your Preferred (3) with a score of [100] / \\b ( dv | dovi | dolby [ . ] ?vision ) \\b /i Optional (use these only if you dislike renamed and retagged releases) \u00b6 Add this to your Preferred (3) with a score of [-25] / ( \\[ rartv \\] | \\[ rarbg \\] | \\[ eztv \\] | \\[ TGx \\] ) /i / ( -4P | -4Planet | -AsRequested | -BUYMORE | -Chamele0n | -GEROV | -iNC0GNiTO | -NZBGeek | -Obfuscated | -postbot | -Rakuv | -Scrambled | -WhiteRev | -xpost | -WRTEAM | -CAPTCHA ) \\b /i Optional (matches releases that ends with EN) \u00b6 Add this to your Preferred (3) with a score of [-25] / \\s ? \\b en \\b $/i Optional Matches any release that contains '1-' as prefix for Release Groups \u00b6 Add this to your Preferred (3) with a score of [-25] / ( 1 -.+ ) $/i Optional Matches Season Packs (use this if you prefer Season packs) \u00b6 This will upgrade also your already downloaded single episodes /\\bS\\d+\\b(?!E\\d+\\b)/i season packs are preferred: however, given the folder name is ignored the error/warning/issue occurs as the file names would not be a season pack of course. keep in mind this is the only way to prefer season packs if you have preferred words due to the long standing bug => Preferred Words overrule season pack preference Sonarr/Sonarr#3562 Add this to your Preferred (3) with a score of [15] / \\b S \\d + \\b ( ?!E \\d + \\b ) /i .su season pack issue \u00b6 .su season pack issue - [CLICK TO EXPAND] When you see a error in Sonarr that looks somehow like the follow screenshot Then theirs only one way real way that always solves this issue. create a new release profile specific for .su that uses the Season regex as Must not contain (2) Note Theirs a script for NZBGet that sometimes could help but it seems it doesn't always work. It also seems theirs a work around for SABnzbd but i can't confirm being i'm not using Sab. Optional Ignore DoVi for WEBDL \u00b6 WHY ? - [CLICK TO EXPAND] This is a RegEx that ignores DV that don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Add this to your Must not contain (2) /^ ( ?!.* ( HDR | HULU | REMUX ))( ? = .* \\b ( DV | Dovi | Dolby [ - . ] Vision ) \\b ) .*/i Optional Ignore the group -scene \u00b6 Why ? - [CLICK TO EXPAND] Seems plex ignores -scene because it thinks they are extra's. SOURCE Add this to your Must not contain (2) / \\b ( -scene ) \\b /i Optional Ignore scene releases \u00b6 WHY ? - [CLICK TO EXPAND] If you don't want to download so called scene releases. Add this to your Must not contain (2) / ([ _. ] WEB [ _. ] | \\b CAKES \\b | GGEZ | GGWP | GLHF ) /i A little explanation of the scores and why \u00b6 Scores [75]-[100] Release Source. Scores [125]-[150] P2P Groups. Scores [10] Give a repack/proper a higher score but don't trump P2P groups for a Scene fix. Scores [-25] Retagged/Renames/Obfuscated releases. If you're getting often a error message like Has the same filesize as existing file , you might need to consider to remove the [-25] Scores [-100] Groups that mess with the audio or add another preferred language. Optional => We've tested it and it worked for what we've tested it on, if it will work in your situation we don't know. If you notice something wrong just contact me and we will try to fix it or remove it. The reason why I got multiple entry's with the same score is because the line will go out of the box and I don't like how that looks. Final Results \u00b6 When you've done it correctly it will look something like this. example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. And after you clicked on Save it will look something like this: This list is made by collecting information from Sonarr Discord Channel, and personal testing and a few others that helped. So I want to thank everyone who helped to make this list possible, for privacy reasons I decided not to add the names/nick of the persons. If you want to be mentioned please message me on discord, including a link for proof to what part you want to be credited. Info Keep in mind this list will be a constant work in progress because I will be updating it when it's needed. So best to set a notification for updates for this page. Or use one of the 2 automation tools. Notifiarr TRaSH Updater Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. The reason why this one get's such a high score is because it's the only quality scene group that exist (till now) and scene groups don't add the Release Sources (Streaming Service) to their release name so they don't get the extra point of the release source regex. \u21a9","title":"Release Profile RegEx (WEB-DL)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#release-profile-regex-web-dl","text":"Sonarr V3 has a great feature called Release Profile. With this option you can fine tune your preference. The Release profile that we're going to use for this example is mainly to prefer P2P releases over Scene releases, (Scene releases are still being downloaded but upgraded). If you don't care about quality then stop reading and see if the other tutorials are helpful for you. FAQ - [CLICK TO EXPAND]","title":"Release Profile RegEx (WEB-DL)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#faq","text":"Q: Why do you only have a release profile for WEB-DL? A: I only do WEB-DL my self for TV shows because in my opinion WEB-DL is the sweet spot between Quality and Size and you often don't see big difference anyway for TV shows. (Except for shows like GOT, Vikings, etc) Q: Why do you prefer P2P groups over scene releases? A: Scene release always release in a rush to bring it out as fast as possible. So I noticed often that I got Repacks/Proper releases from them or from different groups and quality. P2P releases are a bit smarter and work sort of together by not doing the same release. Also I noticed that with some Scene releases the 5.1 audio was stripped out or converted to AAC audio. And in my opinion the P2P are of better quality. There's one scene group that does bring out quality releases -deflate/-inflate . Q: Why do I see that many Amazon WEB-DL's repacks/proper lately? A: A large portion of Amazon WEB-DLs in the last week have only had 192Kbps DD+5.1, because that's all Amazon made available initially. The proper 640Kbps DD+5.1 audio might appear a few hours later or a few months, but when they get updated the episodes will be REPACKED. Q: Why did you remove all the scene groups? A: I decided to redo the Release Profile to make it easier for me and the end user to update/manage the Release Profile, I decided not to add the scene groups anymore (and also removing the current ones). Why ? Lately I noticed a lot of popup scene releases meaning we need to update often. With this it also means all scene and (yet) unknown groups will be getting a score of 0 and not -50 . I will still keep a eye on them and add the Low Quality Groups to the -100 score and when I find a new P2P group I will add them, resulting in less updates and a more accurate upgrade.","title":"FAQ"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#propers-and-repacks","text":"First we're need to make sure a P2P release isn't being replaced by a Scene Repack/Proper release ! Settings => Media Management Where we going to set it to Do not Prefer Then we navigate in Sonarr to the Settings => Profiles Then you will get a popup screen that will look like this: Must Contain => add words that the release name MUST HAVE! Must Not Contain => add words that the release name MUST NOT HAVE OR IT WILL BE REJECTED! Preferred => add words you prefer with a certain score what you prefer more or upgrade. Include Preferred when Renaming => When you add {Preferred Words} to your renaming scheme it will add this info. Indexers => Specify what indexer the profile applies to. Tags => create a tag so this is only used by shows that you give this tag or else it's global. Note The Number between the [ brackets ] in the following release profiles are the scores the release name will get during a automatic and manual search and with the use of the scores some releases will be preferred over others and even upgraded.","title":"Propers and Repacks"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#first-release-profile","text":"Important We're going to make use of 2 separate release profiles.","title":"First Release Profile"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#release-sources-streaming-service","text":"Note Also check mark Include Preferred when Renaming and add {Preferred Words} to your renaming scheme when you get download loop issues!!! What it does: When enabled the block with the Release Source (Streaming Service) in it are then added to the file name which fixes any loops due to Sonarr seeing a new NF rip when an AMZN rip is found. Probably doesn\u2019t happen if cutoff is met, but for anything that is unmet or any forced searches it results in a loop because NF is not in Sonarr\u2019s copy so it upgrades, and loops. Enabling the include in preferred words for AMZN and adding that to the file name fixes that. Example of a naming scheme for series: Can be found HERE Add this to your Preferred (3) with a score of [100] / \\b ( amzn | amazon ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( atvp | aptv ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [95] / \\b ( sho ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [90] / \\b ( dsnp | dsny | disney ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( nf | netflix ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( qibi ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( hmax | hbom ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [85] / \\b ( hulu ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( pcok ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [75] / \\b ( dcu ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( hbo ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( red ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( it ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( pmtp ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Caution Don't forget to click on SAVE after you've added everything you want to the release profile example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly.","title":"Release Sources (Streaming Service)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#second-release-profile","text":"Warning DO NOT Check mark Include Preferred when Renaming","title":"Second Release Profile"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#golden-rule","text":"Add this to your Must not contain (2) / ( ? =( 1080 | 720 )) .* (( x | h )[ ._- ] ?265 | hevc ) /i example - [CLICK TO EXPAND] Why the Must Not Contain entry - [CLICK TO EXPAND] So why did I put /(?=(1080|720)).*((x|h)[ ._-]?265|hevc)/i as Must Not Contain and what does it do ? It blocks/ignores 720/1080p releases that are encoded in x265, why ? Quote x265 is good for for 4k stuff or 1080p if they used the the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities. So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it. That's why I created my own golden rule. 720/1080p => x264 2160p/4k => x265","title":"Golden rule"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#p2p-groups-repackproper","text":"Add this to your Preferred (3) with a score of [180] 1 / ( -deflate | -inflate ) \\b /i Add this to your Preferred (3) with a score of [150] / ( -AJP69 | -BTN | -CasStudio | -CtrlHD | -KiNGS | -monkee | -NTb | -NTG | -QOQ | -RTN | -TOMMY | -ViSUM | -T6D | -FLUX | NOSiViD ) \\b /i Add this to your Preferred (3) with a score of [125] / ( -BTW | -Chotab | -CiT | -DEEP | -iJP | -iT00NZ | -LAZY | -NYH | -SA89 | -SIGMA | -TEPES | -TVSmash | -SDCC | -iKA | -iJP | -Cinefeel | -SPiRiT | -FC | -JETIX | -Coo7 | -WELP | -KiMCHI | -BLUTONiUM | -orbitron | -ETHiCS | -RTFM | -PSiG | -MZABI | -ROCCaT | 3cTWeB | playWEB | -KHN | NPMS | -END ) \\b /i Add this to your Preferred (3) with a score of [100] / ( -ViSiON ) \\b /i Add this to your Preferred (3) with a score of [12] / ( repack3 ) /i Add this to your Preferred (3) with a score of [11] / ( repack2 ) /i Add this to your Preferred (3) with a score of [10] / \\b ( repack | proper ) \\b /i example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly.","title":"P2P Groups + Repack/Proper"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#low-quality-groups","text":"Add this to your Preferred (3) with a score of [-100] / ( TBS | -BRiNK | -CHX | -XLF | -worldmkv | -GHOSTS | -VIDEOHOLE | nhanc3 ) \\b /i example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly.","title":"Low Quality Groups"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-preferred-preferences","text":"Note These options are optional and only needed if you got a certain use case for it. If you see certain optional options with a positive score and you actually don't want them just add them with a negative score !!!","title":"Optional preferred preferences"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-hdr-if-you-prefer-hdr","text":"Add this to your Preferred (3) with a score of [10] / \\b HDR ( \\b | \\d ) /i","title":"Optional HDR - if you prefer HDR"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-dolby-vision-if-you-prefer-dolby-vision","text":"Add this to your Preferred (3) with a score of [100] / \\b ( dv | dovi | dolby [ . ] ?vision ) \\b /i","title":"Optional Dolby Vision - if you prefer Dolby Vision"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-use-these-only-if-you-dislike-renamed-and-retagged-releases","text":"Add this to your Preferred (3) with a score of [-25] / ( \\[ rartv \\] | \\[ rarbg \\] | \\[ eztv \\] | \\[ TGx \\] ) /i / ( -4P | -4Planet | -AsRequested | -BUYMORE | -Chamele0n | -GEROV | -iNC0GNiTO | -NZBGeek | -Obfuscated | -postbot | -Rakuv | -Scrambled | -WhiteRev | -xpost | -WRTEAM | -CAPTCHA ) \\b /i","title":"Optional (use these only if you dislike renamed and retagged releases)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-matches-releases-that-ends-with-en","text":"Add this to your Preferred (3) with a score of [-25] / \\s ? \\b en \\b $/i","title":"Optional (matches releases that ends with EN)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-matches-any-release-that-contains-1-as-prefix-for-release-groups","text":"Add this to your Preferred (3) with a score of [-25] / ( 1 -.+ ) $/i","title":"Optional Matches any release that contains '1-' as prefix for Release Groups"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-matches-season-packs-use-this-if-you-prefer-season-packs","text":"This will upgrade also your already downloaded single episodes /\\bS\\d+\\b(?!E\\d+\\b)/i season packs are preferred: however, given the folder name is ignored the error/warning/issue occurs as the file names would not be a season pack of course. keep in mind this is the only way to prefer season packs if you have preferred words due to the long standing bug => Preferred Words overrule season pack preference Sonarr/Sonarr#3562 Add this to your Preferred (3) with a score of [15] / \\b S \\d + \\b ( ?!E \\d + \\b ) /i","title":"Optional Matches Season Packs (use this if you prefer Season packs)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#su-season-pack-issue","text":".su season pack issue - [CLICK TO EXPAND] When you see a error in Sonarr that looks somehow like the follow screenshot Then theirs only one way real way that always solves this issue. create a new release profile specific for .su that uses the Season regex as Must not contain (2) Note Theirs a script for NZBGet that sometimes could help but it seems it doesn't always work. It also seems theirs a work around for SABnzbd but i can't confirm being i'm not using Sab.","title":".su season pack issue"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-ignore-dovi-for-webdl","text":"WHY ? - [CLICK TO EXPAND] This is a RegEx that ignores DV that don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Add this to your Must not contain (2) /^ ( ?!.* ( HDR | HULU | REMUX ))( ? = .* \\b ( DV | Dovi | Dolby [ - . ] Vision ) \\b ) .*/i","title":"Optional Ignore DoVi for WEBDL"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-ignore-the-group-scene","text":"Why ? - [CLICK TO EXPAND] Seems plex ignores -scene because it thinks they are extra's. SOURCE Add this to your Must not contain (2) / \\b ( -scene ) \\b /i","title":"Optional Ignore the group -scene"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-ignore-scene-releases","text":"WHY ? - [CLICK TO EXPAND] If you don't want to download so called scene releases. Add this to your Must not contain (2) / ([ _. ] WEB [ _. ] | \\b CAKES \\b | GGEZ | GGWP | GLHF ) /i","title":"Optional Ignore scene releases"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#a-little-explanation-of-the-scores-and-why","text":"Scores [75]-[100] Release Source. Scores [125]-[150] P2P Groups. Scores [10] Give a repack/proper a higher score but don't trump P2P groups for a Scene fix. Scores [-25] Retagged/Renames/Obfuscated releases. If you're getting often a error message like Has the same filesize as existing file , you might need to consider to remove the [-25] Scores [-100] Groups that mess with the audio or add another preferred language. Optional => We've tested it and it worked for what we've tested it on, if it will work in your situation we don't know. If you notice something wrong just contact me and we will try to fix it or remove it. The reason why I got multiple entry's with the same score is because the line will go out of the box and I don't like how that looks.","title":"A little explanation of the scores and why"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#final-results","text":"When you've done it correctly it will look something like this. example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. And after you clicked on Save it will look something like this: This list is made by collecting information from Sonarr Discord Channel, and personal testing and a few others that helped. So I want to thank everyone who helped to make this list possible, for privacy reasons I decided not to add the names/nick of the persons. If you want to be mentioned please message me on discord, including a link for proof to what part you want to be credited. Info Keep in mind this list will be a constant work in progress because I will be updating it when it's needed. So best to set a notification for updates for this page. Or use one of the 2 automation tools. Notifiarr TRaSH Updater Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. The reason why this one get's such a high score is because it's the only quality scene group that exist (till now) and scene groups don't add the Release Sources (Streaming Service) to their release name so they don't get the extra point of the release source regex. \u21a9","title":"Final Results"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/","text":"Recommended naming scheme \u00b6 Often on the Sonarr Discord people ask what's the recommended/best way to name your files. First off it's personal preference, but it's often recommended to add non-recoverable info. Why? If, for whatever reason, you ever need to do a re-install or re-import in Sonarr or Plex/Emby/JellyFin it's nice to have all that info in the filename so it gets imported correctly and isn't incorrectly matched as HDTV or WEB-DL etc. The Tokens not available in the release won't be used/shown. Standard Episode Format \u00b6 Starting from v3.0.6.1431, Sonarr now supports recognizing Dolby Vision (DV) and High Dynamic Range (HDR) types. If you're using a lower version replace: {[MediaInfo VideoDynamicRangeType]} with {[MediaInfo VideoDynamicRange]} { Series TitleYear } - S { season:00 } E { episode:00 } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels ]}{ MediaInfo AudioLanguages }{[ MediaInfo VideoCodec ]}{ -Release Group } RESULTS: - [CLICK TO EXPAND] Single Episode: The Series Title! (2010) - S01E01 - Episode Title 1 [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp Multi Episode: The Series Title! (2010) - S01E01-E02-E03 - Episode Title [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp Daily Episode Format \u00b6 { Series TitleYear } - { Air-Date } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels ]}{ MediaInfo AudioLanguages }{[ MediaInfo VideoCodec ]}{ -Release Group } RESULTS: - [CLICK TO EXPAND] The Series Title! (2010) - 2013-10-30 - Episode Title 1 [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp Anime Episode Format \u00b6 { Series TitleYear } - S { season:00 } E { episode:00 } - { absolute:000 } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRangeType ]}[{ MediaInfo VideoBitDepth } bit ]{[ MediaInfo VideoCodec ]}[{ Mediainfo AudioCodec } { Mediainfo AudioChannels }]{ MediaInfo AudioLanguages }{ -Release Group } RESULTS: - [CLICK TO EXPAND] Single Episode: The Series Title! (2010) - S01E01 - 001 - Episode Title 1 [iNTERNAL HDTV-720p v2][HDR10][10bit][x264][DTS 5.1][JA]-RlsGrp Multi Episode: The Series Title! (2010) - S01E01-E02-E03 - 001-002-003 - Episode Title [iNTERNAL HDTV-720p v2][HDR10][10bit][x264][DTS 5.1][JA]-RlsGrp Series Folder Format \u00b6 { Series TitleYear } RESULT: The Series Title! (2010) Optional Series Folder Format for the Plex TV Series Scanner and Jellyfin/Emby \u00b6 This naming scheme is made to be compatible with the New Plex TV Series Scanner that now support IMDB and TVDB IDs in file names. For Plex: { Series TitleYear } [ imdb- { ImdbId }] RESULT: The Series Title! (2010) [imdb-tt1520211] Note The officially supported format is {imdb-{ImdbId}} but plex should also support (imdb-{ImdbId}) or [imdb-{ImdbId}] , though the above should work for now, It's actually not needed to add a ID to the folder or filename to use the New Plex TV Series Scanner. For Jellyfin/Emby: { Series TitleYear } [ imdbid- { ImdbId }] RESULT: The Series Title! (2010) [imdbid-tt1520211] Tip IMDb IDs are going to be very accurate and rarely change, TVDB/TMDB IDs, on the other hand, do change or are removed more frequently. Season Folder Format \u00b6 For this there's only one real option to use in my opinion. Season { season:00 } RESULT: Season 01 Multi-Episode Style \u00b6 Prefixed Range RESULTS: Original Title vs Original Filename \u00b6 Want to keep the original release name that holds like all the info of the file then I suggest to use {Original Title} over {Original Filename} Why? The filename can be Obscured where the Release naming isn't especially when you use Usenet. {Original Title} => The.Series.Title.S01E01.Episode.Title.1080p.AMZN.WEB-DL.DDP5.1.H.264-RlsGrp {Original Filename} => show episode 1-1080p or lchd-tkk1080p or t1i0p3s7i8yuti Thanks: A big Thanks to fryfrog , rg9400 and bakerboy448 for the suggestions. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Recommended naming scheme"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#recommended-naming-scheme","text":"Often on the Sonarr Discord people ask what's the recommended/best way to name your files. First off it's personal preference, but it's often recommended to add non-recoverable info. Why? If, for whatever reason, you ever need to do a re-install or re-import in Sonarr or Plex/Emby/JellyFin it's nice to have all that info in the filename so it gets imported correctly and isn't incorrectly matched as HDTV or WEB-DL etc. The Tokens not available in the release won't be used/shown.","title":"Recommended naming scheme"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#standard-episode-format","text":"Starting from v3.0.6.1431, Sonarr now supports recognizing Dolby Vision (DV) and High Dynamic Range (HDR) types. If you're using a lower version replace: {[MediaInfo VideoDynamicRangeType]} with {[MediaInfo VideoDynamicRange]} { Series TitleYear } - S { season:00 } E { episode:00 } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels ]}{ MediaInfo AudioLanguages }{[ MediaInfo VideoCodec ]}{ -Release Group } RESULTS: - [CLICK TO EXPAND] Single Episode: The Series Title! (2010) - S01E01 - Episode Title 1 [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp Multi Episode: The Series Title! (2010) - S01E01-E02-E03 - Episode Title [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp","title":"Standard Episode Format"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#daily-episode-format","text":"{ Series TitleYear } - { Air-Date } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels ]}{ MediaInfo AudioLanguages }{[ MediaInfo VideoCodec ]}{ -Release Group } RESULTS: - [CLICK TO EXPAND] The Series Title! (2010) - 2013-10-30 - Episode Title 1 [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp","title":"Daily Episode Format"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#anime-episode-format","text":"{ Series TitleYear } - S { season:00 } E { episode:00 } - { absolute:000 } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRangeType ]}[{ MediaInfo VideoBitDepth } bit ]{[ MediaInfo VideoCodec ]}[{ Mediainfo AudioCodec } { Mediainfo AudioChannels }]{ MediaInfo AudioLanguages }{ -Release Group } RESULTS: - [CLICK TO EXPAND] Single Episode: The Series Title! (2010) - S01E01 - 001 - Episode Title 1 [iNTERNAL HDTV-720p v2][HDR10][10bit][x264][DTS 5.1][JA]-RlsGrp Multi Episode: The Series Title! (2010) - S01E01-E02-E03 - 001-002-003 - Episode Title [iNTERNAL HDTV-720p v2][HDR10][10bit][x264][DTS 5.1][JA]-RlsGrp","title":"Anime Episode Format"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#series-folder-format","text":"{ Series TitleYear } RESULT: The Series Title! (2010)","title":"Series Folder Format"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#optional-series-folder-format-for-the-plex-tv-series-scanner-and-jellyfinemby","text":"This naming scheme is made to be compatible with the New Plex TV Series Scanner that now support IMDB and TVDB IDs in file names. For Plex: { Series TitleYear } [ imdb- { ImdbId }] RESULT: The Series Title! (2010) [imdb-tt1520211] Note The officially supported format is {imdb-{ImdbId}} but plex should also support (imdb-{ImdbId}) or [imdb-{ImdbId}] , though the above should work for now, It's actually not needed to add a ID to the folder or filename to use the New Plex TV Series Scanner. For Jellyfin/Emby: { Series TitleYear } [ imdbid- { ImdbId }] RESULT: The Series Title! (2010) [imdbid-tt1520211] Tip IMDb IDs are going to be very accurate and rarely change, TVDB/TMDB IDs, on the other hand, do change or are removed more frequently.","title":"Optional Series Folder Format for the Plex TV Series Scanner and Jellyfin/Emby"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#season-folder-format","text":"For this there's only one real option to use in my opinion. Season { season:00 } RESULT: Season 01","title":"Season Folder Format"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#multi-episode-style","text":"Prefixed Range RESULTS:","title":"Multi-Episode Style"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#original-title-vs-original-filename","text":"Want to keep the original release name that holds like all the info of the file then I suggest to use {Original Title} over {Original Filename} Why? The filename can be Obscured where the Release naming isn't especially when you use Usenet. {Original Title} => The.Series.Title.S01E01.Episode.Title.1080p.AMZN.WEB-DL.DDP5.1.H.264-RlsGrp {Original Filename} => show episode 1-1080p or lchd-tkk1080p or t1i0p3s7i8yuti Thanks: A big Thanks to fryfrog , rg9400 and bakerboy448 for the suggestions. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Original Title vs Original Filename"},{"location":"Sonarr/Sonarr-remote-path-mapping/","text":"Remote Path Mappings \u00b6 Seems that a lot of people don't understand how the remote path mapping works for Sonarr. I will try to explain it with some screenshots and a short description. Remote Path Mapping acts as a dumb find Remote Path and replace with Local Path Do I need Remote Path Mappings \u00b6 If Sonarr and your download client are not on the same server/system. If you use either merged local/remote setups using mergerfs or similar You run dockers and DON'T have Consistent and well planned paths. Note If you run dockers it would be smarter to fix the problem at the source what's causing the actual issue. Sonarr Wiki Servarr - Docker Guide TRaSH Guides How do I recognize that I need remote path mappings \u00b6 If your download client is on another system then Sonarr then you probably need to make use of Remote Path Mappings. You will get a error that looks a little bit like the following screenshot. So looking at this screenshot it seems we need to make use of Remote Path Mappings How \u00b6 First we navigate in Sonarr to the Settings => Download Clients Tab. At the bottom you choose Add new mapping A screen will popup with the following options. Host => This is the hostname or IP you set in your download client settings. Remote Path => The download path that you've set in your download client. Local Path => The path Sonarr needs to access the same path. Examples QBittorrent Host \u00b6 To find what you need to put in your host you navigate in Sonarr to the Settings => Download Clients Tab. There you open up the download client for this example I will be using QBittorrent This is what you put in your Host in Remote Path Mapping. Remote Path \u00b6 To find what you need to put in your remote path you need to open up your download client and look what you've used there as download location. In QBittorrent navigate to Tools => Options (or ALT+O) and navigate to the Download settings. This is what you add in your Remote Path in Remote Path Mapping. Local Path \u00b6 To find what you need to put in in your local path you need to know how Sonarr is able to access the files your download client downloaded. And this can be done in different ways. Mounting/Network share what ever but Sonarr needs to have local access to it so you need to figure this one out your self what's the best way for Sonarr to access the download clients downloaded files. The final result will look something like this. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Remote Path Mappings explained"},{"location":"Sonarr/Sonarr-remote-path-mapping/#remote-path-mappings","text":"Seems that a lot of people don't understand how the remote path mapping works for Sonarr. I will try to explain it with some screenshots and a short description. Remote Path Mapping acts as a dumb find Remote Path and replace with Local Path","title":"Remote Path Mappings"},{"location":"Sonarr/Sonarr-remote-path-mapping/#do-i-need-remote-path-mappings","text":"If Sonarr and your download client are not on the same server/system. If you use either merged local/remote setups using mergerfs or similar You run dockers and DON'T have Consistent and well planned paths. Note If you run dockers it would be smarter to fix the problem at the source what's causing the actual issue. Sonarr Wiki Servarr - Docker Guide TRaSH Guides","title":"Do I need Remote Path Mappings"},{"location":"Sonarr/Sonarr-remote-path-mapping/#how-do-i-recognize-that-i-need-remote-path-mappings","text":"If your download client is on another system then Sonarr then you probably need to make use of Remote Path Mappings. You will get a error that looks a little bit like the following screenshot. So looking at this screenshot it seems we need to make use of Remote Path Mappings","title":"How do I recognize that I need remote path mappings"},{"location":"Sonarr/Sonarr-remote-path-mapping/#how","text":"First we navigate in Sonarr to the Settings => Download Clients Tab. At the bottom you choose Add new mapping A screen will popup with the following options. Host => This is the hostname or IP you set in your download client settings. Remote Path => The download path that you've set in your download client. Local Path => The path Sonarr needs to access the same path. Examples QBittorrent","title":"How"},{"location":"Sonarr/Sonarr-remote-path-mapping/#host","text":"To find what you need to put in your host you navigate in Sonarr to the Settings => Download Clients Tab. There you open up the download client for this example I will be using QBittorrent This is what you put in your Host in Remote Path Mapping.","title":"Host"},{"location":"Sonarr/Sonarr-remote-path-mapping/#remote-path","text":"To find what you need to put in your remote path you need to open up your download client and look what you've used there as download location. In QBittorrent navigate to Tools => Options (or ALT+O) and navigate to the Download settings. This is what you add in your Remote Path in Remote Path Mapping.","title":"Remote Path"},{"location":"Sonarr/Sonarr-remote-path-mapping/#local-path","text":"To find what you need to put in in your local path you need to know how Sonarr is able to access the files your download client downloaded. And this can be done in different ways. Mounting/Network share what ever but Sonarr needs to have local access to it so you need to figure this one out your self what's the best way for Sonarr to access the download clients downloaded files. The final result will look something like this. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Local Path"},{"location":"Sonarr/Tips/Merge-quality/","text":"How to Merge Quality \u00b6 The Current logic on how downloads are compared is Quality Trumps All In some cases it might be preferred to not have Quality Trump All, and let it be handled via Preferred Words / Custom Formats. To accomplish this you will need to merge the quality's with each other. Current Logic \u00b6 Here you will see the current logic so you understand how the possible downloads are compared. As of 2021-11-06 the logic is as follows: Radarr current logic \u00b6 Radarr current logic- [CLICK TO EXPAND] Quality Custom Format Score Protocol Indexer Priority Indexer Flags Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use the Repack/Proper Custom Format Sonarr current logic \u00b6 Sonarr current logic- [CLICK TO EXPAND] Quality Language Preferred Word Score Protocol Episode Count Episode Number Indexer Priority Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use a preferred word regex of /\\b(repack|proper)\\b/i Merge the Qualities \u00b6 Go to your preferred Quality Profile or create a new one. Settings => Profiles In this example we will merge the following qualities together: Bluray-720p Bluray-1080p WEBDL/WEBRip-1080p To merge them you need to click on Edit Groups. When done Sonarr/Radarr upgrades will be handled via Preferred Words / Custom Formats. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to Merge Quality"},{"location":"Sonarr/Tips/Merge-quality/#how-to-merge-quality","text":"The Current logic on how downloads are compared is Quality Trumps All In some cases it might be preferred to not have Quality Trump All, and let it be handled via Preferred Words / Custom Formats. To accomplish this you will need to merge the quality's with each other.","title":"How to Merge Quality"},{"location":"Sonarr/Tips/Merge-quality/#current-logic","text":"Here you will see the current logic so you understand how the possible downloads are compared. As of 2021-11-06 the logic is as follows:","title":"Current Logic"},{"location":"Sonarr/Tips/Merge-quality/#radarr-current-logic","text":"Radarr current logic- [CLICK TO EXPAND] Quality Custom Format Score Protocol Indexer Priority Indexer Flags Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use the Repack/Proper Custom Format","title":"Radarr current logic"},{"location":"Sonarr/Tips/Merge-quality/#sonarr-current-logic","text":"Sonarr current logic- [CLICK TO EXPAND] Quality Language Preferred Word Score Protocol Episode Count Episode Number Indexer Priority Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use a preferred word regex of /\\b(repack|proper)\\b/i","title":"Sonarr current logic"},{"location":"Sonarr/Tips/Merge-quality/#merge-the-qualities","text":"Go to your preferred Quality Profile or create a new one. Settings => Profiles In this example we will merge the following qualities together: Bluray-720p Bluray-1080p WEBDL/WEBRip-1080p To merge them you need to click on Edit Groups. When done Sonarr/Radarr upgrades will be handled via Preferred Words / Custom Formats. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Merge the Qualities"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/","text":"How to Sync 2 Radarr or Sonarr with each other \u00b6 In this Guide I will try to explain how you can sync two (or more) Radarr/Sonarr with each other. I'm going to show 2 different options how you can setup your sync with 2 Radarr/Sonarr. Option 1: This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances as it'll sync everything Option 2: This option is best used if you only want to have a subset of your library Movies/TV Shows as 4K/2160p (UHD) as it filters by quality profile I'm not going to explain how to set up 2 Radarr/Sonarr for your system, being it depends how you have it installed/running. Radarr Multiple Instance Information and Sonarr Multiple Instance Information Preparation \u00b6 For this you need to have prepared the following: 2 Radarr/Sonarr fully setup (Indexers, Custom Formats, Downloaders, etc). 1 download client ( 2 if you prefer Usenet and Torrents ). Your download client has 2 separate categories (movies-hd, movies-uhd, tv-hd, tv-uhd, etc) Attention You can't use the same root (media library) folder for both Radarr's/Sonarr's Make sure you use 2 separate root folders in Radarr/Sonarr (movies-hd, movies-uhd, tv-hd, tv-uhd, etc) Option 1 \u00b6 In this example I'm going to use 2 Radarr (The basics is the same for Sonarr). Radarr 1 = My main 4K/2160p (UHD) Radarr. Radarr 2 = My 1080p Radarr that I've setup for streaming optimized quality profile. 1 This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances Adding the Radarr Sync list \u00b6 In Radarr 2 go to Settings => Lists Click on the + to add a lists and select Radarr Then you get a screen with the following options. The name you want to call your Sync list. Enable to Enable the list. Enable so the movies will be automatically added. Enable so the movies will be added and monitored (if disabled then there will be no search done for the movies). Enable so when added Radarr will perform a search. When Radarr shall consider a movie is available. 2 The Quality Profile you want to use on Radarr 2 . Your Root location for your media library. The Full URL to Radarr 1 (Use local URL if they run on the same system). Your API Key of Radarr 1 . Which Profile of Radarr 1 you want to Sync with Radarr 2 . Test the connection to Radarr 1 . Save your settings. Radarr Download client setup \u00b6 You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client ( 2 if you prefer Usenet and Torrents ). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Radarr 2 Attention This can't and shouldn't be the same category you use for Radarr 1 but a separate Category . How does this Radarr Sync work \u00b6 You now only need to make use of Radarr 1 all movies your add to Radarr 1 will be synced to Radarr 2 at a scheduled time. Option 2 \u00b6 In this example I'm going to use 2 Sonarr (The basics is the same for Radarr). Sonarr 1 = My main 1080p WEB-DL Sonarr. Sonarr 2 = 4K/2160p (UHD) WEB-DL Sonarr. This option is best used if you only want to have a few TV shows (or a Movies if you use this option with Radarr) as 4K/2160p (UHD) Extra preparation \u00b6 In Sonarr 1 go to Settings => Profiles And Clone your used profile and rename your profile from Profilename - Copy to Profilename! Adding the Sonarr Sync list \u00b6 In Sonarr 2 go to Settings => Import Lists Click on the + to add a lists and select Sonarr Then you get a screen with the following options. The name you want to call your Sync list. Enable so the shows will be automatically added. Choose your monitoring options. 3 Your Root location for your media library. The Quality Profile you want to use on Sonarr 2 . Series Type. 4 If you want to use Season Folders. The Full URL to Sonarr 1 (Use local URL if they run on the same system). Your API Key of Sonarr 1 . The Cloned Profile of Sonarr 1 that we're going to use to Sync with Sonarr 2 . Test the connection to Sonarr 1 . Save your settings. Sonarr Download client setup \u00b6 You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client (2 if you prefer Usenet and Torrents). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Sonarr 2 Important This can't and shouldn't be the same category you use for Sonarr 1 but a separate Category . How does this Sonarr Sync work \u00b6 You now only need to make use of Sonarr 1 , When you got a TV Shows (or a Movie if you use this option with Radarr) that you also want as 4K/2160p (UHD) then you make sure you make use of the Cloned Quality Profile. And it will sync at a scheduled time. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. If you're interested in the 1080p streaming optimized quality profile you can contact me on discord This is a special quality profile i created for people who are really interested in it This release profile is fine tuned when you want to run a 2nd Radarr for 1080p, and want minimum to none transcoding and smaller sizes for the second copy's Why choose this quality profile? Streaming optimized (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) Small sizes Good quality Only AC3 Audio (Downmixed Lossless audio track to Dolby Digital 5.1 for optimal compatibility) You want maximum compatibility between all devices and still a HQ releases. You run 2 instances of Radarr and want both version or just for the 1080p ones. You want to have minimum till none transcoding for low powered devices or remote streaming. \u21a9 Announced : Radarr shall consider movies available as soon as they are added to Radarr. This setting is recommended if you have good private trackers that do not have fakes. In Cinemas : Radarr shall consider movies available as soon as movies they hit cinemas. This option is not recommended. Released : Radarr shall consider movies available as soon as the Blu-ray is released. This option is recommended if your indexers contain fakes often. \u21a9 All Episodes : Monitor all episodes except specials Future Episodes : Monitor episodes that have not aired yet Missing Episodes : Monitor episodes that do not have files or have not aired yet Existing Episodes : Monitor episodes that have files or have not aired yet First Season : Monitor all episodes of the first season. All other seasons will be ignored Latest Season : Monitor all episodes of the latest season and future seasons None : No episodes will be monitored \u21a9 Anime : Episodes released using an absolute episode number Daily : Episodes released daily or less frequently that use year-month-day (2017-05-25) Standard : Episodes released with SxxEyy pattern \u21a9","title":"How to Sync 2 Radarr or Sonarr with each other"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#how-to-sync-2-radarr-or-sonarr-with-each-other","text":"In this Guide I will try to explain how you can sync two (or more) Radarr/Sonarr with each other. I'm going to show 2 different options how you can setup your sync with 2 Radarr/Sonarr. Option 1: This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances as it'll sync everything Option 2: This option is best used if you only want to have a subset of your library Movies/TV Shows as 4K/2160p (UHD) as it filters by quality profile I'm not going to explain how to set up 2 Radarr/Sonarr for your system, being it depends how you have it installed/running. Radarr Multiple Instance Information and Sonarr Multiple Instance Information","title":"How to Sync 2 Radarr or Sonarr with each other"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#preparation","text":"For this you need to have prepared the following: 2 Radarr/Sonarr fully setup (Indexers, Custom Formats, Downloaders, etc). 1 download client ( 2 if you prefer Usenet and Torrents ). Your download client has 2 separate categories (movies-hd, movies-uhd, tv-hd, tv-uhd, etc) Attention You can't use the same root (media library) folder for both Radarr's/Sonarr's Make sure you use 2 separate root folders in Radarr/Sonarr (movies-hd, movies-uhd, tv-hd, tv-uhd, etc)","title":"Preparation"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#option-1","text":"In this example I'm going to use 2 Radarr (The basics is the same for Sonarr). Radarr 1 = My main 4K/2160p (UHD) Radarr. Radarr 2 = My 1080p Radarr that I've setup for streaming optimized quality profile. 1 This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances","title":"Option 1"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#adding-the-radarr-sync-list","text":"In Radarr 2 go to Settings => Lists Click on the + to add a lists and select Radarr Then you get a screen with the following options. The name you want to call your Sync list. Enable to Enable the list. Enable so the movies will be automatically added. Enable so the movies will be added and monitored (if disabled then there will be no search done for the movies). Enable so when added Radarr will perform a search. When Radarr shall consider a movie is available. 2 The Quality Profile you want to use on Radarr 2 . Your Root location for your media library. The Full URL to Radarr 1 (Use local URL if they run on the same system). Your API Key of Radarr 1 . Which Profile of Radarr 1 you want to Sync with Radarr 2 . Test the connection to Radarr 1 . Save your settings.","title":"Adding the Radarr Sync list"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#radarr-download-client-setup","text":"You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client ( 2 if you prefer Usenet and Torrents ). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Radarr 2 Attention This can't and shouldn't be the same category you use for Radarr 1 but a separate Category .","title":"Radarr Download client setup"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#how-does-this-radarr-sync-work","text":"You now only need to make use of Radarr 1 all movies your add to Radarr 1 will be synced to Radarr 2 at a scheduled time.","title":"How does this Radarr Sync work"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#option-2","text":"In this example I'm going to use 2 Sonarr (The basics is the same for Radarr). Sonarr 1 = My main 1080p WEB-DL Sonarr. Sonarr 2 = 4K/2160p (UHD) WEB-DL Sonarr. This option is best used if you only want to have a few TV shows (or a Movies if you use this option with Radarr) as 4K/2160p (UHD)","title":"Option 2"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#extra-preparation","text":"In Sonarr 1 go to Settings => Profiles And Clone your used profile and rename your profile from Profilename - Copy to Profilename!","title":"Extra preparation"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#adding-the-sonarr-sync-list","text":"In Sonarr 2 go to Settings => Import Lists Click on the + to add a lists and select Sonarr Then you get a screen with the following options. The name you want to call your Sync list. Enable so the shows will be automatically added. Choose your monitoring options. 3 Your Root location for your media library. The Quality Profile you want to use on Sonarr 2 . Series Type. 4 If you want to use Season Folders. The Full URL to Sonarr 1 (Use local URL if they run on the same system). Your API Key of Sonarr 1 . The Cloned Profile of Sonarr 1 that we're going to use to Sync with Sonarr 2 . Test the connection to Sonarr 1 . Save your settings.","title":"Adding the Sonarr Sync list"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#sonarr-download-client-setup","text":"You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client (2 if you prefer Usenet and Torrents). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Sonarr 2 Important This can't and shouldn't be the same category you use for Sonarr 1 but a separate Category .","title":"Sonarr Download client setup"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#how-does-this-sonarr-sync-work","text":"You now only need to make use of Sonarr 1 , When you got a TV Shows (or a Movie if you use this option with Radarr) that you also want as 4K/2160p (UHD) then you make sure you make use of the Cloned Quality Profile. And it will sync at a scheduled time. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. If you're interested in the 1080p streaming optimized quality profile you can contact me on discord This is a special quality profile i created for people who are really interested in it This release profile is fine tuned when you want to run a 2nd Radarr for 1080p, and want minimum to none transcoding and smaller sizes for the second copy's Why choose this quality profile? Streaming optimized (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) Small sizes Good quality Only AC3 Audio (Downmixed Lossless audio track to Dolby Digital 5.1 for optimal compatibility) You want maximum compatibility between all devices and still a HQ releases. You run 2 instances of Radarr and want both version or just for the 1080p ones. You want to have minimum till none transcoding for low powered devices or remote streaming. \u21a9 Announced : Radarr shall consider movies available as soon as they are added to Radarr. This setting is recommended if you have good private trackers that do not have fakes. In Cinemas : Radarr shall consider movies available as soon as movies they hit cinemas. This option is not recommended. Released : Radarr shall consider movies available as soon as the Blu-ray is released. This option is recommended if your indexers contain fakes often. \u21a9 All Episodes : Monitor all episodes except specials Future Episodes : Monitor episodes that have not aired yet Missing Episodes : Monitor episodes that do not have files or have not aired yet Existing Episodes : Monitor episodes that have files or have not aired yet First Season : Monitor all episodes of the first season. All other seasons will be ignored Latest Season : Monitor all episodes of the latest season and future seasons None : No episodes will be monitored \u21a9 Anime : Episodes released using an absolute episode number Daily : Episodes released daily or less frequently that use year-month-day (2017-05-25) Standard : Episodes released with SxxEyy pattern \u21a9","title":"How does this Sonarr Sync work"}]} \ No newline at end of file +{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"TRaSH-Guides \u00b6 TRaSH Guides, Guides that aren't trash. Here you will find Guides mainly for Sonarr/Radarr/Bazarr and everything related to it. How this all started \u00b6 When I started using Sonarr/Radarr, I noticed that it didn't grab the releases that I actually wanted, as I'm a bit picky about which releases and what quality I prefer. So I decided to fine tune it to try to get the releases & quality I preferred. On Discord, I also noticed that others run in to the same issue so I explained them how I managed to get it solved. Being that I had to explain it often, I decided to write it down and make it public so I could easily link it to someone when they needed it. After a while I also decided to create guides for frequently asked questions, and started to collect all kind of information gathered from various sources. The guides I make I try to make them as easy as possible for everyone to understand, in my opinion pictures explain often more then just some text. Support \u00b6 If you have questions, suggestions, requests or want to contribute, Click the chat badge to join the Discord Channel where you can ask your questions directly or use the following link to open a issue on GitHub. Feel free to create a PR if you want to. DISCLAIMER \u00b6 The information I use for the guides is information I have gathered from different sources like their support forum, Reddit or Discord, provided by user input or from the development team itself. I have tested most things myself and I have tried to see if I could tune them a bit more to my needs and sometimes even for others. You use everything here at your own risk. I won't be responsible if something happens to your setup or collection! Special Thanks \u00b6 iXNyNe aka nemchik for introducing me in the world of dockers with DockSTARTer, and helping me to learn the basics for it. Roxedus for helping me with the transfer/conversion of my Github guides to MkDocs and make everything look great. rg9400 for the providing most of the Radarr v3 Custom Format Collection. Everyone who contributed to this project in anyway possible.","title":"Home"},{"location":"#trash-guides","text":"TRaSH Guides, Guides that aren't trash. Here you will find Guides mainly for Sonarr/Radarr/Bazarr and everything related to it.","title":"TRaSH-Guides"},{"location":"#how-this-all-started","text":"When I started using Sonarr/Radarr, I noticed that it didn't grab the releases that I actually wanted, as I'm a bit picky about which releases and what quality I prefer. So I decided to fine tune it to try to get the releases & quality I preferred. On Discord, I also noticed that others run in to the same issue so I explained them how I managed to get it solved. Being that I had to explain it often, I decided to write it down and make it public so I could easily link it to someone when they needed it. After a while I also decided to create guides for frequently asked questions, and started to collect all kind of information gathered from various sources. The guides I make I try to make them as easy as possible for everyone to understand, in my opinion pictures explain often more then just some text.","title":"How this all started"},{"location":"#support","text":"If you have questions, suggestions, requests or want to contribute, Click the chat badge to join the Discord Channel where you can ask your questions directly or use the following link to open a issue on GitHub. Feel free to create a PR if you want to.","title":"Support"},{"location":"#disclaimer","text":"The information I use for the guides is information I have gathered from different sources like their support forum, Reddit or Discord, provided by user input or from the development team itself. I have tested most things myself and I have tried to see if I could tune them a bit more to my needs and sometimes even for others. You use everything here at your own risk. I won't be responsible if something happens to your setup or collection!","title":"DISCLAIMER"},{"location":"#special-thanks","text":"iXNyNe aka nemchik for introducing me in the world of dockers with DockSTARTer, and helping me to learn the basics for it. Roxedus for helping me with the transfer/conversion of my Github guides to MkDocs and make everything look great. rg9400 for the providing most of the Radarr v3 Custom Format Collection. Everyone who contributed to this project in anyway possible.","title":"Special Thanks"},{"location":"thnx/","text":"Thanks for the Coffee \u00b6","title":"Thanks for the Coffee"},{"location":"thnx/#thanks-for-the-coffee","text":"","title":"Thanks for the Coffee"},{"location":"Bazarr/","text":"Bazarr \u00b6 Here you will find several scripts you can use with Bazarr Stable Bazarr Branch: master \u00b6 (stable) Builds Pushed after a testing period in development Github Branch: master Docker: hotio/bazarr:latest hotio/bazarr:latest Dev = Bazarr Branch: development \u00b6 (development) Builds pushed when complete Github Branch: development Docker: hotio/bazarr:nightly hotio/bazarr:nightly","title":"Home"},{"location":"Bazarr/#bazarr","text":"Here you will find several scripts you can use with Bazarr","title":"Bazarr"},{"location":"Bazarr/#stable-bazarr-branch-master","text":"(stable) Builds Pushed after a testing period in development Github Branch: master Docker: hotio/bazarr:latest hotio/bazarr:latest","title":"Stable Bazarr Branch: master"},{"location":"Bazarr/#dev-bazarr-branch-development","text":"(development) Builds pushed when complete Github Branch: development Docker: hotio/bazarr:nightly hotio/bazarr:nightly","title":"Dev = Bazarr Branch: development"},{"location":"Bazarr/After-install-configuration/","text":"After Install Configuration \u00b6 After you've installed everything it's best to check all of your settings, Attention Bazarr only searches for subs for Episodes and Movies that are added after the install. So you will need to set the preferred languages for your existing Shows and Movies. In this example I will show you how to do that with the series. click on Mass Edit Select all. Select your Language Profile you created earlier. Click on Save . Then go back to your Movies home screen and do the same for your Movies. If you've done it correctly you will get something that looks like the following screenshot with your preferred languages.","title":"After Install Configuration"},{"location":"Bazarr/After-install-configuration/#after-install-configuration","text":"After you've installed everything it's best to check all of your settings, Attention Bazarr only searches for subs for Episodes and Movies that are added after the install. So you will need to set the preferred languages for your existing Shows and Movies. In this example I will show you how to do that with the series. click on Mass Edit Select all. Select your Language Profile you created earlier. Click on Save . Then go back to your Movies home screen and do the same for your Movies. If you've done it correctly you will get something that looks like the following screenshot with your preferred languages.","title":"After Install Configuration"},{"location":"Bazarr/Setup-Guide/","text":"Setup Guide \u00b6 Note In this guide we will try to explain the basic setup you need to do to get started with Bazarr. For a more detailed few of all the setting check the following LINK . Before Bazarr works we need to setup and configure a few settings. After installation and starting up, you open a browser and go to http://ip_where_installed:6767 . Sonarr \u00b6 First we're going to setup Sonarr. Settings => Sonarr Use Sonarr \u00b6 Click on Enabled Enable Sonarr. Enter the hostname or the IP address of the computer running your Sonarr instance. Info Be aware that when using Bazarr in docker, you cannot reach another container on the same Docker host using the loopback address (ex.: 127.0.0.1 or localhost). Loopback address refer to the Bazarr Docker container, not the Docker host. Enter the TCP port of your Sonarr instance. Default is 8989. Sonarr uses the Base URL ONLY if used with a \"Reverse Proxy\" (ex: Nginx Proxy Manager or SWAG) and MUST have a leading slash if it is needed (ex: /sonarr). Info If you don't use a reverse proxy or don't know what it is leave this empty !!! Enter your Sonarr API key here. Enable this if your Sonarr instance is exposed through SSL. Info Not needed if you reach it with a local IP address. Click the Test button after filling in all the fields. Make sure the test is successful before you proceed. Options \u00b6 Select the minimum score (in percentage) required for a subtitles file to be downloaded. Info Are your subs often out of sync or just bad? Raise the score! Episodes from series with those tags (case sensitive) in Sonarr will be excluded from automatic download of Subtitles. In Sonarr you add a custom tag to a show, in this case the shows with these tags will be ignored by Bazarr. Episodes from series with these types in Sonarr will be excluded from automatic download of Subtitles. Options: Standard , Anime , Daily Automatic download of Subtitles will only happen for monitored shows/episodes in Sonarr. Path Mappings \u00b6 Note You should only use this section if Sonarr and Bazarr use a different path to access the same files. (for example if you run Sonarr on a different device then Bazarr or have a Synology and mix packages with Docker.) Click on Add and you will get a extra option Here you enter the path that Sonarr uses to access your shows. Here you enter the path that Bazarr uses to access your shows. Attention IF YOU GOT THE SAME VALUES ON BOTH SIDES THEN YOU DON'T NEED IT !!! IT SHOULD ALSO BE REMOVED OR ELSE YOU WILL GET A ERROR. Info If everything runs on Docker you normally don't need to use this except if you got messed up paths and then it would be smarter to fix those first to have consistent and well planned paths. Please take a look at TRaSH's Hardlink Tutorial https://trash-guides.info/hardlinks Don't forget to Save your settings !!! Radarr \u00b6 Next we're going to setup Radarr. Settings => Radarr Use Radarr \u00b6 Click on Enabled Enable Radarr. Enter the hostname or the IP address of the computer running your Sonarr instance. Info Be aware that when using Bazarr in docker, you cannot reach another container on the same Docker host using the loopback address (ex.: 127.0.0.1 or localhost). Loopback address refer to the Bazarr Docker container, not the Docker host. Enter the TCP port of your Radarr instance. Default is 7878. Radarr uses the Base URL ONLY if used with a \"Reverse Proxy\" (ex: Nginx Proxy Manager or SWAG) and MUST have a leading slash if it is needed (ex: /radarr). !!! info **If you don't use a reverse proxy or don't know what it is leave this empty !!!** Enter your Radarr API key here. Enable this if your Radarr instance is exposed through SSL. Info Not needed if you reach it with a local IP address. Click the Test button after filling in all the fields. Make sure the test is successful before you proceed. Options (Radarr) \u00b6 Select the minimum score (in percentage) required for a subtitles file to be downloaded. Info Are your subs often out of sync or just bad? Raise the score! Movies with those tags (case sensitive) in Radarr will be excluded from automatic download of Subtitles, In Radarr you add a custom tag to a movie. Automatic download of Subtitles will only happen for monitored movies in Radarr. Path Mappings (Radarr) \u00b6 Note You should only use this section if Radarr and Bazarr use a different path to access the same files. (for example if you run Radarr on a different device then Bazarr or have a Synology and mix packages with Docker.) Click on Add and you will get a extra option Here you enter the path that Radarr uses to access your movies. Here you enter the path that Bazarr uses to access your movies. Attention IF YOU GOT THE SAME VALUES ON BOTH SIDES THEN YOU DON'T NEED IT !!! IT SHOULD ALSO BE REMOVED OR ELSE YOU WILL GET A ERROR. Info If everything runs on Docker you normally don't need to use this except if you got messed up paths and then it would be smarter to fix those first to have consistent and well planned paths. Please take a look at TRaSH's Hardlink Tutorial https://trash-guides.info/hardlinks Don't forget to Save your settings !!! Languages \u00b6 Here we're going to configure which subtitle languages you prefer/want. Settings => Languages Subtitles Language \u00b6 Warning **We don't recommend enabling Single Language option unless absolutely required (ie: media player not supporting language code in subtitles filename). Results may vary. Be aware the language code (ex.: en) is not going to be included in the subtitles file name when enabling this.** Here you select which languages you want for your subtitles, you can just start typing your language name and it will show you what's available. These languages are the subtitle languages you later use for the Languages Profiles In this example I selected Dutch and English . Languages Profiles \u00b6 Select Add New Profile How you want to name your language profile. Click on Add to add the languages you enabled earlier in Subtitle Language . Select the languages you want to enable for your profile (Including the optional settings). Forced => FAQ - What are Forced Subtitles HI => Hearing Impaired Exclude Audio => Exclude if matching audio Optional select the cutoff where you want that Bazarr stops downloading other languages. Save your settings. Cutoff So you can have a profile that states: English, Dutch, German, French With cutoff Dutch, if it finds Dutch, it will download it and call it a day. If no Dutch is found it will continue searching the other languages till Dutch is found. Default Settings \u00b6 Automatic applied Languages Profiles to Series and Movies added to Bazarr after enabling this option. Don't forget to Save your settings !!! Providers \u00b6 Here we're going to select which Subtitle Providers you want to use. Settings => Providers Click on the Plus sign box. Select the subtitles providers you would like to enable. it is best to select multiple providers and create/use a account with them especially when you got a lot of wanted subtitles. Some subtitle providers requires a extra paid Anti-Captcha Service. Your enabled providers. Tip If possible don't forget to support them for their free service Don't forget to Save your settings !!! Subtitles \u00b6 Here we will configure some extra settings for your subtitles Settings => Subtitles Subtitle Options \u00b6 Where you want your subtitles it's recommended to put them AlongSide Media File . If you want to upgrade previously downloaded subtitles. How many days to go back in history to upgrade them. If you want to upgrade manually downloaded subtitles. Anti-Captcha Options \u00b6 Here you can select which Anti-Captcha provider you want to use. Why (or) do I need the Anti-Captcha ? Tip We Recommend the following provider => https://anti-captcha.com/ Performance / Optimization \u00b6 When searching for subtitles, Bazarr will search less frequently to limit call to providers. Search multiple providers at once (Don't choose this on low powered devices). If you want to use the embedded subtitles in the media files More Info Automatic Subtitles Synchronization \u00b6 Enable this option for automatic subtitles synchronization. Don't forget to Save your settings !!! Now wait till Bazarr gets all the info needed from Sonarr/Radarr. IMPORTANT \u00b6 Important Don't forget After Install Configuration !!! If you still have questions please check the Troubleshooting section in the wiki. For more info about the other settings check the Settings wiki.","title":"Basic-Guide"},{"location":"Bazarr/Setup-Guide/#setup-guide","text":"Note In this guide we will try to explain the basic setup you need to do to get started with Bazarr. For a more detailed few of all the setting check the following LINK . Before Bazarr works we need to setup and configure a few settings. After installation and starting up, you open a browser and go to http://ip_where_installed:6767 .","title":"Setup Guide"},{"location":"Bazarr/Setup-Guide/#sonarr","text":"First we're going to setup Sonarr. Settings => Sonarr","title":"Sonarr"},{"location":"Bazarr/Setup-Guide/#use-sonarr","text":"Click on Enabled Enable Sonarr. Enter the hostname or the IP address of the computer running your Sonarr instance. Info Be aware that when using Bazarr in docker, you cannot reach another container on the same Docker host using the loopback address (ex.: 127.0.0.1 or localhost). Loopback address refer to the Bazarr Docker container, not the Docker host. Enter the TCP port of your Sonarr instance. Default is 8989. Sonarr uses the Base URL ONLY if used with a \"Reverse Proxy\" (ex: Nginx Proxy Manager or SWAG) and MUST have a leading slash if it is needed (ex: /sonarr). Info If you don't use a reverse proxy or don't know what it is leave this empty !!! Enter your Sonarr API key here. Enable this if your Sonarr instance is exposed through SSL. Info Not needed if you reach it with a local IP address. Click the Test button after filling in all the fields. Make sure the test is successful before you proceed.","title":"Use Sonarr"},{"location":"Bazarr/Setup-Guide/#options","text":"Select the minimum score (in percentage) required for a subtitles file to be downloaded. Info Are your subs often out of sync or just bad? Raise the score! Episodes from series with those tags (case sensitive) in Sonarr will be excluded from automatic download of Subtitles. In Sonarr you add a custom tag to a show, in this case the shows with these tags will be ignored by Bazarr. Episodes from series with these types in Sonarr will be excluded from automatic download of Subtitles. Options: Standard , Anime , Daily Automatic download of Subtitles will only happen for monitored shows/episodes in Sonarr.","title":"Options"},{"location":"Bazarr/Setup-Guide/#path-mappings","text":"Note You should only use this section if Sonarr and Bazarr use a different path to access the same files. (for example if you run Sonarr on a different device then Bazarr or have a Synology and mix packages with Docker.) Click on Add and you will get a extra option Here you enter the path that Sonarr uses to access your shows. Here you enter the path that Bazarr uses to access your shows. Attention IF YOU GOT THE SAME VALUES ON BOTH SIDES THEN YOU DON'T NEED IT !!! IT SHOULD ALSO BE REMOVED OR ELSE YOU WILL GET A ERROR. Info If everything runs on Docker you normally don't need to use this except if you got messed up paths and then it would be smarter to fix those first to have consistent and well planned paths. Please take a look at TRaSH's Hardlink Tutorial https://trash-guides.info/hardlinks Don't forget to Save your settings !!!","title":"Path Mappings"},{"location":"Bazarr/Setup-Guide/#radarr","text":"Next we're going to setup Radarr. Settings => Radarr","title":"Radarr"},{"location":"Bazarr/Setup-Guide/#use-radarr","text":"Click on Enabled Enable Radarr. Enter the hostname or the IP address of the computer running your Sonarr instance. Info Be aware that when using Bazarr in docker, you cannot reach another container on the same Docker host using the loopback address (ex.: 127.0.0.1 or localhost). Loopback address refer to the Bazarr Docker container, not the Docker host. Enter the TCP port of your Radarr instance. Default is 7878. Radarr uses the Base URL ONLY if used with a \"Reverse Proxy\" (ex: Nginx Proxy Manager or SWAG) and MUST have a leading slash if it is needed (ex: /radarr). !!! info **If you don't use a reverse proxy or don't know what it is leave this empty !!!** Enter your Radarr API key here. Enable this if your Radarr instance is exposed through SSL. Info Not needed if you reach it with a local IP address. Click the Test button after filling in all the fields. Make sure the test is successful before you proceed.","title":"Use Radarr"},{"location":"Bazarr/Setup-Guide/#options-radarr","text":"Select the minimum score (in percentage) required for a subtitles file to be downloaded. Info Are your subs often out of sync or just bad? Raise the score! Movies with those tags (case sensitive) in Radarr will be excluded from automatic download of Subtitles, In Radarr you add a custom tag to a movie. Automatic download of Subtitles will only happen for monitored movies in Radarr.","title":"Options (Radarr)"},{"location":"Bazarr/Setup-Guide/#path-mappings-radarr","text":"Note You should only use this section if Radarr and Bazarr use a different path to access the same files. (for example if you run Radarr on a different device then Bazarr or have a Synology and mix packages with Docker.) Click on Add and you will get a extra option Here you enter the path that Radarr uses to access your movies. Here you enter the path that Bazarr uses to access your movies. Attention IF YOU GOT THE SAME VALUES ON BOTH SIDES THEN YOU DON'T NEED IT !!! IT SHOULD ALSO BE REMOVED OR ELSE YOU WILL GET A ERROR. Info If everything runs on Docker you normally don't need to use this except if you got messed up paths and then it would be smarter to fix those first to have consistent and well planned paths. Please take a look at TRaSH's Hardlink Tutorial https://trash-guides.info/hardlinks Don't forget to Save your settings !!!","title":"Path Mappings (Radarr)"},{"location":"Bazarr/Setup-Guide/#languages","text":"Here we're going to configure which subtitle languages you prefer/want. Settings => Languages","title":"Languages"},{"location":"Bazarr/Setup-Guide/#subtitles-language","text":"Warning **We don't recommend enabling Single Language option unless absolutely required (ie: media player not supporting language code in subtitles filename). Results may vary. Be aware the language code (ex.: en) is not going to be included in the subtitles file name when enabling this.** Here you select which languages you want for your subtitles, you can just start typing your language name and it will show you what's available. These languages are the subtitle languages you later use for the Languages Profiles In this example I selected Dutch and English .","title":"Subtitles Language"},{"location":"Bazarr/Setup-Guide/#languages-profiles","text":"Select Add New Profile How you want to name your language profile. Click on Add to add the languages you enabled earlier in Subtitle Language . Select the languages you want to enable for your profile (Including the optional settings). Forced => FAQ - What are Forced Subtitles HI => Hearing Impaired Exclude Audio => Exclude if matching audio Optional select the cutoff where you want that Bazarr stops downloading other languages. Save your settings. Cutoff So you can have a profile that states: English, Dutch, German, French With cutoff Dutch, if it finds Dutch, it will download it and call it a day. If no Dutch is found it will continue searching the other languages till Dutch is found.","title":"Languages Profiles"},{"location":"Bazarr/Setup-Guide/#default-settings","text":"Automatic applied Languages Profiles to Series and Movies added to Bazarr after enabling this option. Don't forget to Save your settings !!!","title":"Default Settings"},{"location":"Bazarr/Setup-Guide/#providers","text":"Here we're going to select which Subtitle Providers you want to use. Settings => Providers Click on the Plus sign box. Select the subtitles providers you would like to enable. it is best to select multiple providers and create/use a account with them especially when you got a lot of wanted subtitles. Some subtitle providers requires a extra paid Anti-Captcha Service. Your enabled providers. Tip If possible don't forget to support them for their free service Don't forget to Save your settings !!!","title":"Providers"},{"location":"Bazarr/Setup-Guide/#subtitles","text":"Here we will configure some extra settings for your subtitles Settings => Subtitles","title":"Subtitles"},{"location":"Bazarr/Setup-Guide/#subtitle-options","text":"Where you want your subtitles it's recommended to put them AlongSide Media File . If you want to upgrade previously downloaded subtitles. How many days to go back in history to upgrade them. If you want to upgrade manually downloaded subtitles.","title":"Subtitle Options"},{"location":"Bazarr/Setup-Guide/#anti-captcha-options","text":"Here you can select which Anti-Captcha provider you want to use. Why (or) do I need the Anti-Captcha ? Tip We Recommend the following provider => https://anti-captcha.com/","title":"Anti-Captcha Options"},{"location":"Bazarr/Setup-Guide/#performance-optimization","text":"When searching for subtitles, Bazarr will search less frequently to limit call to providers. Search multiple providers at once (Don't choose this on low powered devices). If you want to use the embedded subtitles in the media files More Info","title":"Performance / Optimization"},{"location":"Bazarr/Setup-Guide/#automatic-subtitles-synchronization","text":"Enable this option for automatic subtitles synchronization. Don't forget to Save your settings !!! Now wait till Bazarr gets all the info needed from Sonarr/Radarr.","title":"Automatic Subtitles Synchronization"},{"location":"Bazarr/Setup-Guide/#important","text":"Important Don't forget After Install Configuration !!! If you still have questions please check the Troubleshooting section in the wiki. For more info about the other settings check the Settings wiki.","title":"IMPORTANT"},{"location":"Bazarr/Tips/Bazarr-suggested-scoring/","text":"Suggested Scoring \u00b6 You just setup Bazarr and wonder which scoring you should use/setup for your subtitles and sync ? I'll going to suggest here a scoring what would work for most common languages, with this scoring 99% of your downloaded subs should be the correct ones for your release. Setting it to low could result in bad subs or completely out of sync and un-syncable. Setting to high could result in less subs. Sonarr Subtitle Minimum Score \u00b6 Settings => Sonarr Set the Minimum Score to 90 This score is the minimal score that the subs should match to for your release, settings this to low could result in bad subs or completely out of sync and un-syncable. Radarr Subtitle Minimum Score \u00b6 Settings => Radarr Set the Minimum Score to 80 This score is the minimal score that the subs should match to for your release, settings this to low could result in bad subs or completely out of sync and un-syncable. Synchronization Score Threshold \u00b6 Settings => Subtitles Enable Automatic Subtitles Synchronization at step 3. Enable Series Score Threshold at step 4 and set the score to 96 . 1 Enable Movies Score Threshold at step 5 and set the score to 86 . 1 This will set the Synchronization Score Threshold, meaning at which score bazarr will sync the subtitles. Info The synchronization is best effort based on the following. it use the embedded subtitles track as reference, if not present. it needs to extract the audio track and analyze it to define start of sentence markers. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. Why not set the Synchronization Score to max? It's kinda useless to start with why would you want to try to sync perfectly matching subs in the first place ? I personally noticed that when setting it to high 98-100 I would actually get subs that are like 1 second to slow/fast. \u21a9 \u21a9","title":"Suggested Scoring"},{"location":"Bazarr/Tips/Bazarr-suggested-scoring/#suggested-scoring","text":"You just setup Bazarr and wonder which scoring you should use/setup for your subtitles and sync ? I'll going to suggest here a scoring what would work for most common languages, with this scoring 99% of your downloaded subs should be the correct ones for your release. Setting it to low could result in bad subs or completely out of sync and un-syncable. Setting to high could result in less subs.","title":"Suggested Scoring"},{"location":"Bazarr/Tips/Bazarr-suggested-scoring/#sonarr-subtitle-minimum-score","text":"Settings => Sonarr Set the Minimum Score to 90 This score is the minimal score that the subs should match to for your release, settings this to low could result in bad subs or completely out of sync and un-syncable.","title":"Sonarr Subtitle Minimum Score"},{"location":"Bazarr/Tips/Bazarr-suggested-scoring/#radarr-subtitle-minimum-score","text":"Settings => Radarr Set the Minimum Score to 80 This score is the minimal score that the subs should match to for your release, settings this to low could result in bad subs or completely out of sync and un-syncable.","title":"Radarr Subtitle Minimum Score"},{"location":"Bazarr/Tips/Bazarr-suggested-scoring/#synchronization-score-threshold","text":"Settings => Subtitles Enable Automatic Subtitles Synchronization at step 3. Enable Series Score Threshold at step 4 and set the score to 96 . 1 Enable Movies Score Threshold at step 5 and set the score to 86 . 1 This will set the Synchronization Score Threshold, meaning at which score bazarr will sync the subtitles. Info The synchronization is best effort based on the following. it use the embedded subtitles track as reference, if not present. it needs to extract the audio track and analyze it to define start of sentence markers. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. Why not set the Synchronization Score to max? It's kinda useless to start with why would you want to try to sync perfectly matching subs in the first place ? I personally noticed that when setting it to high 98-100 I would actually get subs that are like 1 second to slow/fast. \u21a9 \u21a9","title":"Synchronization Score Threshold"},{"location":"Bazarr/scripts/","text":"Bazarr Scripts \u00b6 Here you will find a collection of Scripts you can use with Bazarr. Most of them are provided by other users, if you got a script you want to share don't hesitate to create a PR for it 2 to 3 language code \u00b6 2 to 3 language code Title: 2to3_language_code.sh Author(s): ??? Changes the 2 iso code to 3 iso code. Script #!/bin/bash mv \"{{subtitles}}\" \"{{directory}}/{{episode_name}}.{{subtitles_language_code3}}.srt\" exit","title":"Bazarr Scripts"},{"location":"Bazarr/scripts/#bazarr-scripts","text":"Here you will find a collection of Scripts you can use with Bazarr. Most of them are provided by other users, if you got a script you want to share don't hesitate to create a PR for it","title":"Bazarr Scripts"},{"location":"Bazarr/scripts/#2-to-3-language-code","text":"2 to 3 language code Title: 2to3_language_code.sh Author(s): ??? Changes the 2 iso code to 3 iso code. Script #!/bin/bash mv \"{{subtitles}}\" \"{{directory}}/{{episode_name}}.{{subtitles_language_code3}}.srt\" exit","title":"2 to 3 language code"},{"location":"Downloaders/","text":"Download Clients \u00b6 Here you will find Guides for several Download Clients. Usenet Clients \u00b6 NZBGet SABnzbd Torrent Clients \u00b6 qBittorrent Deluge ruTorrent","title":"Home"},{"location":"Downloaders/#download-clients","text":"Here you will find Guides for several Download Clients.","title":"Download Clients"},{"location":"Downloaders/#usenet-clients","text":"NZBGet SABnzbd","title":"Usenet Clients"},{"location":"Downloaders/#torrent-clients","text":"qBittorrent Deluge ruTorrent","title":"Torrent Clients"},{"location":"Downloaders/Deluge/","text":"Deluge Placeholder \u00b6","title":"Deluge Placeholder"},{"location":"Downloaders/Deluge/#deluge-placeholder","text":"","title":"Deluge Placeholder"},{"location":"Downloaders/Deluge/Deluge-Basic-Setup/","text":"Deluge - Basic Setup \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv . Soon \u00b6","title":"Deluge - Basic Setup"},{"location":"Downloaders/Deluge/Deluge-Basic-Setup/#deluge-basic-setup","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv .","title":"Deluge - Basic Setup"},{"location":"Downloaders/Deluge/Deluge-Basic-Setup/#soon","text":"","title":"Soon"},{"location":"Downloaders/Deluge/Deluge-how-to-add-labels/","text":"Deluge - How to add labels \u00b6 Placeholder","title":"Deluge - How to add labels"},{"location":"Downloaders/Deluge/Deluge-how-to-add-labels/#deluge-how-to-add-labels","text":"Placeholder","title":"Deluge - How to add labels"},{"location":"Downloaders/NZBGet/","text":"NZBGet \u00b6","title":"NZBGet"},{"location":"Downloaders/NZBGet/#nzbget","text":"","title":"NZBGet"},{"location":"Downloaders/NZBGet/Basic-Setup/","text":"NZBGet - Basic Setup \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv . Some Basics \u00b6 Name Description ${MainDir} Root directory for all tasks. ${AppDir} Where NZBGet is installed. ${DestDir} Destination directory for downloaded files. PATHS \u00b6 I will only explain the so called most important paths. Name Description MainDir /data/usenet DestDir ${MainDir} (so it will go in to /data/usenet ) InterDir Files are downloaded into this directory (before unpack+par2) NzbDir Directory for incoming nzb-files. QueueDir This directory is used to save download queue, history, information statistics, etc. ScriptDir Directory with post-processing and other scripts. LogFile Where your log files will be stored (Please create a log directory in your config) NEWS-SERVERS \u00b6 Name Description Active Use this news server. Name The name is used in UI and for logging. It can be any string. Level Put your major download servers at level 0 and your fill servers at levels 1, 2, etc.. Host Host name of news server. Port Port to connect to. Password Password to use for authentication. Encryption Encrypted server connection (TLS/SSL). (preferred to use this) Connections Use the lowest possible amount of connections +1 to gain your max download speed. Retention How long the articles are stored on the news server. CATEGORIES \u00b6 Name Description Name This should match what you put in Sonarr/Radarr (tv/movies/sonarr/radarr/series/films) DestDir ${DestDir} Destination directory (/data/usenet/movies) Unpack Unpack downloaded nzb-files. Extensions List of extension scripts for this category. INCOMING NZBS \u00b6 Info AppendCategoryDir : Create subdirectory with category-name in destination-directory. DOWNLOAD QUEUE \u00b6 Caution WriteBuffer : If you're low on memory don't set this to high. LOGGING \u00b6 CHECK AND REPAIR \u00b6 UNPACK \u00b6 Info DirectUnpack : This might lower your download speed but the overall time could be faster. (disable on low powered devices) EXTENSION SCRIPTS \u00b6 Depending if you're using some NZBGet script here you can change the order or when it should be used Recommended Sonarr/Radarr Settings \u00b6 The following settings are recommended to for Sonarr/Radarr, else it could happen that Sonarr/Radarr will miss downloads that are still in the queue/history. Being that Sonarr/Radarr only looks at the last xx amount in the queue/history. Sonarr \u00b6 Sonarr Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3. Select NZBGet at step 4 and scroll down to the bottom of the new window where it says Completed Download Handling and check both boxes. Radarr \u00b6 Radarr Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3, and both boxes under Failed Download Handling at step 4. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Basic-Setup"},{"location":"Downloaders/NZBGet/Basic-Setup/#nzbget-basic-setup","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv .","title":"NZBGet - Basic Setup"},{"location":"Downloaders/NZBGet/Basic-Setup/#some-basics","text":"Name Description ${MainDir} Root directory for all tasks. ${AppDir} Where NZBGet is installed. ${DestDir} Destination directory for downloaded files.","title":"Some Basics"},{"location":"Downloaders/NZBGet/Basic-Setup/#paths","text":"I will only explain the so called most important paths. Name Description MainDir /data/usenet DestDir ${MainDir} (so it will go in to /data/usenet ) InterDir Files are downloaded into this directory (before unpack+par2) NzbDir Directory for incoming nzb-files. QueueDir This directory is used to save download queue, history, information statistics, etc. ScriptDir Directory with post-processing and other scripts. LogFile Where your log files will be stored (Please create a log directory in your config)","title":"PATHS"},{"location":"Downloaders/NZBGet/Basic-Setup/#news-servers","text":"Name Description Active Use this news server. Name The name is used in UI and for logging. It can be any string. Level Put your major download servers at level 0 and your fill servers at levels 1, 2, etc.. Host Host name of news server. Port Port to connect to. Password Password to use for authentication. Encryption Encrypted server connection (TLS/SSL). (preferred to use this) Connections Use the lowest possible amount of connections +1 to gain your max download speed. Retention How long the articles are stored on the news server.","title":"NEWS-SERVERS"},{"location":"Downloaders/NZBGet/Basic-Setup/#categories","text":"Name Description Name This should match what you put in Sonarr/Radarr (tv/movies/sonarr/radarr/series/films) DestDir ${DestDir} Destination directory (/data/usenet/movies) Unpack Unpack downloaded nzb-files. Extensions List of extension scripts for this category.","title":"CATEGORIES"},{"location":"Downloaders/NZBGet/Basic-Setup/#incoming-nzbs","text":"Info AppendCategoryDir : Create subdirectory with category-name in destination-directory.","title":"INCOMING NZBS"},{"location":"Downloaders/NZBGet/Basic-Setup/#download-queue","text":"Caution WriteBuffer : If you're low on memory don't set this to high.","title":"DOWNLOAD QUEUE"},{"location":"Downloaders/NZBGet/Basic-Setup/#logging","text":"","title":"LOGGING"},{"location":"Downloaders/NZBGet/Basic-Setup/#check-and-repair","text":"","title":"CHECK AND REPAIR"},{"location":"Downloaders/NZBGet/Basic-Setup/#unpack","text":"Info DirectUnpack : This might lower your download speed but the overall time could be faster. (disable on low powered devices)","title":"UNPACK"},{"location":"Downloaders/NZBGet/Basic-Setup/#extension-scripts","text":"Depending if you're using some NZBGet script here you can change the order or when it should be used","title":"EXTENSION SCRIPTS"},{"location":"Downloaders/NZBGet/Basic-Setup/#recommended-sonarrradarr-settings","text":"The following settings are recommended to for Sonarr/Radarr, else it could happen that Sonarr/Radarr will miss downloads that are still in the queue/history. Being that Sonarr/Radarr only looks at the last xx amount in the queue/history.","title":"Recommended Sonarr/Radarr Settings"},{"location":"Downloaders/NZBGet/Basic-Setup/#sonarr","text":"Sonarr Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3. Select NZBGet at step 4 and scroll down to the bottom of the new window where it says Completed Download Handling and check both boxes.","title":"Sonarr"},{"location":"Downloaders/NZBGet/Basic-Setup/#radarr","text":"Radarr Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3, and both boxes under Failed Download Handling at step 4. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Radarr"},{"location":"Downloaders/NZBGet/Paths-and-Categories/","text":"NZBGet - Paths and Categories \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Settings => PATHS Settings => CATEGORIES ATTENTION You set your download location in your download client Your download client ONLY downloads to your download folder/location. And you tell Radarr where you want your clean media library Radarr imports from your download location (copy/move/hardlink) to your media folder/library Plex, Emby, JellyFin or Kodi should ONLY have access to your media folder/library Your Download and Media Library should be NEVER the same locations Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Path and Categories"},{"location":"Downloaders/NZBGet/Paths-and-Categories/#nzbget-paths-and-categories","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Settings => PATHS Settings => CATEGORIES ATTENTION You set your download location in your download client Your download client ONLY downloads to your download folder/location. And you tell Radarr where you want your clean media library Radarr imports from your download location (copy/move/hardlink) to your media folder/library Plex, Emby, JellyFin or Kodi should ONLY have access to your media folder/library Your Download and Media Library should be NEVER the same locations Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"NZBGet - Paths and Categories"},{"location":"Downloaders/NZBGet/scripts/","text":"NzbGet Scripts \u00b6 Clean \u00b6 Clean NZB name Title: Clean.py Author(s): ??? Removes the following suffixes from NZB name: NZBgeek / Obfuscated / BUYMORE / Scrambled /etc... Cleans the NZB name by removing the retagged stuff (-Obfuscated, -postbox, etc). Script #!/usr/bin/env python3 # ############################################################################## ### NZBGET SCAN SCRIPT ### # Clean NZB name. # # Removes the following suffixes from NZB name: # NZBgeek / Obfuscated / BUYMORE / Scrambled. # # NOTE: This script requires Python to be installed on your system. ### NZBGET SCAN SCRIPT ### ############################################################################## from __future__ import print_function import os , re , sys # Exit codes used by NZBGet POSTPROCESS_SUCCESS = 93 POSTPROCESS_ERROR = 94 POSTPROCESS_SKIP = 95 # Check if the script is called from NZBGet 13.0 or later if not 'NZBOP_SCRIPTDIR' in os . environ : print ( '*** NZBGet post-processing script ***' ) print ( 'This script is supposed to be called from NZBGet (13.0 or later).' ) sys . exit ( POSTPROCESS_ERROR ) if not 'NZBNP_NZBNAME' in os . environ : print ( '[WARN] Filename not found in environment' ) sys . exit ( POSTPROCESS_ERROR ) fwp = os . environ [ 'NZBNP_NZBNAME' ] fwp = re . sub ( '(?i)-4P\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-4Planet\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-AsRequested\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-AsRequested-xpost\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-BUYMORE\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Chamele0n\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-GEROV\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-iNC0GNiTO\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-NZBGeek\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Obfuscated\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-postbot\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Rakuv\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Scrambled\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-WhiteRev\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-xpost\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[eztv\\]\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]-xpost\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[ettv\\]\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-WRTEAM\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-CAPTCHA\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( r '(\\-[^-.\\n]*)(\\-. {4} )?\\.nzb$' , r '\\1.nzb' , fwp ) if fwp : print ( '[NZB] NZBNAME=' , fwp , sep = '' ) sys . exit ( POSTPROCESS_SUCCESS ) HashRenamer \u00b6 Renames hashed media files to match the source NZB Title: HashRenamer.py Author(s): l3uddz URL: github.com/cloudbox/cloudbox Part of the Cloudbox project: https://cloudbox.works Built on top of the NZBGet scripts template created by Clinton Hall . Released under GNU General Public License v2.0 Script #!/usr/bin/env python3 # ############################################################################## # Title: HashRenamer.py # # Author(s): l3uddz, desimaniac # # URL: https://github.com/l3uddz/nzbgetScripts # # Description: Renames hashed media files to match the source NZB. # # -- # # Part of the Cloudbox project: https://cloudbox.works # ############################################################################## ############################################################################## # Built on top of the NZBGet scripts template created by Clinton Hall # # (https://github.com/clinton-hall). # # Released under GNU General Public License v2.0 # ############################################################################## ############################################################################## ### NZBGET POST-PROCESSING SCRIPT ### # Rename files with hashes for file name # # NOTE: This script requires Python to be installed on your system. # ############################################################################## ### NZBGET POST-PROCESSING SCRIPT ### ############################################################################## import os import re import shutil import sys # NZBGet Exit Codes NZBGET_POSTPROCESS_PARCHECK = 92 NZBGET_POSTPROCESS_SUCCESS = 93 NZBGET_POSTPROCESS_ERROR = 94 NZBGET_POSTPROCESS_NONE = 95 ############################################################ # EXTENSION STUFF ############################################################ def do_check (): if 'NZBOP_SCRIPTDIR' not in os . environ : print ( \"This script can only be called from NZBGet (11.0 or later).\" ) sys . exit ( 0 ) if os . environ [ 'NZBOP_VERSION' ][ 0 : 5 ] < '11.0' : print ( \"[ERROR] NZBGet Version %s is not supported. Please update NZBGet.\" % ( str ( os . environ [ 'NZBOP_VERSION' ]))) sys . exit ( 0 ) print ( \"Script triggered from NZBGet Version %s .\" % ( str ( os . environ [ 'NZBOP_VERSION' ]))) status = 0 if 'NZBPP_TOTALSTATUS' in os . environ : if not os . environ [ 'NZBPP_TOTALSTATUS' ] == 'SUCCESS' : print ( \"[ERROR] Download failed with status %s .\" % ( os . environ [ 'NZBPP_STATUS' ])) status = 1 else : # Check par status if os . environ [ 'NZBPP_PARSTATUS' ] == '1' or os . environ [ 'NZBPP_PARSTATUS' ] == '4' : print ( \"[ERROR] Par-repair failed, setting status \\\" failed \\\" .\" ) status = 1 # Check unpack status if os . environ [ 'NZBPP_UNPACKSTATUS' ] == '1' : print ( \"[ERROR] Unpack failed, setting status \\\" failed \\\" .\" ) status = 1 if os . environ [ 'NZBPP_UNPACKSTATUS' ] == '0' and os . environ [ 'NZBPP_PARSTATUS' ] == '0' : # Unpack was skipped due to nzb-file properties or due to errors during par-check if os . environ [ 'NZBPP_HEALTH' ] < 1000 : print ( \"[ERROR] Download health is compromised and Par-check/repair disabled or no .par2 files found. \" \\ \"Setting status \\\" failed \\\" .\" ) print ( \"[ERROR] Please check your Par-check/repair settings for future downloads.\" ) status = 1 else : print ( \"[ERROR] Par-check/repair disabled or no .par2 files found, and Unpack not required. Health is \" \\ \"ok so handle as though download successful.\" ) print ( \"[WARNING] Please check your Par-check/repair settings for future downloads.\" ) # Check if destination directory exists (important for reprocessing of history items) if not os . path . isdir ( os . environ [ 'NZBPP_DIRECTORY' ]): print ( \"[ERROR] Nothing to post-process: destination directory\" , os . environ [ 'NZBPP_DIRECTORY' ], \"doesn't exist. Setting status \\\" failed \\\" .\" ) status = 1 # All checks done, now launching the script. if status == 1 : sys . exit ( NZBGET_POSTPROCESS_NONE ) def get_file_name ( path ): try : file_name = os . path . basename ( path ) extensions = re . findall ( r '\\.([^.]+)' , file_name ) ext = '.' . join ( extensions ) name = file_name . replace ( \". %s \" % ext , '' ) return name , ext except Exception : pass return None def is_file_hash ( file_name ): hash_regexp = [ r '^[a-fA-F0-9] {40} $' , r '^[a-fA-F0-9] {32} $' , r '^[a-f0-9] {128} $' , r '^[a-zA-Z0-9] {42} $' ] for hash in hash_regexp : if re . match ( hash , file_name ): return True return False def find_files ( folder , extension = None , depth = None ): file_list = [] start_count = folder . count ( os . sep ) for path , subdirs , files in os . walk ( folder , topdown = True ): for name in files : if depth and path . count ( os . sep ) - start_count >= depth : del subdirs [:] continue file = os . path . join ( path , name ) if not extension : file_list . append ( file ) else : if file . lower () . endswith ( extension . lower ()): file_list . append ( file ) return sorted ( file_list , key = lambda x : x . count ( os . path . sep ), reverse = True ) ############################################################ # MAIN ############################################################ # do checks do_check () # retrieve required variables directory = os . path . normpath ( os . environ [ 'NZBPP_DIRECTORY' ]) nzb_name = os . environ [ 'NZBPP_NZBFILENAME' ] if nzb_name is None : print ( \"[ERROR] Unable to retrieve NZBPP_NZBFILENAME\" ) sys . exit ( NZBGET_POSTPROCESS_ERROR ) nzb_name = nzb_name . replace ( '.nzb' , '' ) print (( \"[INFO] Using \\\" %s \\\" for hashed filenames\" % nzb_name )) print (( \"[INFO] Scanning \\\" %s \\\" for hashed filenames\" % directory )) # scan for files found_files = find_files ( directory ) if not found_files : print (( \"[INFO] No files were found in \\\" %s \\\" \" % directory )) sys . exit ( NZBGET_POSTPROCESS_NONE ) else : print (( \"[INFO] Found %d files to check for hashed filenames\" % len ( found_files ))) # loop files checking for file hash moved_files = 0 for found_file_path in found_files : # set variable dir_name = os . path . dirname ( found_file_path ) file_name , file_ext = get_file_name ( found_file_path ) # is this a file hash if is_file_hash ( file_name ): new_file_path = os . path . join ( dir_name , \" %s . %s \" % ( nzb_name , file_ext )) print (( \"[INFO] Moving \\\" %s \\\" to \\\" %s \\\" \" % ( found_file_path , new_file_path ))) try : shutil . move ( found_file_path , new_file_path ) moved_files += 1 except Exception : print (( \"[ERROR] Failed moving \\\" %s \\\" to \\\" %s \\\" \" % ( found_file_path , new_file_path ))) print (( \"[INFO] Finished processing \\\" %s \\\" , moved %d files\" % ( directory , moved_files ))) sys . exit ( NZBGET_POSTPROCESS_SUCCESS ) WtFnZb-Renamer \u00b6 Renames hashed media files to match the source NZB Title: WtFnZb-Renamer.py Author(s): WtFnZb URL: ?? NZBGET SCAN SCRIPT Extract filenames from subjects containing [PRiVATE]-[WtFnZb] This extensions extracts obfuscated filenames from .nzb files Script #!/usr/bin/env python3 ### NZBGET SCAN SCRIPT # Extract filenames from subjects containing [PRiVATE]-[WtFnZb] # # This extensions extracts obfuscated filenames from .nzb files # created by WtFnZb. # # Supported subject formats: # # - [PRiVATE]-[WtFnZb]-[filename]-[1/5] - \"\" yEnc 0 (1/1)\" # # - [PRiVATE]-[WtFnZb]-[5]-[1/filename] - \"\" yEnc # # # NOTE: Requires Python and lxml (sudo apt install python3-lxml python-lxml) # ### NZBGET SCAN SCRIPT import sys import os import re # Exit codes used by NZBGet POSTPROCESS_SUCCESS = 93 POSTPROCESS_NONE = 95 POSTPROCESS_ERROR = 94 try : from lxml import etree except ImportError : print ( u '[ERROR] Python lxml required. Please install with \"sudo apt install python-lxml\" or \"pip install lxml\".' ) sys . exit ( POSTPROCESS_ERROR ) patterns = ( re . compile ( r '^(?P.*\\[PRiVATE\\]-\\[WtFnZb\\]-)' r '\\[(?P\\d+)\\]-\\[(?P\\d+)\\/(?P.{3,}?)\\]' r '\\s+-\\s+\"\"\\s+yEnc\\s+' , re . MULTILINE | re . UNICODE ), re . compile ( r '^(?P.*\\[PRiVATE\\]-\\[WtFnZb\\]-)' r '\\[(?P.{3,}?)\\]-\\[(?P\\d+)/(?P\\d+)\\]' r '\\s+-\\s+\"\"\\s+yEnc\\s+' , re . MULTILINE | re . UNICODE )) nzb_dir = os . getenv ( 'NZBNP_DIRECTORY' ) nzb_filename = os . getenv ( 'NZBNP_FILENAME' ) nzb_name = os . getenv ( 'NZBNP_NZBNAME' ) nzb_file_naming = os . getenv ( 'NZBOP_FILENAMING' ) if nzb_dir is None or nzb_filename is None or nzb_name is None : print ( 'Please run as NZBGet plugin' ) sys . exit ( POSTPROCESS_ERROR ) if nzb_file_naming is not None and nzb_file_naming . lower () != 'nzb' : print ( u '[ERROR] NZBGet setting FileNaming (under Download Queue) ' u 'must be set to \"Nzb\" for this extension to work correctly, exiting.' ) sys . exit ( POSTPROCESS_ERROR ) if not os . path . exists ( nzb_dir ): print ( '[ERROR] NZB directory doesn \\' t exist, exiting' ) sys . exit ( POSTPROCESS_ERROR ) if not nzb_filename . lower () . endswith ( '.nzb' ): print ( u '[ERROR] {} is not a .nzb file.' . format ( nzb_filename )) sys . exit ( POSTPROCESS_ERROR ) nzb = os . path . join ( nzb_dir , nzb_filename ) if not os . path . exists ( nzb ): print ( '[ERROR] {nzb} doesn \\' t exist, exiting' . format ( nzb = nzb )) sys . exit ( POSTPROCESS_ERROR ) with open ( nzb , mode = 'rb' ) as infile : tree = etree . parse ( infile ) changed = False file_count = 0 totals = set () filenames = set () for f in tree . getiterator ( '{http://www.newzbin.com/DTD/2003/nzb}file' ): subject = f . get ( 'subject' ) if subject is None : print ( u '[DETAIL] No subject in , skipping' ) continue file_count += 1 result = [ re . match ( pattern , subject ) for pattern in patterns ] matched = [ m for m in result if m is not None ] if len ( matched ) == 0 : print ( u '[INFO] No pattern matching subject, exiting.' ) sys . exit ( POSTPROCESS_NONE ) elif len ( matched ) > 1 : print ( u '[ERROR] Multiple patterns matched, exiting.' ) sys . exit ( POSTPROCESS_ERROR ) else : match = matched [ 0 ] . groupdict () if match [ 'filename' ] . lower () . endswith ( '.par2' ): print ( u '[INFO] par2 exists, exiting' ) sys . exit ( POSTPROCESS_NONE ) if int ( match [ 'segment' ]) > int ( match [ 'total' ]): print ( u '[DETAIL] Segment index is greater then total, skipping' ) continue # NZBGet subject parsing changes when duplicate filenames are present # prefix duplicates to avoid that if match [ 'filename' ] in filenames : match [ 'filename' ] = u ' {} . {} ' . format ( file_count , match [ 'filename' ]) filenames . add ( match [ 'filename' ]) s = u 'WtFnZb \" {filename} \" yEnc ( {segment} / {total} )' . format ( filename = match [ 'filename' ], segment = match [ 'segment' ], total = match [ 'total' ]) print ( u '[INFO] New subject {subject} ' . format ( subject = s . encode ( 'ascii' , 'ignore' ))) f . set ( 'subject' , s ) changed = True totals . add ( int ( match [ 'total' ])) if not changed : print ( u '[WARNING] No subject changed, exiting.' ) sys . exit ( POSTPROCESS_NONE ) if len ( totals ) != 1 : print ( u '[WARNING] Mixed values for number of total segments, exiting.' ) sys . exit ( POSTPROCESS_NONE ) if totals . pop () != file_count : print ( u '[WARNING] Listed segment count does not match count, exiting.' ) sys . exit ( POSTPROCESS_NONE ) org = u ' {} .wtfnzb.original.processed' . format ( nzb ) exists_counter = 0 while os . path . exists ( org ): exists_counter += 1 org = u ' {} . {} .wtfnzb.original.processed' . format ( nzb , exists_counter ) print ( u '[INFO] Preserving original nzb as {} ' . format ( org )) os . rename ( nzb , org ) print ( u '[INFO] Writing {} ' . format ( nzb )) with open ( nzb , mode = 'wb' ) as outfile : outfile . write ( etree . tostring ( tree , xml_declaration = True , encoding = tree . docinfo . encoding , doctype = tree . docinfo . doctype )) sys . exit ( POSTPROCESS_SUCCESS ) Tip This script doesn't always work and is often needed if you use a certain indexer. It might be better to use the following Sonarr Regex in your release profile su season pack issue","title":"NzbGet Scripts"},{"location":"Downloaders/NZBGet/scripts/#nzbget-scripts","text":"","title":"NzbGet Scripts"},{"location":"Downloaders/NZBGet/scripts/#clean","text":"Clean NZB name Title: Clean.py Author(s): ??? Removes the following suffixes from NZB name: NZBgeek / Obfuscated / BUYMORE / Scrambled /etc... Cleans the NZB name by removing the retagged stuff (-Obfuscated, -postbox, etc). Script #!/usr/bin/env python3 # ############################################################################## ### NZBGET SCAN SCRIPT ### # Clean NZB name. # # Removes the following suffixes from NZB name: # NZBgeek / Obfuscated / BUYMORE / Scrambled. # # NOTE: This script requires Python to be installed on your system. ### NZBGET SCAN SCRIPT ### ############################################################################## from __future__ import print_function import os , re , sys # Exit codes used by NZBGet POSTPROCESS_SUCCESS = 93 POSTPROCESS_ERROR = 94 POSTPROCESS_SKIP = 95 # Check if the script is called from NZBGet 13.0 or later if not 'NZBOP_SCRIPTDIR' in os . environ : print ( '*** NZBGet post-processing script ***' ) print ( 'This script is supposed to be called from NZBGet (13.0 or later).' ) sys . exit ( POSTPROCESS_ERROR ) if not 'NZBNP_NZBNAME' in os . environ : print ( '[WARN] Filename not found in environment' ) sys . exit ( POSTPROCESS_ERROR ) fwp = os . environ [ 'NZBNP_NZBNAME' ] fwp = re . sub ( '(?i)-4P\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-4Planet\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-AsRequested\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-AsRequested-xpost\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-BUYMORE\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Chamele0n\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-GEROV\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-iNC0GNiTO\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-NZBGeek\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Obfuscated\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-postbot\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Rakuv\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-Scrambled\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-WhiteRev\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-xpost\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[eztv\\]\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]-xpost\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)\\[ettv\\]\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-WRTEAM\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( '(?i)-CAPTCHA\\.nzb$' , '.nzb' , fwp ) fwp = re . sub ( r '(\\-[^-.\\n]*)(\\-. {4} )?\\.nzb$' , r '\\1.nzb' , fwp ) if fwp : print ( '[NZB] NZBNAME=' , fwp , sep = '' ) sys . exit ( POSTPROCESS_SUCCESS )","title":"Clean"},{"location":"Downloaders/NZBGet/scripts/#hashrenamer","text":"Renames hashed media files to match the source NZB Title: HashRenamer.py Author(s): l3uddz URL: github.com/cloudbox/cloudbox Part of the Cloudbox project: https://cloudbox.works Built on top of the NZBGet scripts template created by Clinton Hall . Released under GNU General Public License v2.0 Script #!/usr/bin/env python3 # ############################################################################## # Title: HashRenamer.py # # Author(s): l3uddz, desimaniac # # URL: https://github.com/l3uddz/nzbgetScripts # # Description: Renames hashed media files to match the source NZB. # # -- # # Part of the Cloudbox project: https://cloudbox.works # ############################################################################## ############################################################################## # Built on top of the NZBGet scripts template created by Clinton Hall # # (https://github.com/clinton-hall). # # Released under GNU General Public License v2.0 # ############################################################################## ############################################################################## ### NZBGET POST-PROCESSING SCRIPT ### # Rename files with hashes for file name # # NOTE: This script requires Python to be installed on your system. # ############################################################################## ### NZBGET POST-PROCESSING SCRIPT ### ############################################################################## import os import re import shutil import sys # NZBGet Exit Codes NZBGET_POSTPROCESS_PARCHECK = 92 NZBGET_POSTPROCESS_SUCCESS = 93 NZBGET_POSTPROCESS_ERROR = 94 NZBGET_POSTPROCESS_NONE = 95 ############################################################ # EXTENSION STUFF ############################################################ def do_check (): if 'NZBOP_SCRIPTDIR' not in os . environ : print ( \"This script can only be called from NZBGet (11.0 or later).\" ) sys . exit ( 0 ) if os . environ [ 'NZBOP_VERSION' ][ 0 : 5 ] < '11.0' : print ( \"[ERROR] NZBGet Version %s is not supported. Please update NZBGet.\" % ( str ( os . environ [ 'NZBOP_VERSION' ]))) sys . exit ( 0 ) print ( \"Script triggered from NZBGet Version %s .\" % ( str ( os . environ [ 'NZBOP_VERSION' ]))) status = 0 if 'NZBPP_TOTALSTATUS' in os . environ : if not os . environ [ 'NZBPP_TOTALSTATUS' ] == 'SUCCESS' : print ( \"[ERROR] Download failed with status %s .\" % ( os . environ [ 'NZBPP_STATUS' ])) status = 1 else : # Check par status if os . environ [ 'NZBPP_PARSTATUS' ] == '1' or os . environ [ 'NZBPP_PARSTATUS' ] == '4' : print ( \"[ERROR] Par-repair failed, setting status \\\" failed \\\" .\" ) status = 1 # Check unpack status if os . environ [ 'NZBPP_UNPACKSTATUS' ] == '1' : print ( \"[ERROR] Unpack failed, setting status \\\" failed \\\" .\" ) status = 1 if os . environ [ 'NZBPP_UNPACKSTATUS' ] == '0' and os . environ [ 'NZBPP_PARSTATUS' ] == '0' : # Unpack was skipped due to nzb-file properties or due to errors during par-check if os . environ [ 'NZBPP_HEALTH' ] < 1000 : print ( \"[ERROR] Download health is compromised and Par-check/repair disabled or no .par2 files found. \" \\ \"Setting status \\\" failed \\\" .\" ) print ( \"[ERROR] Please check your Par-check/repair settings for future downloads.\" ) status = 1 else : print ( \"[ERROR] Par-check/repair disabled or no .par2 files found, and Unpack not required. Health is \" \\ \"ok so handle as though download successful.\" ) print ( \"[WARNING] Please check your Par-check/repair settings for future downloads.\" ) # Check if destination directory exists (important for reprocessing of history items) if not os . path . isdir ( os . environ [ 'NZBPP_DIRECTORY' ]): print ( \"[ERROR] Nothing to post-process: destination directory\" , os . environ [ 'NZBPP_DIRECTORY' ], \"doesn't exist. Setting status \\\" failed \\\" .\" ) status = 1 # All checks done, now launching the script. if status == 1 : sys . exit ( NZBGET_POSTPROCESS_NONE ) def get_file_name ( path ): try : file_name = os . path . basename ( path ) extensions = re . findall ( r '\\.([^.]+)' , file_name ) ext = '.' . join ( extensions ) name = file_name . replace ( \". %s \" % ext , '' ) return name , ext except Exception : pass return None def is_file_hash ( file_name ): hash_regexp = [ r '^[a-fA-F0-9] {40} $' , r '^[a-fA-F0-9] {32} $' , r '^[a-f0-9] {128} $' , r '^[a-zA-Z0-9] {42} $' ] for hash in hash_regexp : if re . match ( hash , file_name ): return True return False def find_files ( folder , extension = None , depth = None ): file_list = [] start_count = folder . count ( os . sep ) for path , subdirs , files in os . walk ( folder , topdown = True ): for name in files : if depth and path . count ( os . sep ) - start_count >= depth : del subdirs [:] continue file = os . path . join ( path , name ) if not extension : file_list . append ( file ) else : if file . lower () . endswith ( extension . lower ()): file_list . append ( file ) return sorted ( file_list , key = lambda x : x . count ( os . path . sep ), reverse = True ) ############################################################ # MAIN ############################################################ # do checks do_check () # retrieve required variables directory = os . path . normpath ( os . environ [ 'NZBPP_DIRECTORY' ]) nzb_name = os . environ [ 'NZBPP_NZBFILENAME' ] if nzb_name is None : print ( \"[ERROR] Unable to retrieve NZBPP_NZBFILENAME\" ) sys . exit ( NZBGET_POSTPROCESS_ERROR ) nzb_name = nzb_name . replace ( '.nzb' , '' ) print (( \"[INFO] Using \\\" %s \\\" for hashed filenames\" % nzb_name )) print (( \"[INFO] Scanning \\\" %s \\\" for hashed filenames\" % directory )) # scan for files found_files = find_files ( directory ) if not found_files : print (( \"[INFO] No files were found in \\\" %s \\\" \" % directory )) sys . exit ( NZBGET_POSTPROCESS_NONE ) else : print (( \"[INFO] Found %d files to check for hashed filenames\" % len ( found_files ))) # loop files checking for file hash moved_files = 0 for found_file_path in found_files : # set variable dir_name = os . path . dirname ( found_file_path ) file_name , file_ext = get_file_name ( found_file_path ) # is this a file hash if is_file_hash ( file_name ): new_file_path = os . path . join ( dir_name , \" %s . %s \" % ( nzb_name , file_ext )) print (( \"[INFO] Moving \\\" %s \\\" to \\\" %s \\\" \" % ( found_file_path , new_file_path ))) try : shutil . move ( found_file_path , new_file_path ) moved_files += 1 except Exception : print (( \"[ERROR] Failed moving \\\" %s \\\" to \\\" %s \\\" \" % ( found_file_path , new_file_path ))) print (( \"[INFO] Finished processing \\\" %s \\\" , moved %d files\" % ( directory , moved_files ))) sys . exit ( NZBGET_POSTPROCESS_SUCCESS )","title":"HashRenamer"},{"location":"Downloaders/NZBGet/scripts/#wtfnzb-renamer","text":"Renames hashed media files to match the source NZB Title: WtFnZb-Renamer.py Author(s): WtFnZb URL: ?? NZBGET SCAN SCRIPT Extract filenames from subjects containing [PRiVATE]-[WtFnZb] This extensions extracts obfuscated filenames from .nzb files Script #!/usr/bin/env python3 ### NZBGET SCAN SCRIPT # Extract filenames from subjects containing [PRiVATE]-[WtFnZb] # # This extensions extracts obfuscated filenames from .nzb files # created by WtFnZb. # # Supported subject formats: # # - [PRiVATE]-[WtFnZb]-[filename]-[1/5] - \"\" yEnc 0 (1/1)\" # # - [PRiVATE]-[WtFnZb]-[5]-[1/filename] - \"\" yEnc # # # NOTE: Requires Python and lxml (sudo apt install python3-lxml python-lxml) # ### NZBGET SCAN SCRIPT import sys import os import re # Exit codes used by NZBGet POSTPROCESS_SUCCESS = 93 POSTPROCESS_NONE = 95 POSTPROCESS_ERROR = 94 try : from lxml import etree except ImportError : print ( u '[ERROR] Python lxml required. Please install with \"sudo apt install python-lxml\" or \"pip install lxml\".' ) sys . exit ( POSTPROCESS_ERROR ) patterns = ( re . compile ( r '^(?P.*\\[PRiVATE\\]-\\[WtFnZb\\]-)' r '\\[(?P\\d+)\\]-\\[(?P\\d+)\\/(?P.{3,}?)\\]' r '\\s+-\\s+\"\"\\s+yEnc\\s+' , re . MULTILINE | re . UNICODE ), re . compile ( r '^(?P.*\\[PRiVATE\\]-\\[WtFnZb\\]-)' r '\\[(?P.{3,}?)\\]-\\[(?P\\d+)/(?P\\d+)\\]' r '\\s+-\\s+\"\"\\s+yEnc\\s+' , re . MULTILINE | re . UNICODE )) nzb_dir = os . getenv ( 'NZBNP_DIRECTORY' ) nzb_filename = os . getenv ( 'NZBNP_FILENAME' ) nzb_name = os . getenv ( 'NZBNP_NZBNAME' ) nzb_file_naming = os . getenv ( 'NZBOP_FILENAMING' ) if nzb_dir is None or nzb_filename is None or nzb_name is None : print ( 'Please run as NZBGet plugin' ) sys . exit ( POSTPROCESS_ERROR ) if nzb_file_naming is not None and nzb_file_naming . lower () != 'nzb' : print ( u '[ERROR] NZBGet setting FileNaming (under Download Queue) ' u 'must be set to \"Nzb\" for this extension to work correctly, exiting.' ) sys . exit ( POSTPROCESS_ERROR ) if not os . path . exists ( nzb_dir ): print ( '[ERROR] NZB directory doesn \\' t exist, exiting' ) sys . exit ( POSTPROCESS_ERROR ) if not nzb_filename . lower () . endswith ( '.nzb' ): print ( u '[ERROR] {} is not a .nzb file.' . format ( nzb_filename )) sys . exit ( POSTPROCESS_ERROR ) nzb = os . path . join ( nzb_dir , nzb_filename ) if not os . path . exists ( nzb ): print ( '[ERROR] {nzb} doesn \\' t exist, exiting' . format ( nzb = nzb )) sys . exit ( POSTPROCESS_ERROR ) with open ( nzb , mode = 'rb' ) as infile : tree = etree . parse ( infile ) changed = False file_count = 0 totals = set () filenames = set () for f in tree . getiterator ( '{http://www.newzbin.com/DTD/2003/nzb}file' ): subject = f . get ( 'subject' ) if subject is None : print ( u '[DETAIL] No subject in , skipping' ) continue file_count += 1 result = [ re . match ( pattern , subject ) for pattern in patterns ] matched = [ m for m in result if m is not None ] if len ( matched ) == 0 : print ( u '[INFO] No pattern matching subject, exiting.' ) sys . exit ( POSTPROCESS_NONE ) elif len ( matched ) > 1 : print ( u '[ERROR] Multiple patterns matched, exiting.' ) sys . exit ( POSTPROCESS_ERROR ) else : match = matched [ 0 ] . groupdict () if match [ 'filename' ] . lower () . endswith ( '.par2' ): print ( u '[INFO] par2 exists, exiting' ) sys . exit ( POSTPROCESS_NONE ) if int ( match [ 'segment' ]) > int ( match [ 'total' ]): print ( u '[DETAIL] Segment index is greater then total, skipping' ) continue # NZBGet subject parsing changes when duplicate filenames are present # prefix duplicates to avoid that if match [ 'filename' ] in filenames : match [ 'filename' ] = u ' {} . {} ' . format ( file_count , match [ 'filename' ]) filenames . add ( match [ 'filename' ]) s = u 'WtFnZb \" {filename} \" yEnc ( {segment} / {total} )' . format ( filename = match [ 'filename' ], segment = match [ 'segment' ], total = match [ 'total' ]) print ( u '[INFO] New subject {subject} ' . format ( subject = s . encode ( 'ascii' , 'ignore' ))) f . set ( 'subject' , s ) changed = True totals . add ( int ( match [ 'total' ])) if not changed : print ( u '[WARNING] No subject changed, exiting.' ) sys . exit ( POSTPROCESS_NONE ) if len ( totals ) != 1 : print ( u '[WARNING] Mixed values for number of total segments, exiting.' ) sys . exit ( POSTPROCESS_NONE ) if totals . pop () != file_count : print ( u '[WARNING] Listed segment count does not match count, exiting.' ) sys . exit ( POSTPROCESS_NONE ) org = u ' {} .wtfnzb.original.processed' . format ( nzb ) exists_counter = 0 while os . path . exists ( org ): exists_counter += 1 org = u ' {} . {} .wtfnzb.original.processed' . format ( nzb , exists_counter ) print ( u '[INFO] Preserving original nzb as {} ' . format ( org )) os . rename ( nzb , org ) print ( u '[INFO] Writing {} ' . format ( nzb )) with open ( nzb , mode = 'wb' ) as outfile : outfile . write ( etree . tostring ( tree , xml_declaration = True , encoding = tree . docinfo . encoding , doctype = tree . docinfo . doctype )) sys . exit ( POSTPROCESS_SUCCESS ) Tip This script doesn't always work and is often needed if you use a certain indexer. It might be better to use the following Sonarr Regex in your release profile su season pack issue","title":"WtFnZb-Renamer"},{"location":"Downloaders/SABnzbd/","text":"SABnzbd \u00b6","title":"SABnzbd"},{"location":"Downloaders/SABnzbd/#sabnzbd","text":"","title":"SABnzbd"},{"location":"Downloaders/SABnzbd/Basic-Setup/","text":"SABnzbd - Basic Setup \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv . Note Settings that aren't covered means you can change them to your own liking or just leave them on default. I also recommend to enable the Advanced Settings on the top right. General \u00b6 Tuning \u00b6 Settings => General => Tuning I recommend setting a sane maximum speed and then limiting below that, to keep your internet connection happy. You can use Settings => Scheduling to toggle the limit on and off based on time, slowing it down while your family is using the internet and speeding it up at night when they're not. Folders \u00b6 User Folders \u00b6 Settings => Folders => Users Folders Here you setup your download path/location. ATTENTION You set your download location in your download client Your download client ONLY downloads to your download folder/location. And you tell Radarr where you want your clean media library Radarr imports from your download location (copy/move/hardlink) to your media folder/library Plex, Emby, JellyFin or Kodi should ONLY have access to your media folder/library Your Download and Media Library should be NEVER the same locations System Folders \u00b6 Settings => Folders => System Folders I recommend the .nzb Backup Folder because sabnzbd doesn't have a hidden history and having remove from history enabled in Sonarr/Radarr is the best method. This allows you to see your past downloads and it is used for duplicate download detection/prevention. Default is empty, I picked history because it is easy. It'll end up in the /config folder for Docker, which isn't crazy... but this is literally compressed nzb files, so can end up pretty big. But the choice is yours what you prefer. Servers \u00b6 Settings => Servers => Add Server USP = Usenet Service Provider Server description. The hostname you get from your USP. The port that you get and can use from your USP. Make sure you enable SSL so you get a secure connection to the USP. Username that you got or created with your USP. Password you got or created with your USP Use the lowest possible amount of connections +1 to gain your max download speed. How long the articles are stored on the news server. For unreliable servers, will be ignored longer in case of failures Categories \u00b6 Settings => Categories Covered and fully explained in SABnzbd - Paths and Categories Switches \u00b6 Queue \u00b6 Settings => Switches => Queue When during download it becomes clear that too much data is missing, abort the job. and makes sure Sonarr/Radarr will get a notification and can look for another release. Since we have the .nzb history folder, you can decide what you want to do here w/ duplicate downloads. Mine is set to Tag job, but Pause or Fail job may make sense too. In case of \"Pause\", you'll need to set a password and resume the job. or you set it to \"Abort\" and Sonarr/Radarr can look for another release. Suggest this sort so that the most likely to still be there stuff is downloaded first. If your hardware isn't up to snuff, including cpu and/or io performance, disabling Direct Unpack and/or enabling Pause Downloading During Post-Processing can help. Defaults are fine for most hardware though. Post processing \u00b6 Settings => Switches => Post processing If your hardware isn't up to snuff, including cpu and/or io performance, disabling Direct Unpack and/or enabling Pause Downloading During Post-Processing can help. Defaults are fine for most hardware though. Only unpack and run scripts on jobs that passed the verification stage. If turned off, all jobs will be marked as Completed even if they are incomplete. Unpack archives (rar, zip, 7z) within archives. This can help with subs that are in folders in the rar because sonarr/radarr don't look in sub-folders. Some servers provide an alternative NZB when a download fails. I have it enabled no guarantee that it works. Helps with de-obfuscation, but probably is handling the same case sonarr/radarr do okay with. Not sure how this one does, I have it enabled, but its also newish. When sorting, use tags from indexer for title, season, episode, etc. Otherwise all naming is derived from the NZB name. Sorting \u00b6 Settings => Sorting MAKE SURE THAT SORTING IS ENTIRELY DISABLED Recommended Sonarr/Radarr Settings \u00b6 The following settings are recommended to for Sonarr/Radarr, else it could happen that Sonarr/Radarr will miss downloads that are still in the queue/history. Being that Sonarr/Radarr only looks at the last xx amount in the queue/history. Sonarr \u00b6 Sonarr - [CLICK TO EXPAND] Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3. Select Sabnzbd at step 4 and scroll down to the bottom of the new window where it says Completed Download Handling and check both boxes. Radarr \u00b6 Radarr - [CLICK TO EXPAND] Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3, and both boxes under Failed Download Handling at step 4. Thanks to fryfrog for helping me with the settings and providing the info needed to create this Guide. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Basic-Setup"},{"location":"Downloaders/SABnzbd/Basic-Setup/#sabnzbd-basic-setup","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv . Note Settings that aren't covered means you can change them to your own liking or just leave them on default. I also recommend to enable the Advanced Settings on the top right.","title":"SABnzbd - Basic Setup"},{"location":"Downloaders/SABnzbd/Basic-Setup/#general","text":"","title":"General"},{"location":"Downloaders/SABnzbd/Basic-Setup/#tuning","text":"Settings => General => Tuning I recommend setting a sane maximum speed and then limiting below that, to keep your internet connection happy. You can use Settings => Scheduling to toggle the limit on and off based on time, slowing it down while your family is using the internet and speeding it up at night when they're not.","title":"Tuning"},{"location":"Downloaders/SABnzbd/Basic-Setup/#folders","text":"","title":"Folders"},{"location":"Downloaders/SABnzbd/Basic-Setup/#user-folders","text":"Settings => Folders => Users Folders Here you setup your download path/location. ATTENTION You set your download location in your download client Your download client ONLY downloads to your download folder/location. And you tell Radarr where you want your clean media library Radarr imports from your download location (copy/move/hardlink) to your media folder/library Plex, Emby, JellyFin or Kodi should ONLY have access to your media folder/library Your Download and Media Library should be NEVER the same locations","title":"User Folders"},{"location":"Downloaders/SABnzbd/Basic-Setup/#system-folders","text":"Settings => Folders => System Folders I recommend the .nzb Backup Folder because sabnzbd doesn't have a hidden history and having remove from history enabled in Sonarr/Radarr is the best method. This allows you to see your past downloads and it is used for duplicate download detection/prevention. Default is empty, I picked history because it is easy. It'll end up in the /config folder for Docker, which isn't crazy... but this is literally compressed nzb files, so can end up pretty big. But the choice is yours what you prefer.","title":"System Folders"},{"location":"Downloaders/SABnzbd/Basic-Setup/#servers","text":"Settings => Servers => Add Server USP = Usenet Service Provider Server description. The hostname you get from your USP. The port that you get and can use from your USP. Make sure you enable SSL so you get a secure connection to the USP. Username that you got or created with your USP. Password you got or created with your USP Use the lowest possible amount of connections +1 to gain your max download speed. How long the articles are stored on the news server. For unreliable servers, will be ignored longer in case of failures","title":"Servers"},{"location":"Downloaders/SABnzbd/Basic-Setup/#categories","text":"Settings => Categories Covered and fully explained in SABnzbd - Paths and Categories","title":"Categories"},{"location":"Downloaders/SABnzbd/Basic-Setup/#switches","text":"","title":"Switches"},{"location":"Downloaders/SABnzbd/Basic-Setup/#queue","text":"Settings => Switches => Queue When during download it becomes clear that too much data is missing, abort the job. and makes sure Sonarr/Radarr will get a notification and can look for another release. Since we have the .nzb history folder, you can decide what you want to do here w/ duplicate downloads. Mine is set to Tag job, but Pause or Fail job may make sense too. In case of \"Pause\", you'll need to set a password and resume the job. or you set it to \"Abort\" and Sonarr/Radarr can look for another release. Suggest this sort so that the most likely to still be there stuff is downloaded first. If your hardware isn't up to snuff, including cpu and/or io performance, disabling Direct Unpack and/or enabling Pause Downloading During Post-Processing can help. Defaults are fine for most hardware though.","title":"Queue"},{"location":"Downloaders/SABnzbd/Basic-Setup/#post-processing","text":"Settings => Switches => Post processing If your hardware isn't up to snuff, including cpu and/or io performance, disabling Direct Unpack and/or enabling Pause Downloading During Post-Processing can help. Defaults are fine for most hardware though. Only unpack and run scripts on jobs that passed the verification stage. If turned off, all jobs will be marked as Completed even if they are incomplete. Unpack archives (rar, zip, 7z) within archives. This can help with subs that are in folders in the rar because sonarr/radarr don't look in sub-folders. Some servers provide an alternative NZB when a download fails. I have it enabled no guarantee that it works. Helps with de-obfuscation, but probably is handling the same case sonarr/radarr do okay with. Not sure how this one does, I have it enabled, but its also newish. When sorting, use tags from indexer for title, season, episode, etc. Otherwise all naming is derived from the NZB name.","title":"Post processing"},{"location":"Downloaders/SABnzbd/Basic-Setup/#sorting","text":"Settings => Sorting MAKE SURE THAT SORTING IS ENTIRELY DISABLED","title":"Sorting"},{"location":"Downloaders/SABnzbd/Basic-Setup/#recommended-sonarrradarr-settings","text":"The following settings are recommended to for Sonarr/Radarr, else it could happen that Sonarr/Radarr will miss downloads that are still in the queue/history. Being that Sonarr/Radarr only looks at the last xx amount in the queue/history.","title":"Recommended Sonarr/Radarr Settings"},{"location":"Downloaders/SABnzbd/Basic-Setup/#sonarr","text":"Sonarr - [CLICK TO EXPAND] Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3. Select Sabnzbd at step 4 and scroll down to the bottom of the new window where it says Completed Download Handling and check both boxes.","title":"Sonarr"},{"location":"Downloaders/SABnzbd/Basic-Setup/#radarr","text":"Radarr - [CLICK TO EXPAND] Settings => Download Clients Make sure you check both boxes under Completed Download Handling at step 3, and both boxes under Failed Download Handling at step 4. Thanks to fryfrog for helping me with the settings and providing the info needed to create this Guide. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Radarr"},{"location":"Downloaders/SABnzbd/Paths-and-Categories/","text":"SABnzbd - Paths and Categories \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data SABnzbd config => Folders SABnzbd config => Categories ATTENTION You set your download location in your download client Your download client ONLY downloads to your download folder/location. And you tell Radarr where you want your clean media library Radarr imports from your download location (copy/move/hardlink) to your media folder/library Plex, Emby, JellyFin or Kodi should ONLY have access to your media folder/library Your Download and Media Library should be NEVER the same locations Paths and Categories Breakdown \u00b6 Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Path and Categories"},{"location":"Downloaders/SABnzbd/Paths-and-Categories/#sabnzbd-paths-and-categories","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data SABnzbd config => Folders SABnzbd config => Categories ATTENTION You set your download location in your download client Your download client ONLY downloads to your download folder/location. And you tell Radarr where you want your clean media library Radarr imports from your download location (copy/move/hardlink) to your media folder/library Plex, Emby, JellyFin or Kodi should ONLY have access to your media folder/library Your Download and Media Library should be NEVER the same locations","title":"SABnzbd - Paths and Categories"},{"location":"Downloaders/SABnzbd/Paths-and-Categories/#paths-and-categories-breakdown","text":"Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Paths and Categories Breakdown"},{"location":"Downloaders/SABnzbd/scripts/","text":"SABnzbd Scripts \u00b6 Clean \u00b6 Clean NZB name Title: Clean.py Author(s): ??? Made compatible for SABnzbd: AlexK Removes the following suffixes from NZB name: NZBgeek / Obfuscated / BUYMORE / Scrambled /etc... Cleans the NZB name by removing the retagged stuff (-Obfuscated, -postbox, etc). Install Instructions: Copy script to sabnzbd's script folder run: sudo chmod +x Clean.py in SABnzbd go to Settings => Switches Change Pre-queue user script and select: Clean.py Script #!/usr/bin/python3 -OO ################################################################## ### SABnzbd - Clean NZB Renamer ## ################################################################## ## NOTE: This script is considered ALPHA! ## ## ## ## Removes the suffixes from NZB name used by bots: ## ## examples: NZBgeek / Obfuscated / BUYMORE / Scrambled, etc.. ## ## ## ## NOTE: This script requires Python 3 ## ## ## ## Install: ## ## 1. Copy script to sabnzbd's script folder ## ## 2. run: sudo chmod +x Clean.py ## ## 3. in SABnzbd go to Config > Switches ## ## 4. Change Pre-queue user script and select: Clean.py ## ################################################################## import sys import re try : ( scriptname , nzbname , postprocflags , category , script , prio , downloadsize , grouplist , showname , season , episodenumber , episodename ) = sys . argv downloadsize = int ( downloadsize ) except : sys . exit ( 1 ) # exit with 1 causes SABnzbd to ignore the output of this script fwp = nzbname fwp = re . sub ( '(?i)-4P$' , '' , fwp ) fwp = re . sub ( '(?i)-4Planet$' , '' , fwp ) fwp = re . sub ( '(?i)-AsRequested$' , '' , fwp ) fwp = re . sub ( '(?i)-AsRequested-xpost$' , '' , fwp ) fwp = re . sub ( '(?i)-BUYMORE$' , '' , fwp ) fwp = re . sub ( '(?i)-Chamele0n$' , '' , fwp ) fwp = re . sub ( '(?i)-GEROV$' , '' , fwp ) fwp = re . sub ( '(?i)-iNC0GNiTO$' , '' , fwp ) fwp = re . sub ( '(?i)-NZBGeek$' , '' , fwp ) fwp = re . sub ( '(?i)-Obfuscated$' , '' , fwp ) fwp = re . sub ( '(?i)-postbot$' , '' , fwp ) fwp = re . sub ( '(?i)-Rakuv$' , '' , fwp ) fwp = re . sub ( '(?i)-Scrambled$' , '' , fwp ) fwp = re . sub ( '(?i)-WhiteRev$' , '' , fwp ) fwp = re . sub ( '(?i)-WRTEAM$' , '' , fwp ) fwp = re . sub ( '(?i)-CAPTCHA$' , '' , fwp ) fwp = re . sub ( '(?i)\\[eztv\\]$' , '' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]$' , '' , fwp ) fwp = re . sub ( '(?i)\\[ettv\\]$' , '' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]-xpost$' , '' , fwp ) fwp = re . sub ( '(?i).mkv-xpost$' , '' , fwp ) fwp = re . sub ( '(?i)-xpost$' , '' , fwp ) fwp = re . sub ( r '(\\-[^-.\\n]*)(\\-. {4} )?$' , r '\\1' , fwp ) print ( \"1\" ) # Accept print ( fwp ) print () print () print () print () print () # 0 means OK sys . exit ( 0 )","title":"SABnzbd Scripts"},{"location":"Downloaders/SABnzbd/scripts/#sabnzbd-scripts","text":"","title":"SABnzbd Scripts"},{"location":"Downloaders/SABnzbd/scripts/#clean","text":"Clean NZB name Title: Clean.py Author(s): ??? Made compatible for SABnzbd: AlexK Removes the following suffixes from NZB name: NZBgeek / Obfuscated / BUYMORE / Scrambled /etc... Cleans the NZB name by removing the retagged stuff (-Obfuscated, -postbox, etc). Install Instructions: Copy script to sabnzbd's script folder run: sudo chmod +x Clean.py in SABnzbd go to Settings => Switches Change Pre-queue user script and select: Clean.py Script #!/usr/bin/python3 -OO ################################################################## ### SABnzbd - Clean NZB Renamer ## ################################################################## ## NOTE: This script is considered ALPHA! ## ## ## ## Removes the suffixes from NZB name used by bots: ## ## examples: NZBgeek / Obfuscated / BUYMORE / Scrambled, etc.. ## ## ## ## NOTE: This script requires Python 3 ## ## ## ## Install: ## ## 1. Copy script to sabnzbd's script folder ## ## 2. run: sudo chmod +x Clean.py ## ## 3. in SABnzbd go to Config > Switches ## ## 4. Change Pre-queue user script and select: Clean.py ## ################################################################## import sys import re try : ( scriptname , nzbname , postprocflags , category , script , prio , downloadsize , grouplist , showname , season , episodenumber , episodename ) = sys . argv downloadsize = int ( downloadsize ) except : sys . exit ( 1 ) # exit with 1 causes SABnzbd to ignore the output of this script fwp = nzbname fwp = re . sub ( '(?i)-4P$' , '' , fwp ) fwp = re . sub ( '(?i)-4Planet$' , '' , fwp ) fwp = re . sub ( '(?i)-AsRequested$' , '' , fwp ) fwp = re . sub ( '(?i)-AsRequested-xpost$' , '' , fwp ) fwp = re . sub ( '(?i)-BUYMORE$' , '' , fwp ) fwp = re . sub ( '(?i)-Chamele0n$' , '' , fwp ) fwp = re . sub ( '(?i)-GEROV$' , '' , fwp ) fwp = re . sub ( '(?i)-iNC0GNiTO$' , '' , fwp ) fwp = re . sub ( '(?i)-NZBGeek$' , '' , fwp ) fwp = re . sub ( '(?i)-Obfuscated$' , '' , fwp ) fwp = re . sub ( '(?i)-postbot$' , '' , fwp ) fwp = re . sub ( '(?i)-Rakuv$' , '' , fwp ) fwp = re . sub ( '(?i)-Scrambled$' , '' , fwp ) fwp = re . sub ( '(?i)-WhiteRev$' , '' , fwp ) fwp = re . sub ( '(?i)-WRTEAM$' , '' , fwp ) fwp = re . sub ( '(?i)-CAPTCHA$' , '' , fwp ) fwp = re . sub ( '(?i)\\[eztv\\]$' , '' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]$' , '' , fwp ) fwp = re . sub ( '(?i)\\[ettv\\]$' , '' , fwp ) fwp = re . sub ( '(?i)\\[TGx\\]-xpost$' , '' , fwp ) fwp = re . sub ( '(?i).mkv-xpost$' , '' , fwp ) fwp = re . sub ( '(?i)-xpost$' , '' , fwp ) fwp = re . sub ( r '(\\-[^-.\\n]*)(\\-. {4} )?$' , r '\\1' , fwp ) print ( \"1\" ) # Accept print ( fwp ) print () print () print () print () print () # 0 means OK sys . exit ( 0 )","title":"Clean"},{"location":"Downloaders/qBittorrent/","text":"qBittorrent \u00b6","title":"qBittorrent"},{"location":"Downloaders/qBittorrent/#qbittorrent","text":"","title":"qBittorrent"},{"location":"Downloaders/qBittorrent/Basic-Setup/","text":"qBittorrent - Basic Setup \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv . Soon \u00b6","title":"Basic-Setup"},{"location":"Downloaders/qBittorrent/Basic-Setup/#qbittorrent-basic-setup","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv .","title":"qBittorrent - Basic Setup"},{"location":"Downloaders/qBittorrent/Basic-Setup/#soon","text":"","title":"Soon"},{"location":"Downloaders/qBittorrent/How-to-add-categories/","text":"qBittorrent - How to add categories \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Click on the left under categories with your left mouse button. Click on Add category Enter your category. Enter your save path subfolder (keep it simple and recognizable) Paths and Categories Breakdown \u00b6 Downloads do not go into the category folder \u00b6 Downloads do not go into the category folder When your downloads ends up in /data/torrents/ and not in /data/torrents/{tv|movies|music} then you probably forgot to change Default Torrent Management Mode: to Automatic Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to add Categories"},{"location":"Downloaders/qBittorrent/How-to-add-categories/#qbittorrent-how-to-add-categories","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Click on the left under categories with your left mouse button. Click on Add category Enter your category. Enter your save path subfolder (keep it simple and recognizable)","title":"qBittorrent - How to add categories"},{"location":"Downloaders/qBittorrent/How-to-add-categories/#paths-and-categories-breakdown","text":"","title":"Paths and Categories Breakdown"},{"location":"Downloaders/qBittorrent/How-to-add-categories/#downloads-do-not-go-into-the-category-folder","text":"Downloads do not go into the category folder When your downloads ends up in /data/torrents/ and not in /data/torrents/{tv|movies|music} then you probably forgot to change Default Torrent Management Mode: to Automatic Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Downloads do not go into the category folder"},{"location":"Downloaders/qBittorrent/Paths/","text":"qBittorrent - Paths \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Options => Downloads","title":"Paths"},{"location":"Downloaders/qBittorrent/Paths/#qbittorrent-paths","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Options => Downloads","title":"qBittorrent - Paths"},{"location":"Downloaders/qBittorrent/Port-forwarding/","text":"qBittorrent - Port forwarding \u00b6 You've followed the Setup TorGuard for port forwarding and want to know where in your download client you should add the port you've port forwarded. Tools => Options => Connection Tools or cog wheel. Options (skip if you choose the cog wheel). Select the Connection Tab. Choose TCP and uTP if you get speed issues try one of the others. Add here the port you've forwarded.","title":"Port forwarding"},{"location":"Downloaders/qBittorrent/Port-forwarding/#qbittorrent-port-forwarding","text":"You've followed the Setup TorGuard for port forwarding and want to know where in your download client you should add the port you've port forwarded. Tools => Options => Connection Tools or cog wheel. Options (skip if you choose the cog wheel). Select the Connection Tab. Choose TCP and uTP if you get speed issues try one of the others. Add here the port you've forwarded.","title":"qBittorrent - Port forwarding"},{"location":"Downloaders/ruTorrent/","text":"ruTorrent Placeholder \u00b6","title":"ruTorrent Placeholder"},{"location":"Downloaders/ruTorrent/#rutorrent-placeholder","text":"","title":"ruTorrent Placeholder"},{"location":"Downloaders/ruTorrent/ruTorrent-Basic-Setup/","text":"ruTorrent - Basic Setup \u00b6 This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv . Soon \u00b6 Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"ruTorrent - Basic Setup"},{"location":"Downloaders/ruTorrent/ruTorrent-Basic-Setup/#rutorrent-basic-setup","text":"This basic example is based on the use of docker images Keep in mind the path are setup so it works with hardlinks and instant moves. More info HERE The default path setup suggested by some docker developers that encourages people to use mounts like /movies , /tv and /downloads is very suboptimal because it makes them look like two or three file systems, even if they aren\u2019t. It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used. But you're able to change this, by not using the pre-defined/recommended paths like: /downloads => /data/downloads /movies => /data/media/movies /tv => /data/media/tv .","title":"ruTorrent - Basic Setup"},{"location":"Downloaders/ruTorrent/ruTorrent-Basic-Setup/#soon","text":"Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Soon"},{"location":"Hardlinks/Check-if-hardlinks-are-working/","text":"How to check if hardlinks are working \u00b6 You've followed the guide step by step but still want to check if hardlinks are working, or someone on the Sonarr/Radarr support team asked you to check if your files are hardlinked? You can use 2 options to check if you got working hardlinks. Both ways requires you to login to your terminal with PuTTY or similar software. Usenet \u00b6 If you use usenet these examples won't work because you make use of instant moves/atomic moves and not hardlinks. Still want to test if it works ? Test a import of a 4k remux (or any other big file and you should notice it's almost instant) and not a slower and more I/O intensive copy + delete. Method 1: Using ls \u00b6 This is the easiest to check in my opinion. In your terminal cd to your download location and run ls -al or type ls -al /path/to/your/download/location/ You will get a listing of all your files and on the left side you will see a couple of numbers, every file with a number above 1 are hardlinks. Red rectangle - Not Hardlinked Green rectangle - Hardlinks Blue rectangle - Folders/Directories you will need to go in to them to check if the files are hardlinked. Method 2: Using stat \u00b6 This way requires a bit more work. On the terminal type: stat /path/to/your/download/location/file.mkv On the terminal type: stat /path/to/your/media/location/file.mkv You will get 2 results you can use to compare several things. Links: Everything above 1 means it's a hardlink Inode: if the numbers match you know the files are hardlinked","title":"Check if hardlinks are working"},{"location":"Hardlinks/Check-if-hardlinks-are-working/#how-to-check-if-hardlinks-are-working","text":"You've followed the guide step by step but still want to check if hardlinks are working, or someone on the Sonarr/Radarr support team asked you to check if your files are hardlinked? You can use 2 options to check if you got working hardlinks. Both ways requires you to login to your terminal with PuTTY or similar software.","title":"How to check if hardlinks are working"},{"location":"Hardlinks/Check-if-hardlinks-are-working/#usenet","text":"If you use usenet these examples won't work because you make use of instant moves/atomic moves and not hardlinks. Still want to test if it works ? Test a import of a 4k remux (or any other big file and you should notice it's almost instant) and not a slower and more I/O intensive copy + delete.","title":"Usenet"},{"location":"Hardlinks/Check-if-hardlinks-are-working/#method-1-using-ls","text":"This is the easiest to check in my opinion. In your terminal cd to your download location and run ls -al or type ls -al /path/to/your/download/location/ You will get a listing of all your files and on the left side you will see a couple of numbers, every file with a number above 1 are hardlinks. Red rectangle - Not Hardlinked Green rectangle - Hardlinks Blue rectangle - Folders/Directories you will need to go in to them to check if the files are hardlinked.","title":"Method 1: Using ls"},{"location":"Hardlinks/Check-if-hardlinks-are-working/#method-2-using-stat","text":"This way requires a bit more work. On the terminal type: stat /path/to/your/download/location/file.mkv On the terminal type: stat /path/to/your/media/location/file.mkv You will get 2 results you can use to compare several things. Links: Everything above 1 means it's a hardlink Inode: if the numbers match you know the files are hardlinked","title":"Method 2: Using stat"},{"location":"Hardlinks/Examples/","text":"Examples \u00b6 Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data Sonarr \u00b6 Sonarr Examples - [CLICK TO EXPAND] Settings => Media Management => Importing Settings => Media Management => Root Folders Series => Add New Radarr \u00b6 Radarr Examples - [CLICK TO EXPAND] Settings => Media Management => Importing Settings => Media Management => Root Folders Movies => Add New SABnzbd \u00b6 SABnzbd Examples - [CLICK TO EXPAND] SABnzbd config => Folders SABnzbd config => Categories NZBGet \u00b6 NZBGet Examples - [CLICK TO EXPAND] Settings => PATHS Settings => CATEGORIES qBittorrent \u00b6 qBittorrent Examples - [CLICK TO EXPAND] Options => Downloads Deluge \u00b6 Deluge Example - [CLICK TO EXPAND] Preferences => Downloads ruTorrent \u00b6 ruTorrent Examples - [CLICK TO EXPAND] ../config/rtorrent/config/rtorrent.rc (path to your appdata) Settings => Downloads Settings => Autotools Big Thanks to fryfrog for his Docker Guide that I used as basis for this guide.","title":"Examples"},{"location":"Hardlinks/Examples/#examples","text":"Info Pick one path layout and use it for all of them. It doesn't matter if you prefer to use /data , /shared , /storage or whatever. The screenshots in the examples are using the following root path /data","title":"Examples"},{"location":"Hardlinks/Examples/#sonarr","text":"Sonarr Examples - [CLICK TO EXPAND] Settings => Media Management => Importing Settings => Media Management => Root Folders Series => Add New","title":"Sonarr"},{"location":"Hardlinks/Examples/#radarr","text":"Radarr Examples - [CLICK TO EXPAND] Settings => Media Management => Importing Settings => Media Management => Root Folders Movies => Add New","title":"Radarr"},{"location":"Hardlinks/Examples/#sabnzbd","text":"SABnzbd Examples - [CLICK TO EXPAND] SABnzbd config => Folders SABnzbd config => Categories","title":"SABnzbd"},{"location":"Hardlinks/Examples/#nzbget","text":"NZBGet Examples - [CLICK TO EXPAND] Settings => PATHS Settings => CATEGORIES","title":"NZBGet"},{"location":"Hardlinks/Examples/#qbittorrent","text":"qBittorrent Examples - [CLICK TO EXPAND] Options => Downloads","title":"qBittorrent"},{"location":"Hardlinks/Examples/#deluge","text":"Deluge Example - [CLICK TO EXPAND] Preferences => Downloads","title":"Deluge"},{"location":"Hardlinks/Examples/#rutorrent","text":"ruTorrent Examples - [CLICK TO EXPAND] ../config/rtorrent/config/rtorrent.rc (path to your appdata) Settings => Downloads Settings => Autotools Big Thanks to fryfrog for his Docker Guide that I used as basis for this guide.","title":"ruTorrent"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/","text":"Hardlinks and Instant Moves (Atomic-Moves) \u00b6 Description \u00b6 Info If you\u2019re wondering why hard links aren\u2019t working or why a simple move is taking far longer than it should. Here we will try to explain it. This Guide exist out of 4 Sections This page with a short description. How to setup for your installation method. Examples what you should use for your path settings in your used applications. Check if hardlinks are working So you want one of the following ? Instant moves (Atomic-Moves) during import of the *arr (useful when using Usenet)? You don't want to use twice the storage when using torrents. (hardlinks)? You want to perma seed? Then Continue to How to setup for your installation method. FAQ \u00b6 What are Hardlinks \u00b6 What are hardlinks? - [CLICK TO EXPAND] [ Short answer ] Having a file in multiple locations without using double your storage space. [ Long answer ] Hard links are a way for a copy operation to be instant and not consume space for those additional copies. Every file is a hard link: some metadata that points at blocks on the file system, which is why they're restricted to the same file system . There can be as many metadata files pointing at those blocks as needed and the blocks know how many links point to them. Once the blocks have 0 links, they're considered deleted. This means: You can delete any \"copy\" w/o impacting the others. Your download client can remove it's \"copy\" w/o impacting the library \"copy\". The library \"copy\" can be removed by Plex or Sonarr/Radarr or yourself w/o impacting the download client \"copy\". Space is only regained when all \"copies\" are deleted. Modifying the file will impact all \"copies\". For example, modifying the id3 tags of a .mp3 download after import would modify the download client \"copy\", resulting in breaking the torrent. What are Instant Moves (Atomic Moves) \u00b6 What are Instant Moves (Atomic Moves)? - [CLICK TO EXPAND] A real move and not a copy file from download folder to media folder and then delete file from download folder. What are the arr \u00b6 What are the *arr ? - [CLICK TO EXPAND] Sonarr, Radarr, Lidarr, etc.","title":"Hardlinks - Atomic Moves"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#hardlinks-and-instant-moves-atomic-moves","text":"","title":"Hardlinks and Instant Moves (Atomic-Moves)"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#description","text":"Info If you\u2019re wondering why hard links aren\u2019t working or why a simple move is taking far longer than it should. Here we will try to explain it. This Guide exist out of 4 Sections This page with a short description. How to setup for your installation method. Examples what you should use for your path settings in your used applications. Check if hardlinks are working So you want one of the following ? Instant moves (Atomic-Moves) during import of the *arr (useful when using Usenet)? You don't want to use twice the storage when using torrents. (hardlinks)? You want to perma seed? Then Continue to How to setup for your installation method.","title":"Description"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#faq","text":"","title":"FAQ"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#what-are-hardlinks","text":"What are hardlinks? - [CLICK TO EXPAND] [ Short answer ] Having a file in multiple locations without using double your storage space. [ Long answer ] Hard links are a way for a copy operation to be instant and not consume space for those additional copies. Every file is a hard link: some metadata that points at blocks on the file system, which is why they're restricted to the same file system . There can be as many metadata files pointing at those blocks as needed and the blocks know how many links point to them. Once the blocks have 0 links, they're considered deleted. This means: You can delete any \"copy\" w/o impacting the others. Your download client can remove it's \"copy\" w/o impacting the library \"copy\". The library \"copy\" can be removed by Plex or Sonarr/Radarr or yourself w/o impacting the download client \"copy\". Space is only regained when all \"copies\" are deleted. Modifying the file will impact all \"copies\". For example, modifying the id3 tags of a .mp3 download after import would modify the download client \"copy\", resulting in breaking the torrent.","title":"What are Hardlinks"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#what-are-instant-moves-atomic-moves","text":"What are Instant Moves (Atomic Moves)? - [CLICK TO EXPAND] A real move and not a copy file from download folder to media folder and then delete file from download folder.","title":"What are Instant Moves (Atomic Moves)"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#what-are-the-arr","text":"What are the *arr ? - [CLICK TO EXPAND] Sonarr, Radarr, Lidarr, etc.","title":"What are the arr"},{"location":"Hardlinks/Replace-copies-with-hardlinks/","text":"Replace copies with hardlinks \u00b6 You recently switched to a proper setup that supports Hardlinks and Instant Moves (Atomic-Moves). And you would like to replace copies with hardlinks ? If your Operating System supports it you could make use of Jdupes . Usage \u00b6 I won't cover every command If you want to know what else Jdupes can do please read the manual. Tip This process can take a long time and a pretty big hit on your resources depending on how big your library is, I did notice the first time it takes longer then the second time. Not sure if this is a cache thing or something else. That's why I suggest to do it based on categories (Movies, TV, Music etc). I don't suggest to use this on a cloud based setup. jdupes [ options ] DIR1 DIR2 This will do a dry run and summarize at the end. jdupes -M -r \"/data/torrents/movies/\" \"/data/media/movies\" This will hard link all duplicate files without prompting. jdupes -L -r \"/data/torrents/movies/\" \"/data/media/movies\" Windows allows a maximum of 1023 hard links per file Warning The -Q or --quick option only reads each file once, hashes it, and performs comparisons based solely on the hashes. There is a small but significant risk of a hash collision which is the purpose of the failsafe byte-for-byte comparison that this option explicitly bypasses. Do not use it on ANY data set for which any amount of data loss is unacceptable. You have been warned! Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Replace copies with hardlinks"},{"location":"Hardlinks/Replace-copies-with-hardlinks/#replace-copies-with-hardlinks","text":"You recently switched to a proper setup that supports Hardlinks and Instant Moves (Atomic-Moves). And you would like to replace copies with hardlinks ? If your Operating System supports it you could make use of Jdupes .","title":"Replace copies with hardlinks"},{"location":"Hardlinks/Replace-copies-with-hardlinks/#usage","text":"I won't cover every command If you want to know what else Jdupes can do please read the manual. Tip This process can take a long time and a pretty big hit on your resources depending on how big your library is, I did notice the first time it takes longer then the second time. Not sure if this is a cache thing or something else. That's why I suggest to do it based on categories (Movies, TV, Music etc). I don't suggest to use this on a cloud based setup. jdupes [ options ] DIR1 DIR2 This will do a dry run and summarize at the end. jdupes -M -r \"/data/torrents/movies/\" \"/data/media/movies\" This will hard link all duplicate files without prompting. jdupes -L -r \"/data/torrents/movies/\" \"/data/media/movies\" Windows allows a maximum of 1023 hard links per file Warning The -Q or --quick option only reads each file once, hashes it, and performs comparisons based solely on the hashes. There is a small but significant risk of a hash collision which is the purpose of the failsafe byte-for-byte comparison that this option explicitly bypasses. Do not use it on ANY data set for which any amount of data loss is unacceptable. You have been warned! Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Usage"},{"location":"Hardlinks/How-to-setup-for/","text":"How to setup for \u00b6 In this section you will find several how-to's for installation of the *arrs. This is all done in a way to achieve Hardlinks and Instant Moves (Atomic-Moves) . Select your desired method of installation: Docker Dockstarter Native Synology Unraid","title":"How to setup for"},{"location":"Hardlinks/How-to-setup-for/#how-to-setup-for","text":"In this section you will find several how-to's for installation of the *arrs. This is all done in a way to achieve Hardlinks and Instant Moves (Atomic-Moves) . Select your desired method of installation: Docker Dockstarter Native Synology Unraid","title":"How to setup for"},{"location":"Hardlinks/How-to-setup-for/Docker/","text":"Docker \u00b6 Tip If you're new to dockers and want a easy setup I suggest to take a look at DockSTARTer . I've also created a short guide HERE where I explain the settings for the most used applications. The main goal of DockSTARTer is to make it quick and easy to get up and running with Docker. You may choose to rely on DockSTARTer for various changes to your Docker system or use DockSTARTer as a stepping stone and learn to do more advanced configurations. DockSTARTer was actually my first steps in to the world of dockers. Note I'm not going to explain how to get dockers installed and running, I will only explain which folder structure we recommend. The paths mentioned below refer to internal paths for the containers! External paths depends where you mounted your share or your drives. For example //data , or even /data . Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used. Folder Structure \u00b6 Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Breakdown of the Folder Structure \u00b6 Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications. Permissions \u00b6 Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data Docker-compose Example \u00b6 This is a docker-compose example based on a default Ubuntu install. The storage location used for the host is actually the same as in the container to make it easier to understand in this case /data . The appdata ( /config ) will be stored on the host in the /docker/appdata/{appname} docker-compose - [CLICK TO EXPAND] version: \"3.2\" services: radarr: container_name: radarr image: cr.hotio.dev/hotio/radarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 7878:7878 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/radarr:/config - /data:/data sonarr: container_name: sonarr image: cr.hotio.dev/hotio/sonarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8989:8989 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sonarr:/config - /data:/data bazarr: container_name: bazarr image: cr.hotio.dev/hotio/bazarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 6767:6767 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/bazarr:/config - /data/media:/data/media sabnzbd: container_name: sabnzbd image: cr.hotio.dev/hotio/sabnzbd:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8080:8080 - 9090:9090 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sabnzbd:/config - /data/usenet:/data/usenet:rw Docker-Compose Commands \u00b6 docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Docker"},{"location":"Hardlinks/How-to-setup-for/Docker/#docker","text":"Tip If you're new to dockers and want a easy setup I suggest to take a look at DockSTARTer . I've also created a short guide HERE where I explain the settings for the most used applications. The main goal of DockSTARTer is to make it quick and easy to get up and running with Docker. You may choose to rely on DockSTARTer for various changes to your Docker system or use DockSTARTer as a stepping stone and learn to do more advanced configurations. DockSTARTer was actually my first steps in to the world of dockers. Note I'm not going to explain how to get dockers installed and running, I will only explain which folder structure we recommend. The paths mentioned below refer to internal paths for the containers! External paths depends where you mounted your share or your drives. For example //data , or even /data . Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used.","title":"Docker"},{"location":"Hardlinks/How-to-setup-for/Docker/#folder-structure","text":"Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Docker/#breakdown-of-the-folder-structure","text":"","title":"Breakdown of the Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Docker/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"Hardlinks/How-to-setup-for/Docker/#usenet-clients","text":"NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"Hardlinks/How-to-setup-for/Docker/#the-arrs","text":"Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"Hardlinks/How-to-setup-for/Docker/#media-server","text":"Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications.","title":"Media Server"},{"location":"Hardlinks/How-to-setup-for/Docker/#permissions","text":"Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data","title":"Permissions"},{"location":"Hardlinks/How-to-setup-for/Docker/#docker-compose-example","text":"This is a docker-compose example based on a default Ubuntu install. The storage location used for the host is actually the same as in the container to make it easier to understand in this case /data . The appdata ( /config ) will be stored on the host in the /docker/appdata/{appname} docker-compose - [CLICK TO EXPAND] version: \"3.2\" services: radarr: container_name: radarr image: cr.hotio.dev/hotio/radarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 7878:7878 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/radarr:/config - /data:/data sonarr: container_name: sonarr image: cr.hotio.dev/hotio/sonarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8989:8989 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sonarr:/config - /data:/data bazarr: container_name: bazarr image: cr.hotio.dev/hotio/bazarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 6767:6767 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/bazarr:/config - /data/media:/data/media sabnzbd: container_name: sabnzbd image: cr.hotio.dev/hotio/sabnzbd:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8080:8080 - 9090:9090 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sabnzbd:/config - /data/usenet:/data/usenet:rw","title":"Docker-compose Example"},{"location":"Hardlinks/How-to-setup-for/Docker/#docker-compose-commands","text":"docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Docker-Compose Commands"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/","text":"Dockstarter \u00b6 Note I'm using the default paths in this example, and will keep the other paths unchanged so nothing will break if you make a mistake. Folder Structure \u00b6 We're going to use a mounted drive that we're going to use as storage for downloads and your media. In this example the mounted drive will be mounted to /mnt/ with the following folder structure. storage \u251c\u2500\u2500 downloads | \u251c\u2500\u2500 torrents \u2502 | \u251c\u2500\u2500 movies \u2502 | \u251c\u2500\u2500 music \u2502 | \u2514\u2500\u2500 tv | \u2514\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 medialibrary \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Changes to the .env \u00b6 To accomplish this we need to change first a few paths in your .env (Usually ~/.docker/compose/.env ) # Global Settings COMPOSE_HTTP_TIMEOUT=60 DOCKERCONFDIR=~/.config/appdata DOCKERGID=999 DOCKERHOSTNAME=DockSTARTer DOCKERLOGGING_MAXFILE=10 DOCKERLOGGING_MAXSIZE=200k DOCKERSTORAGEDIR=/mnt/storage PGID=1000 PUID=1000 TZ=America/Chicago Changes to your paths \u00b6 When that's all set then you will need to change the paths you're going to use in the containers from: /downloads => /storage/downloads /audiobooks => /storage/medialibrary/audiobooks /books => /storage/medialibrary/books /comics => /storage/medialibrary/comics /movies => /storage/medialibrary/movies /music => /storage/medialibrary/music /tv => /storage/medialibrary/tv DockSTARTer Examples \u00b6 Info The screenshots in the examples are using the following root path /storage Sonarr Radarr SABnzbd NZBGet qBittorrent Deluge ruTorrent Sonarr Examples - [CLICK TO EXPAND] Sonarr \u00b6 Settings => Media Management => Importing Settings => Media Management => Root Folders Series => Add New Radarr Examples - [CLICK TO EXPAND] Radarr \u00b6 Settings => Media Management => Importing Settings => Media Management => Root Folders Movies => Add New SABnzbd Examples - [CLICK TO EXPAND] SABnzbd \u00b6 SABnzbd config => Folders SABnzbd config => Categories NZBGet Examples - [CLICK TO EXPAND] NZBGet \u00b6 Settings => PATHS Settings => CATEGORIES qBittorrent Examples - [CLICK TO EXPAND] qBittorrent \u00b6 Options => Downloads Deluge Example - [CLICK TO EXPAND] Deluge \u00b6 Preferences => Downloads ruTorrent Examples - [CLICK TO EXPAND] ruTorrent \u00b6 ../config/rtorrent/config/rtorrent.rc (path to your appdata) Settings => Downloads Settings => Autotools Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Dockstarter"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#dockstarter","text":"Note I'm using the default paths in this example, and will keep the other paths unchanged so nothing will break if you make a mistake.","title":"Dockstarter"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#folder-structure","text":"We're going to use a mounted drive that we're going to use as storage for downloads and your media. In this example the mounted drive will be mounted to /mnt/ with the following folder structure. storage \u251c\u2500\u2500 downloads | \u251c\u2500\u2500 torrents \u2502 | \u251c\u2500\u2500 movies \u2502 | \u251c\u2500\u2500 music \u2502 | \u2514\u2500\u2500 tv | \u2514\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 medialibrary \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#changes-to-the-env","text":"To accomplish this we need to change first a few paths in your .env (Usually ~/.docker/compose/.env ) # Global Settings COMPOSE_HTTP_TIMEOUT=60 DOCKERCONFDIR=~/.config/appdata DOCKERGID=999 DOCKERHOSTNAME=DockSTARTer DOCKERLOGGING_MAXFILE=10 DOCKERLOGGING_MAXSIZE=200k DOCKERSTORAGEDIR=/mnt/storage PGID=1000 PUID=1000 TZ=America/Chicago","title":"Changes to the .env"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#changes-to-your-paths","text":"When that's all set then you will need to change the paths you're going to use in the containers from: /downloads => /storage/downloads /audiobooks => /storage/medialibrary/audiobooks /books => /storage/medialibrary/books /comics => /storage/medialibrary/comics /movies => /storage/medialibrary/movies /music => /storage/medialibrary/music /tv => /storage/medialibrary/tv","title":"Changes to your paths"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#dockstarter-examples","text":"Info The screenshots in the examples are using the following root path /storage Sonarr Radarr SABnzbd NZBGet qBittorrent Deluge ruTorrent Sonarr Examples - [CLICK TO EXPAND]","title":"DockSTARTer Examples"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#sonarr","text":"Settings => Media Management => Importing Settings => Media Management => Root Folders Series => Add New Radarr Examples - [CLICK TO EXPAND]","title":"Sonarr"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#radarr","text":"Settings => Media Management => Importing Settings => Media Management => Root Folders Movies => Add New SABnzbd Examples - [CLICK TO EXPAND]","title":"Radarr"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#sabnzbd","text":"SABnzbd config => Folders SABnzbd config => Categories NZBGet Examples - [CLICK TO EXPAND]","title":"SABnzbd"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#nzbget","text":"Settings => PATHS Settings => CATEGORIES qBittorrent Examples - [CLICK TO EXPAND]","title":"NZBGet"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#qbittorrent","text":"Options => Downloads Deluge Example - [CLICK TO EXPAND]","title":"qBittorrent"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#deluge","text":"Preferences => Downloads ruTorrent Examples - [CLICK TO EXPAND]","title":"Deluge"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#rutorrent","text":"../config/rtorrent/config/rtorrent.rc (path to your appdata) Settings => Downloads Settings => Autotools Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"ruTorrent"},{"location":"Hardlinks/How-to-setup-for/Native/","text":"Native \u00b6 Note I'm not going to explain how to install all the applications, I will only explain which folder structure we recommend. Folder Structure \u00b6 Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Breakdown of the Folder Structure \u00b6 Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications. Permissions \u00b6 Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Native"},{"location":"Hardlinks/How-to-setup-for/Native/#native","text":"Note I'm not going to explain how to install all the applications, I will only explain which folder structure we recommend.","title":"Native"},{"location":"Hardlinks/How-to-setup-for/Native/#folder-structure","text":"Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Native/#breakdown-of-the-folder-structure","text":"","title":"Breakdown of the Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Native/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"Hardlinks/How-to-setup-for/Native/#usenet-clients","text":"NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"Hardlinks/How-to-setup-for/Native/#the-arrs","text":"Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"Hardlinks/How-to-setup-for/Native/#media-server","text":"Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications.","title":"Media Server"},{"location":"Hardlinks/How-to-setup-for/Native/#permissions","text":"Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Permissions"},{"location":"Hardlinks/How-to-setup-for/Synology/","text":"Synology \u00b6 Note Being I don't have a Synology myself and I kind of hate the Synology GUI for the dockers, I'm doing this with the use of docker-compose through a terminal. This is faster then the GUI and after installing, it shows up in the Docker GUI. Thanks to faxity for the initial compose that I used to create the Synology Guide. And a very big thanks to Bokkoman and BZwart that updated this Guide for DSM 7 and also offered their help on discord as Synology Support Team. Introduction \u00b6 This page will provide you with guidance on how to install several Docker images to your Synology system. We highly recommend to read the full guide, that way you have a better understanding of what you do, in case you later decide to make changes. Automated Script \u00b6 Automated script ( Use this script at your own risk ) - [CLICK TO EXPAND] Warning Though, we offer a short way out. This is intended as a quick way to do everything that is written on this page within one script. The script is new and only tested on Synology DSM7. We are not held reliable if anything breaks on your system. Use at your own risk To get this working you will need to enable terminal access (SSH). To enable this on your Synology take a look HERE . When you enabled the terminal access (SSH) run the following commands and follow the onscreen questions. curl -sL git.io/syno-script > ~/syno-script sudo bash ~/syno-script Install Docker \u00b6 You need to install Docker from the Package Center . This should also create a share named docker , check File Station if it is present. Create the main share \u00b6 Attention To get Hardlinks and Atomic-Moves working with your Synology you will need to make use of ONE share with subfolders. We will use a new share named data (lowercase) for all your library media. Later in this guide, we will fill this share with subfolders. To create a new share: Control Panel > Shared Folder > click Create > choose Create Shared Folder Name this shared folder data . You can disable the trash can. Click next until you are done. Create a user \u00b6 For this, we are going to create a new user that only has access to the share(s) that we use for this guide. Go to Control Panel > User & Group In the User section, create a new user. Name it whatever you like, but for this guide we will use docker . Fill out the rest of the information, generate a password or type your own. Click next, you will now be able to select which group this user will belong to, it should only be users . Click Next . Assign shared folder permissions \u00b6 In this screen you will be able to select which Shares this user will have access to, click No Access on the top, this will deny all access. Now only select Read/Write on the shares docker and data . Click Next until you reach Assign application permissions Assign application permissions \u00b6 In this screen you will be able to select which application this user will have access to, Check Deny for all applications. Continue to click Next until you are finished. SSH \u00b6 You are mostly going to use the terminal. Some parts will need the Synology web GUI. To enable terminal, you need to enable SSH in the Synology Settings. Control Panel > Terminal & SNMP > Enable SSH service Then use a program like Putty to SSH into your Synology. Enter the login information of a Synology user account that has admin priveliges, as only members of the 'administrators' user group are able to use SSH. If you get a popup asking if you want to trust the key, Just press OK or ACCEPT PUID and PGID \u00b6 In order for the Docker container to access the shares on the Synology, we need to know the user ID (PUID) and group ID (PGID) from the docker user we just created. Go into your terminal app, login to your synology ssh. Once logged in type id $user . Change $user to the newly created username docker . This will show you the UID (aka PUID). Which in this screenshot is 1035 for the docker user and the GID (aka PGID) which is 100 for the users group. Remember these values for later use. Attention It is not recommended to use (anymore) your admin/main user account. That is why we just created a new user. Folder Structure \u00b6 For this example we're going to make use of the share called data . On the host (Synology) terminal you will need to add /volume1/ before it. So /volume1/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The library folder has nicely named tv , movies and music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self. I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Breakdown of the Folder Structure \u00b6 Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications. Create the needed subfolder \u00b6 Here we will create the needed subfolders for your media library and also for your preferred download client. If you use both then run both commands If you use usenet \u00b6 mkdir -p /volume1/data/ { usenet/ { tv,movies,music } ,media/ { tv,movies,music }} If you use torrents \u00b6 mkdir -p /volume1/data/ { torrents/ { tv,movies,music } ,media/ { tv,movies,music }} Appdata \u00b6 Your appdata will be stored in /volume1/docker/appdata/{appname} These {appname} sub folders you need to create your self. ( This is a limitation of the Synology ) We're going to do this in Putty or a similar program. mkdir -p /volume1/docker/appdata/ { radarr,sonarr,bazarr,plex,pullio } You can add your own sub folders for your download client(s) using the command above, by adding the name to the command. So your appdata folder will look like this. ls -al /volume1/docker/appdata docker \u2514\u2500\u2500 appdata \u251c\u2500\u2500 radarr \u251c\u2500\u2500 sonarr \u251c\u2500\u2500 bazarr \u251c\u2500\u2500 plex \u251c\u2500\u2500 pullio \u2514\u2500\u2500 (your download client, i.e. nzbget; sabnzbd; qbittorrent) Needed files \u00b6 Now we are ready to move to the installation of containers. For this, we need two files: docker-compose.yml .env We will start with downloading the docker-compose.yml file Download this docker-compose.yml to your /volume1/docker/appdata location so you got your important stuff together. Or use the command below: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/docker-compose.yml -P /volume1/docker/appdata/ Whats included and Whats not included \u00b6 What's included and What's not included - [CLICK TO EXPAND] This docker-compose file will have the following docker containers included. Radarr Sonarr Bazarr (Subtitle searcher and downloader) Plex What's not included (and where are the download clients?). I didn't add a download client to it, because it depends on what you prefer (usenet/torrent) and which client you prefer, so I created a new Repository on Github where I provide and maintain some templates that are ready to use with the main docker-compose.yml . The only thing you need to do is copy/paste what's inside the .yml file in to the main docker-compose.yml , the template also has the command what you need to use to create the appdata folder that we explained earlier. Second we will download the .env file Download this .env to your /volume1/docker/appdata location so you got your important stuff together. Or use this command: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/.env -P /volume1/docker/appdata/ Attention MAKE SURE THE FILE KEEPS THE ORIGINAL NAME .env WITH THE DOT BEFORE IT Changes and preparations \u00b6 Tip If you need to edit docker-compose.yml or the .env file we advise to use Notepad++ or Visual Studio Code The .env file we downloaded holds the variables/information you need to change in order for everything to work. I added explanations in the .env file. DOCKERCONFDIR (only change this if you know what you're doing and decide to use another path than this guide used) DOCKERDATADIR (only change this if you know what you're doing and decide to use another path than this guide used) PUID/PGID (this info you got earlier from HERE TZ (Change to your timezone, can be found HERE Install and Create a task scheduler for Pullio, so your containers stay up to date. The .env holds more variables/information for other containers you don't need to remove those variables and will be only used when you install the other containers. Pullio - Auto update docker-compose the correct way \u00b6 Pullio allows you to automatically update your containers. And send you a notification through various means. In my setup, I use a Discord Webhook. First you need to download Pullio sudo curl -fsSL \"https://raw.githubusercontent.com/hotio/pullio/master/pullio.sh\" -o /usr/local/bin/pullio sudo chmod +x /usr/local/bin/pullio For Pullio to work, you will need to create in your Task Scheduler a \"Scheduled Task\" that runs for example at 4am at night with root privileges. Control Panel > Task Scheduler > click Create > choose Scheduled task - user defined script Give the task a name so you know what it does. Choose user root . In the Schedule tab choose whenever you want it to check for updates. At Task Settings tab, add the following line in the Run Command section: /usr/local/bin/pullio > /volume1/docker/appdata/pullio/pullio.log 2 > & 1 It can be frustrating to test the script if no docker image updates are available, for that you can run command sudo pullio --debug and the script will behave as if an update is available. If you have set to receive notifications, you should receive them. More info about Pullio HERE Permissions \u00b6 Now we need to make sure that the newly created files and folders have the correct permissions. Note If you're using a different user than docker (the user generated in the beginning), then you need to change the docker:users part in the commands below!!! sudo chown -R docker:users /volume1/data /volume1/docker sudo chmod -R a = ,a+rX,u+w,g+w /volume1/data /volume1/docker Note If you copy files from a different library into the newly created library, you need to rerun these commands. !!! Run the Docker Compose \u00b6 Important make sure you delete/remove all your existing dockers from the Docker GUI and also remove your native installs (in Package Center) of these applications !!! If you had previous installed apps, make a backup of their config folders. When you did all the above steps you only need to run the following commands: cd /volume1/docker/appdata sudo docker-compose up -d You will notice that all the images will be downloaded, after that the containers will be started. If you get a error then look at the error what it says and try to fix it. If you still got issues then put your used docker-compose.yml on 0bin and join the guides-discord here and provide the pastebin link with the error, have patience because of timezone differences. Don't forget to look at the Examples how to setup the paths inside your applications. Attention If you need to do any changes, only edit the docker-compose.yml file. To activate the changes, run the command sudo docker-compose -f /volume1/docker/appdata/docker-compose.yml up -d again. Any changes you do/did in the GUI will be reverted when you run the docker-compose command. Just don't use the GUI, only for information purposes !!! Docker-Compose Commands \u00b6 docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Synology"},{"location":"Hardlinks/How-to-setup-for/Synology/#synology","text":"Note Being I don't have a Synology myself and I kind of hate the Synology GUI for the dockers, I'm doing this with the use of docker-compose through a terminal. This is faster then the GUI and after installing, it shows up in the Docker GUI. Thanks to faxity for the initial compose that I used to create the Synology Guide. And a very big thanks to Bokkoman and BZwart that updated this Guide for DSM 7 and also offered their help on discord as Synology Support Team.","title":"Synology"},{"location":"Hardlinks/How-to-setup-for/Synology/#introduction","text":"This page will provide you with guidance on how to install several Docker images to your Synology system. We highly recommend to read the full guide, that way you have a better understanding of what you do, in case you later decide to make changes.","title":"Introduction"},{"location":"Hardlinks/How-to-setup-for/Synology/#automated-script","text":"Automated script ( Use this script at your own risk ) - [CLICK TO EXPAND] Warning Though, we offer a short way out. This is intended as a quick way to do everything that is written on this page within one script. The script is new and only tested on Synology DSM7. We are not held reliable if anything breaks on your system. Use at your own risk To get this working you will need to enable terminal access (SSH). To enable this on your Synology take a look HERE . When you enabled the terminal access (SSH) run the following commands and follow the onscreen questions. curl -sL git.io/syno-script > ~/syno-script sudo bash ~/syno-script","title":"Automated Script"},{"location":"Hardlinks/How-to-setup-for/Synology/#install-docker","text":"You need to install Docker from the Package Center . This should also create a share named docker , check File Station if it is present.","title":"Install Docker"},{"location":"Hardlinks/How-to-setup-for/Synology/#create-the-main-share","text":"Attention To get Hardlinks and Atomic-Moves working with your Synology you will need to make use of ONE share with subfolders. We will use a new share named data (lowercase) for all your library media. Later in this guide, we will fill this share with subfolders. To create a new share: Control Panel > Shared Folder > click Create > choose Create Shared Folder Name this shared folder data . You can disable the trash can. Click next until you are done.","title":"Create the main share"},{"location":"Hardlinks/How-to-setup-for/Synology/#create-a-user","text":"For this, we are going to create a new user that only has access to the share(s) that we use for this guide. Go to Control Panel > User & Group In the User section, create a new user. Name it whatever you like, but for this guide we will use docker . Fill out the rest of the information, generate a password or type your own. Click next, you will now be able to select which group this user will belong to, it should only be users . Click Next .","title":"Create a user"},{"location":"Hardlinks/How-to-setup-for/Synology/#assign-shared-folder-permissions","text":"In this screen you will be able to select which Shares this user will have access to, click No Access on the top, this will deny all access. Now only select Read/Write on the shares docker and data . Click Next until you reach Assign application permissions","title":"Assign shared folder permissions"},{"location":"Hardlinks/How-to-setup-for/Synology/#assign-application-permissions","text":"In this screen you will be able to select which application this user will have access to, Check Deny for all applications. Continue to click Next until you are finished.","title":"Assign application permissions"},{"location":"Hardlinks/How-to-setup-for/Synology/#ssh","text":"You are mostly going to use the terminal. Some parts will need the Synology web GUI. To enable terminal, you need to enable SSH in the Synology Settings. Control Panel > Terminal & SNMP > Enable SSH service Then use a program like Putty to SSH into your Synology. Enter the login information of a Synology user account that has admin priveliges, as only members of the 'administrators' user group are able to use SSH. If you get a popup asking if you want to trust the key, Just press OK or ACCEPT","title":"SSH"},{"location":"Hardlinks/How-to-setup-for/Synology/#puid-and-pgid","text":"In order for the Docker container to access the shares on the Synology, we need to know the user ID (PUID) and group ID (PGID) from the docker user we just created. Go into your terminal app, login to your synology ssh. Once logged in type id $user . Change $user to the newly created username docker . This will show you the UID (aka PUID). Which in this screenshot is 1035 for the docker user and the GID (aka PGID) which is 100 for the users group. Remember these values for later use. Attention It is not recommended to use (anymore) your admin/main user account. That is why we just created a new user.","title":"PUID and PGID"},{"location":"Hardlinks/How-to-setup-for/Synology/#folder-structure","text":"For this example we're going to make use of the share called data . On the host (Synology) terminal you will need to add /volume1/ before it. So /volume1/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The library folder has nicely named tv , movies and music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self. I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Synology/#breakdown-of-the-folder-structure","text":"","title":"Breakdown of the Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Synology/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"Hardlinks/How-to-setup-for/Synology/#usenet-clients","text":"NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"Hardlinks/How-to-setup-for/Synology/#the-arrs","text":"Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"Hardlinks/How-to-setup-for/Synology/#media-server","text":"Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications.","title":"Media Server"},{"location":"Hardlinks/How-to-setup-for/Synology/#create-the-needed-subfolder","text":"Here we will create the needed subfolders for your media library and also for your preferred download client. If you use both then run both commands","title":"Create the needed subfolder"},{"location":"Hardlinks/How-to-setup-for/Synology/#if-you-use-usenet","text":"mkdir -p /volume1/data/ { usenet/ { tv,movies,music } ,media/ { tv,movies,music }}","title":"If you use usenet"},{"location":"Hardlinks/How-to-setup-for/Synology/#if-you-use-torrents","text":"mkdir -p /volume1/data/ { torrents/ { tv,movies,music } ,media/ { tv,movies,music }}","title":"If you use torrents"},{"location":"Hardlinks/How-to-setup-for/Synology/#appdata","text":"Your appdata will be stored in /volume1/docker/appdata/{appname} These {appname} sub folders you need to create your self. ( This is a limitation of the Synology ) We're going to do this in Putty or a similar program. mkdir -p /volume1/docker/appdata/ { radarr,sonarr,bazarr,plex,pullio } You can add your own sub folders for your download client(s) using the command above, by adding the name to the command. So your appdata folder will look like this. ls -al /volume1/docker/appdata docker \u2514\u2500\u2500 appdata \u251c\u2500\u2500 radarr \u251c\u2500\u2500 sonarr \u251c\u2500\u2500 bazarr \u251c\u2500\u2500 plex \u251c\u2500\u2500 pullio \u2514\u2500\u2500 (your download client, i.e. nzbget; sabnzbd; qbittorrent)","title":"Appdata"},{"location":"Hardlinks/How-to-setup-for/Synology/#needed-files","text":"Now we are ready to move to the installation of containers. For this, we need two files: docker-compose.yml .env We will start with downloading the docker-compose.yml file Download this docker-compose.yml to your /volume1/docker/appdata location so you got your important stuff together. Or use the command below: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/docker-compose.yml -P /volume1/docker/appdata/","title":"Needed files"},{"location":"Hardlinks/How-to-setup-for/Synology/#whats-included-and-whats-not-included","text":"What's included and What's not included - [CLICK TO EXPAND] This docker-compose file will have the following docker containers included. Radarr Sonarr Bazarr (Subtitle searcher and downloader) Plex What's not included (and where are the download clients?). I didn't add a download client to it, because it depends on what you prefer (usenet/torrent) and which client you prefer, so I created a new Repository on Github where I provide and maintain some templates that are ready to use with the main docker-compose.yml . The only thing you need to do is copy/paste what's inside the .yml file in to the main docker-compose.yml , the template also has the command what you need to use to create the appdata folder that we explained earlier. Second we will download the .env file Download this .env to your /volume1/docker/appdata location so you got your important stuff together. Or use this command: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/.env -P /volume1/docker/appdata/ Attention MAKE SURE THE FILE KEEPS THE ORIGINAL NAME .env WITH THE DOT BEFORE IT","title":"Whats included and Whats not included"},{"location":"Hardlinks/How-to-setup-for/Synology/#changes-and-preparations","text":"Tip If you need to edit docker-compose.yml or the .env file we advise to use Notepad++ or Visual Studio Code The .env file we downloaded holds the variables/information you need to change in order for everything to work. I added explanations in the .env file. DOCKERCONFDIR (only change this if you know what you're doing and decide to use another path than this guide used) DOCKERDATADIR (only change this if you know what you're doing and decide to use another path than this guide used) PUID/PGID (this info you got earlier from HERE TZ (Change to your timezone, can be found HERE Install and Create a task scheduler for Pullio, so your containers stay up to date. The .env holds more variables/information for other containers you don't need to remove those variables and will be only used when you install the other containers.","title":"Changes and preparations"},{"location":"Hardlinks/How-to-setup-for/Synology/#pullio-auto-update-docker-compose-the-correct-way","text":"Pullio allows you to automatically update your containers. And send you a notification through various means. In my setup, I use a Discord Webhook. First you need to download Pullio sudo curl -fsSL \"https://raw.githubusercontent.com/hotio/pullio/master/pullio.sh\" -o /usr/local/bin/pullio sudo chmod +x /usr/local/bin/pullio For Pullio to work, you will need to create in your Task Scheduler a \"Scheduled Task\" that runs for example at 4am at night with root privileges. Control Panel > Task Scheduler > click Create > choose Scheduled task - user defined script Give the task a name so you know what it does. Choose user root . In the Schedule tab choose whenever you want it to check for updates. At Task Settings tab, add the following line in the Run Command section: /usr/local/bin/pullio > /volume1/docker/appdata/pullio/pullio.log 2 > & 1 It can be frustrating to test the script if no docker image updates are available, for that you can run command sudo pullio --debug and the script will behave as if an update is available. If you have set to receive notifications, you should receive them. More info about Pullio HERE","title":"Pullio - Auto update docker-compose the correct way"},{"location":"Hardlinks/How-to-setup-for/Synology/#permissions","text":"Now we need to make sure that the newly created files and folders have the correct permissions. Note If you're using a different user than docker (the user generated in the beginning), then you need to change the docker:users part in the commands below!!! sudo chown -R docker:users /volume1/data /volume1/docker sudo chmod -R a = ,a+rX,u+w,g+w /volume1/data /volume1/docker Note If you copy files from a different library into the newly created library, you need to rerun these commands. !!!","title":"Permissions"},{"location":"Hardlinks/How-to-setup-for/Synology/#run-the-docker-compose","text":"Important make sure you delete/remove all your existing dockers from the Docker GUI and also remove your native installs (in Package Center) of these applications !!! If you had previous installed apps, make a backup of their config folders. When you did all the above steps you only need to run the following commands: cd /volume1/docker/appdata sudo docker-compose up -d You will notice that all the images will be downloaded, after that the containers will be started. If you get a error then look at the error what it says and try to fix it. If you still got issues then put your used docker-compose.yml on 0bin and join the guides-discord here and provide the pastebin link with the error, have patience because of timezone differences. Don't forget to look at the Examples how to setup the paths inside your applications. Attention If you need to do any changes, only edit the docker-compose.yml file. To activate the changes, run the command sudo docker-compose -f /volume1/docker/appdata/docker-compose.yml up -d again. Any changes you do/did in the GUI will be reverted when you run the docker-compose command. Just don't use the GUI, only for information purposes !!!","title":"Run the Docker Compose"},{"location":"Hardlinks/How-to-setup-for/Synology/#docker-compose-commands","text":"docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Docker-Compose Commands"},{"location":"Hardlinks/How-to-setup-for/Unraid/","text":"Unraid \u00b6 Note The first thing you need to do is forget the suggested paths from the Spaceinvader One YouTube Tutorials, and don't use the predefined paths from the unraid templates. (Spaceinvader One YouTube guides are great to learn how to start with unraid or how to setup certain applications, and yes I did and still do use them. Probably the main reason why he's using those path is because they are predefined in the template) Create the main share \u00b6 Attention To get Hardlinks and Atomic-Moves working with Unraid you will need to make use of ONE share with subfolders. For this example I'm using my own setup and preferred share data . Go to your dashboard and on the top select shares select add share . use data if you got a cache drive and want to make use of it put it on Yes or keep it disabled (Hardlinks will stay in tact if you're using the cache) click on ADD SHARE Note Keep in mind regarding the use of the Cache drive, The mover can't move files that are in use, like when seeding with torrents. You will need to shutdown your client or stop/pause the torrents so the mover can move them to your Array. With Usenet you won't have any issues. Folder Structure \u00b6 On the host (Unraid) you will need to add /mnt/user before it. So /mnt/user/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self, you can use krusader or winscp to create them or any other way you prefer. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv I'm using lower case on all folder on purpose, being Linux is case sensitive. Breakdown of the Folder Structure \u00b6 Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used. Setting up the containers \u00b6 After you created all the needed folders it's time to setup the paths in the docker containers. Go to your dashboard and select your docker container you want to edit or if you're starting fresh add the docker containers you want to use or prefer. Unraid makes it actually pretty clear what's the Host Path and what's the Container Path. Container Path: => The path that will be used inside the container. Host Path: => The path on your Unraid Server (The Host). Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent Container Path: => /data/torrents/ Host Path: => /mnt/user/data/torrents/ Info The reason why we use /data/torrents/ for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd Container Path: => /data/usenet/ Host Path: => /mnt/user/data/usenet/ Info The reason why we use /data/usenet/ for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Container Path: => /data Host Path: => /mnt/user/data/ Info Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Container Path: => /data/media Host Path: => /mnt/user/data/media/ Info Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Final Result \u00b6 Don't forget to look at the Examples how to setup the paths inside your applications. Video Tutorial \u00b6 Big Thanks to IBRACORP for noticing this Guide and creating a Video covering this unraid section. The reason why I added the video to the end is because I want the user to actually learn and understand why it's recommended to use this folder structure, before going straight to the YouTube video. Please don't forget to check out his other Unraid Video's HERE Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Unraid"},{"location":"Hardlinks/How-to-setup-for/Unraid/#unraid","text":"Note The first thing you need to do is forget the suggested paths from the Spaceinvader One YouTube Tutorials, and don't use the predefined paths from the unraid templates. (Spaceinvader One YouTube guides are great to learn how to start with unraid or how to setup certain applications, and yes I did and still do use them. Probably the main reason why he's using those path is because they are predefined in the template)","title":"Unraid"},{"location":"Hardlinks/How-to-setup-for/Unraid/#create-the-main-share","text":"Attention To get Hardlinks and Atomic-Moves working with Unraid you will need to make use of ONE share with subfolders. For this example I'm using my own setup and preferred share data . Go to your dashboard and on the top select shares select add share . use data if you got a cache drive and want to make use of it put it on Yes or keep it disabled (Hardlinks will stay in tact if you're using the cache) click on ADD SHARE Note Keep in mind regarding the use of the Cache drive, The mover can't move files that are in use, like when seeding with torrents. You will need to shutdown your client or stop/pause the torrents so the mover can move them to your Array. With Usenet you won't have any issues.","title":"Create the main share"},{"location":"Hardlinks/How-to-setup-for/Unraid/#folder-structure","text":"On the host (Unraid) you will need to add /mnt/user before it. So /mnt/user/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self, you can use krusader or winscp to create them or any other way you prefer. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv I'm using lower case on all folder on purpose, being Linux is case sensitive.","title":"Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Unraid/#breakdown-of-the-folder-structure","text":"Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used.","title":"Breakdown of the Folder Structure"},{"location":"Hardlinks/How-to-setup-for/Unraid/#setting-up-the-containers","text":"After you created all the needed folders it's time to setup the paths in the docker containers. Go to your dashboard and select your docker container you want to edit or if you're starting fresh add the docker containers you want to use or prefer. Unraid makes it actually pretty clear what's the Host Path and what's the Container Path. Container Path: => The path that will be used inside the container. Host Path: => The path on your Unraid Server (The Host).","title":"Setting up the containers"},{"location":"Hardlinks/How-to-setup-for/Unraid/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent Container Path: => /data/torrents/ Host Path: => /mnt/user/data/torrents/ Info The reason why we use /data/torrents/ for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"Hardlinks/How-to-setup-for/Unraid/#usenet-clients","text":"NZBGet or SABnzbd Container Path: => /data/usenet/ Host Path: => /mnt/user/data/usenet/ Info The reason why we use /data/usenet/ for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"Hardlinks/How-to-setup-for/Unraid/#the-arrs","text":"Sonarr, Radarr and Lidarr Container Path: => /data Host Path: => /mnt/user/data/ Info Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"Hardlinks/How-to-setup-for/Unraid/#media-server","text":"Plex, Emby, JellyFin and Bazarr Container Path: => /data/media Host Path: => /mnt/user/data/media/ Info Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Media Server"},{"location":"Hardlinks/How-to-setup-for/Unraid/#final-result","text":"Don't forget to look at the Examples how to setup the paths inside your applications.","title":"Final Result"},{"location":"Hardlinks/How-to-setup-for/Unraid/#video-tutorial","text":"Big Thanks to IBRACORP for noticing this Guide and creating a Video covering this unraid section. The reason why I added the video to the end is because I want the user to actually learn and understand why it's recommended to use this folder structure, before going straight to the YouTube video. Please don't forget to check out his other Unraid Video's HERE Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Video Tutorial"},{"location":"How-to-setup-for/","text":"How to setup for \u00b6 In this section you will find several how-to's for installation of the *arrs. This is all done in a way to achieve Hardlinks and Instant Moves (Atomic-Moves) . Select your desired method of installation: Docker Dockstarter Native Synology Unraid","title":"How to setup for"},{"location":"How-to-setup-for/#how-to-setup-for","text":"In this section you will find several how-to's for installation of the *arrs. This is all done in a way to achieve Hardlinks and Instant Moves (Atomic-Moves) . Select your desired method of installation: Docker Dockstarter Native Synology Unraid","title":"How to setup for"},{"location":"How-to-setup-for/Docker/","text":"Docker \u00b6 Tip If you're new to dockers and want a easy setup I suggest to take a look at DockSTARTer . I've also created a short guide HERE where I explain the settings for the most used applications. The main goal of DockSTARTer is to make it quick and easy to get up and running with Docker. You may choose to rely on DockSTARTer for various changes to your Docker system or use DockSTARTer as a stepping stone and learn to do more advanced configurations. DockSTARTer was actually my first steps in to the world of dockers. Note I'm not going to explain how to get dockers installed and running, I will only explain which folder structure we recommend. The paths mentioned below refer to internal paths for the containers! External paths depends where you mounted your share or your drives. For example //data , or even /data . Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used. Folder Structure \u00b6 Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Breakdown of the Folder Structure \u00b6 Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications. Permissions \u00b6 Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data Docker-compose Example \u00b6 This is a docker-compose example based on a default Ubuntu install. The storage location used for the host is actually the same as in the container to make it easier to understand in this case /data . The appdata ( /config ) will be stored on the host in the /docker/appdata/{appname} docker-compose - [CLICK TO EXPAND] version: \"3.2\" services: radarr: container_name: radarr image: cr.hotio.dev/hotio/radarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 7878:7878 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/radarr:/config - /data:/data sonarr: container_name: sonarr image: cr.hotio.dev/hotio/sonarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8989:8989 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sonarr:/config - /data:/data bazarr: container_name: bazarr image: cr.hotio.dev/hotio/bazarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 6767:6767 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/bazarr:/config - /data/media:/data/media sabnzbd: container_name: sabnzbd image: cr.hotio.dev/hotio/sabnzbd:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8080:8080 - 9090:9090 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sabnzbd:/config - /data/usenet:/data/usenet:rw Docker-Compose Commands \u00b6 docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Docker"},{"location":"How-to-setup-for/Docker/#docker","text":"Tip If you're new to dockers and want a easy setup I suggest to take a look at DockSTARTer . I've also created a short guide HERE where I explain the settings for the most used applications. The main goal of DockSTARTer is to make it quick and easy to get up and running with Docker. You may choose to rely on DockSTARTer for various changes to your Docker system or use DockSTARTer as a stepping stone and learn to do more advanced configurations. DockSTARTer was actually my first steps in to the world of dockers. Note I'm not going to explain how to get dockers installed and running, I will only explain which folder structure we recommend. The paths mentioned below refer to internal paths for the containers! External paths depends where you mounted your share or your drives. For example //data , or even /data . Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used.","title":"Docker"},{"location":"How-to-setup-for/Docker/#folder-structure","text":"Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"How-to-setup-for/Docker/#breakdown-of-the-folder-structure","text":"","title":"Breakdown of the Folder Structure"},{"location":"How-to-setup-for/Docker/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"How-to-setup-for/Docker/#usenet-clients","text":"NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"How-to-setup-for/Docker/#the-arrs","text":"Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"How-to-setup-for/Docker/#media-server","text":"Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications.","title":"Media Server"},{"location":"How-to-setup-for/Docker/#permissions","text":"Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data","title":"Permissions"},{"location":"How-to-setup-for/Docker/#docker-compose-example","text":"This is a docker-compose example based on a default Ubuntu install. The storage location used for the host is actually the same as in the container to make it easier to understand in this case /data . The appdata ( /config ) will be stored on the host in the /docker/appdata/{appname} docker-compose - [CLICK TO EXPAND] version: \"3.2\" services: radarr: container_name: radarr image: cr.hotio.dev/hotio/radarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 7878:7878 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/radarr:/config - /data:/data sonarr: container_name: sonarr image: cr.hotio.dev/hotio/sonarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8989:8989 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sonarr:/config - /data:/data bazarr: container_name: bazarr image: cr.hotio.dev/hotio/bazarr:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 6767:6767 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/bazarr:/config - /data/media:/data/media sabnzbd: container_name: sabnzbd image: cr.hotio.dev/hotio/sabnzbd:latest restart: unless-stopped logging: driver: json-file network_mode: bridge ports: - 8080:8080 - 9090:9090 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Amsterdam volumes: - /etc/localtime:/etc/localtime:ro - /docker/appdata/sabnzbd:/config - /data/usenet:/data/usenet:rw","title":"Docker-compose Example"},{"location":"How-to-setup-for/Docker/#docker-compose-commands","text":"docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Docker-Compose Commands"},{"location":"How-to-setup-for/Dockstarter/","text":"Dockstarter \u00b6 Note I'm using the default paths in this example, and will keep the other paths unchanged so nothing will break if you make a mistake. Folder Structure \u00b6 We're going to use a mounted drive that we're going to use as storage for downloads and your media. In this example the mounted drive will be mounted to /mnt/ with the following folder structure. storage \u251c\u2500\u2500 downloads | \u251c\u2500\u2500 torrents \u2502 | \u251c\u2500\u2500 movies \u2502 | \u251c\u2500\u2500 music \u2502 | \u2514\u2500\u2500 tv | \u2514\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 medialibrary \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Changes to the .env \u00b6 To accomplish this we need to change first a few paths in your .env (Usually ~/.docker/compose/.env ) # Global Settings COMPOSE_HTTP_TIMEOUT=60 DOCKERCONFDIR=~/.config/appdata DOCKERGID=999 DOCKERHOSTNAME=DockSTARTer DOCKERLOGGING_MAXFILE=10 DOCKERLOGGING_MAXSIZE=200k DOCKERSTORAGEDIR=/mnt/storage PGID=1000 PUID=1000 TZ=America/Chicago Changes to your paths \u00b6 When that's all set then you will need to change the paths you're going to use in the containers from: /downloads => /storage/downloads /audiobooks => /storage/medialibrary/audiobooks /books => /storage/medialibrary/books /comics => /storage/medialibrary/comics /movies => /storage/medialibrary/movies /music => /storage/medialibrary/music /tv => /storage/medialibrary/tv DockSTARTer Examples \u00b6 Info The screenshots in the examples are using the following root path /storage Sonarr Radarr SABnzbd NZBGet qBittorrent Deluge ruTorrent Sonarr Examples - [CLICK TO EXPAND] Sonarr \u00b6 Settings => Media Management => Importing Settings => Media Management => Root Folders Series => Add New Radarr Examples - [CLICK TO EXPAND] Radarr \u00b6 Settings => Media Management => Importing Settings => Media Management => Root Folders Movies => Add New SABnzbd Examples - [CLICK TO EXPAND] SABnzbd \u00b6 SABnzbd config => Folders SABnzbd config => Categories NZBGet Examples - [CLICK TO EXPAND] NZBGet \u00b6 Settings => PATHS Settings => CATEGORIES qBittorrent Examples - [CLICK TO EXPAND] qBittorrent \u00b6 Options => Downloads Deluge Example - [CLICK TO EXPAND] Deluge \u00b6 Preferences => Downloads ruTorrent Examples - [CLICK TO EXPAND] ruTorrent \u00b6 ../config/rtorrent/config/rtorrent.rc (path to your appdata) Settings => Downloads Settings => Autotools Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Dockstarter"},{"location":"How-to-setup-for/Dockstarter/#dockstarter","text":"Note I'm using the default paths in this example, and will keep the other paths unchanged so nothing will break if you make a mistake.","title":"Dockstarter"},{"location":"How-to-setup-for/Dockstarter/#folder-structure","text":"We're going to use a mounted drive that we're going to use as storage for downloads and your media. In this example the mounted drive will be mounted to /mnt/ with the following folder structure. storage \u251c\u2500\u2500 downloads | \u251c\u2500\u2500 torrents \u2502 | \u251c\u2500\u2500 movies \u2502 | \u251c\u2500\u2500 music \u2502 | \u2514\u2500\u2500 tv | \u2514\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 medialibrary \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"How-to-setup-for/Dockstarter/#changes-to-the-env","text":"To accomplish this we need to change first a few paths in your .env (Usually ~/.docker/compose/.env ) # Global Settings COMPOSE_HTTP_TIMEOUT=60 DOCKERCONFDIR=~/.config/appdata DOCKERGID=999 DOCKERHOSTNAME=DockSTARTer DOCKERLOGGING_MAXFILE=10 DOCKERLOGGING_MAXSIZE=200k DOCKERSTORAGEDIR=/mnt/storage PGID=1000 PUID=1000 TZ=America/Chicago","title":"Changes to the .env"},{"location":"How-to-setup-for/Dockstarter/#changes-to-your-paths","text":"When that's all set then you will need to change the paths you're going to use in the containers from: /downloads => /storage/downloads /audiobooks => /storage/medialibrary/audiobooks /books => /storage/medialibrary/books /comics => /storage/medialibrary/comics /movies => /storage/medialibrary/movies /music => /storage/medialibrary/music /tv => /storage/medialibrary/tv","title":"Changes to your paths"},{"location":"How-to-setup-for/Dockstarter/#dockstarter-examples","text":"Info The screenshots in the examples are using the following root path /storage Sonarr Radarr SABnzbd NZBGet qBittorrent Deluge ruTorrent Sonarr Examples - [CLICK TO EXPAND]","title":"DockSTARTer Examples"},{"location":"How-to-setup-for/Dockstarter/#sonarr","text":"Settings => Media Management => Importing Settings => Media Management => Root Folders Series => Add New Radarr Examples - [CLICK TO EXPAND]","title":"Sonarr"},{"location":"How-to-setup-for/Dockstarter/#radarr","text":"Settings => Media Management => Importing Settings => Media Management => Root Folders Movies => Add New SABnzbd Examples - [CLICK TO EXPAND]","title":"Radarr"},{"location":"How-to-setup-for/Dockstarter/#sabnzbd","text":"SABnzbd config => Folders SABnzbd config => Categories NZBGet Examples - [CLICK TO EXPAND]","title":"SABnzbd"},{"location":"How-to-setup-for/Dockstarter/#nzbget","text":"Settings => PATHS Settings => CATEGORIES qBittorrent Examples - [CLICK TO EXPAND]","title":"NZBGet"},{"location":"How-to-setup-for/Dockstarter/#qbittorrent","text":"Options => Downloads Deluge Example - [CLICK TO EXPAND]","title":"qBittorrent"},{"location":"How-to-setup-for/Dockstarter/#deluge","text":"Preferences => Downloads ruTorrent Examples - [CLICK TO EXPAND]","title":"Deluge"},{"location":"How-to-setup-for/Dockstarter/#rutorrent","text":"../config/rtorrent/config/rtorrent.rc (path to your appdata) Settings => Downloads Settings => Autotools Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"ruTorrent"},{"location":"How-to-setup-for/Native/","text":"Native \u00b6 Note I'm not going to explain how to install all the applications, I will only explain which folder structure we recommend. Folder Structure \u00b6 Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Breakdown of the Folder Structure \u00b6 Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications. Permissions \u00b6 Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Native"},{"location":"How-to-setup-for/Native/#native","text":"Note I'm not going to explain how to install all the applications, I will only explain which folder structure we recommend.","title":"Native"},{"location":"How-to-setup-for/Native/#folder-structure","text":"Attention It doesn't really matter which path you use for your media and appdata, the only thing you should avoid is /home . Because user folders in /home are expected to have some restrictive permissions. It just could end up creating a permissions mess, so it's better to just avoid entirely. For this example we're going to make use of a share called data . The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"How-to-setup-for/Native/#breakdown-of-the-folder-structure","text":"","title":"Breakdown of the Folder Structure"},{"location":"How-to-setup-for/Native/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"How-to-setup-for/Native/#usenet-clients","text":"NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"How-to-setup-for/Native/#the-arrs","text":"Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"How-to-setup-for/Native/#media-server","text":"Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications.","title":"Media Server"},{"location":"How-to-setup-for/Native/#permissions","text":"Recursively chown user and group and Recursively chmod to 775/664 sudo chown -R $USER : $USER /data sudo chmod -R a = ,a+rX,u+w,g+w /data Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Permissions"},{"location":"How-to-setup-for/Synology/","text":"Synology \u00b6 Note Being I don't have a Synology myself and I kind of hate the Synology GUI for the dockers, I'm doing this with the use of docker-compose through a terminal. This is faster then the GUI and after installing, it shows up in the Docker GUI. Thanks to faxity for the initial compose that I used to create the Synology Guide. And a very big thanks to Bokkoman and BZwart that updated this Guide for DSM 7 and also offered their help on discord as Synology Support Team. Introduction \u00b6 This page will provide you with guidance on how to install several Docker images to your Synology system. We highly recommend to read the full guide, that way you have a better understanding of what you do, in case you later decide to make changes. Automated Script \u00b6 Automated script ( Use this script at your own risk ) - [CLICK TO EXPAND] Warning Though, we offer a short way out. This is intended as a quick way to do everything that is written on this page within one script. The script is new and only tested on Synology DSM7. We are not held reliable if anything breaks on your system. Use at your own risk To get this working you will need to enable terminal access (SSH). To enable this on your Synology take a look HERE . When you enabled the terminal access (SSH) run the following commands and follow the onscreen questions. curl -sL git.io/syno-script > ~/syno-script sudo bash ~/syno-script Install Docker \u00b6 You need to install Docker from the Package Center . This should also create a share named docker , check File Station if it is present. Create the main share \u00b6 Attention To get Hardlinks and Atomic-Moves working with your Synology you will need to make use of ONE share with subfolders. We will use a new share named data (lowercase) for all your library media. Later in this guide, we will fill this share with subfolders. To create a new share: Control Panel > Shared Folder > click Create > choose Create Shared Folder Name this shared folder data . You can disable the trash can. Click next until you are done. Create a user \u00b6 For this, we are going to create a new user that only has access to the share(s) that we use for this guide. Go to Control Panel > User & Group In the User section, create a new user. Name it whatever you like, but for this guide we will use docker . Fill out the rest of the information, generate a password or type your own. Click next, you will now be able to select which group this user will belong to, it should only be users . Click Next . Assign shared folder permissions \u00b6 In this screen you will be able to select which Shares this user will have access to, click No Access on the top, this will deny all access. Now only select Read/Write on the shares docker and data . Click Next until you reach Assign application permissions Assign application permissions \u00b6 In this screen you will be able to select which application this user will have access to, Check Deny for all applications. Continue to click Next until you are finished. SSH \u00b6 You are mostly going to use the terminal. Some parts will need the Synology web GUI. To enable terminal, you need to enable SSH in the Synology Settings. Control Panel > Terminal & SNMP > Enable SSH service Then use a program like Putty to SSH into your Synology. Enter the login information of a Synology user account that has admin priveliges, as only members of the 'administrators' user group are able to use SSH. If you get a popup asking if you want to trust the key, Just press OK or ACCEPT PUID and PGID \u00b6 In order for the Docker container to access the shares on the Synology, we need to know the user ID (PUID) and group ID (PGID) from the docker user we just created. Go into your terminal app, login to your synology ssh. Once logged in type id $user . Change $user to the newly created username docker . This will show you the UID (aka PUID). Which in this screenshot is 1035 for the docker user and the GID (aka PGID) which is 100 for the users group. Remember these values for later use. Attention It is not recommended to use (anymore) your admin/main user account. That is why we just created a new user. Folder Structure \u00b6 For this example we're going to make use of the share called data . On the host (Synology) terminal you will need to add /volume1/ before it. So /volume1/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The library folder has nicely named tv , movies and music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self. I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Breakdown of the Folder Structure \u00b6 Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications. Create the needed subfolder \u00b6 Here we will create the needed subfolders for your media library and also for your preferred download client. If you use both then run both commands If you use usenet \u00b6 mkdir -p /volume1/data/ { usenet/ { tv,movies,music } ,media/ { tv,movies,music }} If you use torrents \u00b6 mkdir -p /volume1/data/ { torrents/ { tv,movies,music } ,media/ { tv,movies,music }} Appdata \u00b6 Your appdata will be stored in /volume1/docker/appdata/{appname} These {appname} sub folders you need to create your self. ( This is a limitation of the Synology ) We're going to do this in Putty or a similar program. mkdir -p /volume1/docker/appdata/ { radarr,sonarr,bazarr,plex,pullio } You can add your own sub folders for your download client(s) using the command above, by adding the name to the command. So your appdata folder will look like this. ls -al /volume1/docker/appdata docker \u2514\u2500\u2500 appdata \u251c\u2500\u2500 radarr \u251c\u2500\u2500 sonarr \u251c\u2500\u2500 bazarr \u251c\u2500\u2500 plex \u251c\u2500\u2500 pullio \u2514\u2500\u2500 (your download client, i.e. nzbget; sabnzbd; qbittorrent) Needed files \u00b6 Now we are ready to move to the installation of containers. For this, we need two files: docker-compose.yml .env We will start with downloading the docker-compose.yml file Download this docker-compose.yml to your /volume1/docker/appdata location so you got your important stuff together. Or use the command below: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/docker-compose.yml -P /volume1/docker/appdata/ Whats included and Whats not included \u00b6 What's included and What's not included - [CLICK TO EXPAND] This docker-compose file will have the following docker containers included. Radarr Sonarr Bazarr (Subtitle searcher and downloader) Plex What's not included (and where are the download clients?). I didn't add a download client to it, because it depends on what you prefer (usenet/torrent) and which client you prefer, so I created a new Repository on Github where I provide and maintain some templates that are ready to use with the main docker-compose.yml . The only thing you need to do is copy/paste what's inside the .yml file in to the main docker-compose.yml , the template also has the command what you need to use to create the appdata folder that we explained earlier. Second we will download the .env file Download this .env to your /volume1/docker/appdata location so you got your important stuff together. Or use this command: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/.env -P /volume1/docker/appdata/ Attention MAKE SURE THE FILE KEEPS THE ORIGINAL NAME .env WITH THE DOT BEFORE IT Changes and preparations \u00b6 Tip If you need to edit docker-compose.yml or the .env file we advise to use Notepad++ or Visual Studio Code The .env file we downloaded holds the variables/information you need to change in order for everything to work. I added explanations in the .env file. DOCKERCONFDIR (only change this if you know what you're doing and decide to use another path than this guide used) DOCKERDATADIR (only change this if you know what you're doing and decide to use another path than this guide used) PUID/PGID (this info you got earlier from HERE TZ (Change to your timezone, can be found HERE Install and Create a task scheduler for Pullio, so your containers stay up to date. The .env holds more variables/information for other containers you don't need to remove those variables and will be only used when you install the other containers. Pullio - Auto update docker-compose the correct way \u00b6 Pullio allows you to automatically update your containers. And send you a notification through various means. In my setup, I use a Discord Webhook. First you need to download Pullio sudo curl -fsSL \"https://raw.githubusercontent.com/hotio/pullio/master/pullio.sh\" -o /usr/local/bin/pullio sudo chmod +x /usr/local/bin/pullio For Pullio to work, you will need to create in your Task Scheduler a \"Scheduled Task\" that runs for example at 4am at night with root privileges. Control Panel > Task Scheduler > click Create > choose Scheduled task - user defined script Give the task a name so you know what it does. Choose user root . In the Schedule tab choose whenever you want it to check for updates. At Task Settings tab, add the following line in the Run Command section: /usr/local/bin/pullio > /volume1/docker/appdata/pullio/pullio.log 2 > & 1 It can be frustrating to test the script if no docker image updates are available, for that you can run command sudo pullio --debug and the script will behave as if an update is available. If you have set to receive notifications, you should receive them. More info about Pullio HERE Permissions \u00b6 Now we need to make sure that the newly created files and folders have the correct permissions. Note If you're using a different user than docker (the user generated in the beginning), then you need to change the docker:users part in the commands below!!! sudo chown -R docker:users /volume1/data /volume1/docker sudo chmod -R a = ,a+rX,u+w,g+w /volume1/data /volume1/docker Note If you copy files from a different library into the newly created library, you need to rerun these commands. !!! Run the Docker Compose \u00b6 Important make sure you delete/remove all your existing dockers from the Docker GUI and also remove your native installs (in Package Center) of these applications !!! If you had previous installed apps, make a backup of their config folders. When you did all the above steps you only need to run the following commands: cd /volume1/docker/appdata sudo docker-compose up -d You will notice that all the images will be downloaded, after that the containers will be started. If you get a error then look at the error what it says and try to fix it. If you still got issues then put your used docker-compose.yml on 0bin and join the guides-discord here and provide the pastebin link with the error, have patience because of timezone differences. Don't forget to look at the Examples how to setup the paths inside your applications. Attention If you need to do any changes, only edit the docker-compose.yml file. To activate the changes, run the command sudo docker-compose -f /volume1/docker/appdata/docker-compose.yml up -d again. Any changes you do/did in the GUI will be reverted when you run the docker-compose command. Just don't use the GUI, only for information purposes !!! Docker-Compose Commands \u00b6 docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Synology"},{"location":"How-to-setup-for/Synology/#synology","text":"Note Being I don't have a Synology myself and I kind of hate the Synology GUI for the dockers, I'm doing this with the use of docker-compose through a terminal. This is faster then the GUI and after installing, it shows up in the Docker GUI. Thanks to faxity for the initial compose that I used to create the Synology Guide. And a very big thanks to Bokkoman and BZwart that updated this Guide for DSM 7 and also offered their help on discord as Synology Support Team.","title":"Synology"},{"location":"How-to-setup-for/Synology/#introduction","text":"This page will provide you with guidance on how to install several Docker images to your Synology system. We highly recommend to read the full guide, that way you have a better understanding of what you do, in case you later decide to make changes.","title":"Introduction"},{"location":"How-to-setup-for/Synology/#automated-script","text":"Automated script ( Use this script at your own risk ) - [CLICK TO EXPAND] Warning Though, we offer a short way out. This is intended as a quick way to do everything that is written on this page within one script. The script is new and only tested on Synology DSM7. We are not held reliable if anything breaks on your system. Use at your own risk To get this working you will need to enable terminal access (SSH). To enable this on your Synology take a look HERE . When you enabled the terminal access (SSH) run the following commands and follow the onscreen questions. curl -sL git.io/syno-script > ~/syno-script sudo bash ~/syno-script","title":"Automated Script"},{"location":"How-to-setup-for/Synology/#install-docker","text":"You need to install Docker from the Package Center . This should also create a share named docker , check File Station if it is present.","title":"Install Docker"},{"location":"How-to-setup-for/Synology/#create-the-main-share","text":"Attention To get Hardlinks and Atomic-Moves working with your Synology you will need to make use of ONE share with subfolders. We will use a new share named data (lowercase) for all your library media. Later in this guide, we will fill this share with subfolders. To create a new share: Control Panel > Shared Folder > click Create > choose Create Shared Folder Name this shared folder data . You can disable the trash can. Click next until you are done.","title":"Create the main share"},{"location":"How-to-setup-for/Synology/#create-a-user","text":"For this, we are going to create a new user that only has access to the share(s) that we use for this guide. Go to Control Panel > User & Group In the User section, create a new user. Name it whatever you like, but for this guide we will use docker . Fill out the rest of the information, generate a password or type your own. Click next, you will now be able to select which group this user will belong to, it should only be users . Click Next .","title":"Create a user"},{"location":"How-to-setup-for/Synology/#assign-shared-folder-permissions","text":"In this screen you will be able to select which Shares this user will have access to, click No Access on the top, this will deny all access. Now only select Read/Write on the shares docker and data . Click Next until you reach Assign application permissions","title":"Assign shared folder permissions"},{"location":"How-to-setup-for/Synology/#assign-application-permissions","text":"In this screen you will be able to select which application this user will have access to, Check Deny for all applications. Continue to click Next until you are finished.","title":"Assign application permissions"},{"location":"How-to-setup-for/Synology/#ssh","text":"You are mostly going to use the terminal. Some parts will need the Synology web GUI. To enable terminal, you need to enable SSH in the Synology Settings. Control Panel > Terminal & SNMP > Enable SSH service Then use a program like Putty to SSH into your Synology. Enter the login information of a Synology user account that has admin priveliges, as only members of the 'administrators' user group are able to use SSH. If you get a popup asking if you want to trust the key, Just press OK or ACCEPT","title":"SSH"},{"location":"How-to-setup-for/Synology/#puid-and-pgid","text":"In order for the Docker container to access the shares on the Synology, we need to know the user ID (PUID) and group ID (PGID) from the docker user we just created. Go into your terminal app, login to your synology ssh. Once logged in type id $user . Change $user to the newly created username docker . This will show you the UID (aka PUID). Which in this screenshot is 1035 for the docker user and the GID (aka PGID) which is 100 for the users group. Remember these values for later use. Attention It is not recommended to use (anymore) your admin/main user account. That is why we just created a new user.","title":"PUID and PGID"},{"location":"How-to-setup-for/Synology/#folder-structure","text":"For this example we're going to make use of the share called data . On the host (Synology) terminal you will need to add /volume1/ before it. So /volume1/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The library folder has nicely named tv , movies and music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self. I'm using lower case on all folder on purpose, being Linux is case sensitive. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Folder Structure"},{"location":"How-to-setup-for/Synology/#breakdown-of-the-folder-structure","text":"","title":"Breakdown of the Folder Structure"},{"location":"How-to-setup-for/Synology/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"How-to-setup-for/Synology/#usenet-clients","text":"NZBGet or SABnzbd The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"How-to-setup-for/Synology/#the-arrs","text":"Sonarr, Radarr and Lidarr Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"How-to-setup-for/Synology/#media-server","text":"Plex, Emby, JellyFin and Bazarr Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Don't forget to look at the Examples how to setup the paths inside the applications.","title":"Media Server"},{"location":"How-to-setup-for/Synology/#create-the-needed-subfolder","text":"Here we will create the needed subfolders for your media library and also for your preferred download client. If you use both then run both commands","title":"Create the needed subfolder"},{"location":"How-to-setup-for/Synology/#if-you-use-usenet","text":"mkdir -p /volume1/data/ { usenet/ { tv,movies,music } ,media/ { tv,movies,music }}","title":"If you use usenet"},{"location":"How-to-setup-for/Synology/#if-you-use-torrents","text":"mkdir -p /volume1/data/ { torrents/ { tv,movies,music } ,media/ { tv,movies,music }}","title":"If you use torrents"},{"location":"How-to-setup-for/Synology/#appdata","text":"Your appdata will be stored in /volume1/docker/appdata/{appname} These {appname} sub folders you need to create your self. ( This is a limitation of the Synology ) We're going to do this in Putty or a similar program. mkdir -p /volume1/docker/appdata/ { radarr,sonarr,bazarr,plex,pullio } You can add your own sub folders for your download client(s) using the command above, by adding the name to the command. So your appdata folder will look like this. ls -al /volume1/docker/appdata docker \u2514\u2500\u2500 appdata \u251c\u2500\u2500 radarr \u251c\u2500\u2500 sonarr \u251c\u2500\u2500 bazarr \u251c\u2500\u2500 plex \u251c\u2500\u2500 pullio \u2514\u2500\u2500 (your download client, i.e. nzbget; sabnzbd; qbittorrent)","title":"Appdata"},{"location":"How-to-setup-for/Synology/#needed-files","text":"Now we are ready to move to the installation of containers. For this, we need two files: docker-compose.yml .env We will start with downloading the docker-compose.yml file Download this docker-compose.yml to your /volume1/docker/appdata location so you got your important stuff together. Or use the command below: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/docker-compose.yml -P /volume1/docker/appdata/","title":"Needed files"},{"location":"How-to-setup-for/Synology/#whats-included-and-whats-not-included","text":"What's included and What's not included - [CLICK TO EXPAND] This docker-compose file will have the following docker containers included. Radarr Sonarr Bazarr (Subtitle searcher and downloader) Plex What's not included (and where are the download clients?). I didn't add a download client to it, because it depends on what you prefer (usenet/torrent) and which client you prefer, so I created a new Repository on Github where I provide and maintain some templates that are ready to use with the main docker-compose.yml . The only thing you need to do is copy/paste what's inside the .yml file in to the main docker-compose.yml , the template also has the command what you need to use to create the appdata folder that we explained earlier. Second we will download the .env file Download this .env to your /volume1/docker/appdata location so you got your important stuff together. Or use this command: wget https://raw.githubusercontent.com/TRaSH-/Guides-Synology-Templates/main/docker-compose/.env -P /volume1/docker/appdata/ Attention MAKE SURE THE FILE KEEPS THE ORIGINAL NAME .env WITH THE DOT BEFORE IT","title":"Whats included and Whats not included"},{"location":"How-to-setup-for/Synology/#changes-and-preparations","text":"Tip If you need to edit docker-compose.yml or the .env file we advise to use Notepad++ or Visual Studio Code The .env file we downloaded holds the variables/information you need to change in order for everything to work. I added explanations in the .env file. DOCKERCONFDIR (only change this if you know what you're doing and decide to use another path than this guide used) DOCKERDATADIR (only change this if you know what you're doing and decide to use another path than this guide used) PUID/PGID (this info you got earlier from HERE TZ (Change to your timezone, can be found HERE Install and Create a task scheduler for Pullio, so your containers stay up to date. The .env holds more variables/information for other containers you don't need to remove those variables and will be only used when you install the other containers.","title":"Changes and preparations"},{"location":"How-to-setup-for/Synology/#pullio-auto-update-docker-compose-the-correct-way","text":"Pullio allows you to automatically update your containers. And send you a notification through various means. In my setup, I use a Discord Webhook. First you need to download Pullio sudo curl -fsSL \"https://raw.githubusercontent.com/hotio/pullio/master/pullio.sh\" -o /usr/local/bin/pullio sudo chmod +x /usr/local/bin/pullio For Pullio to work, you will need to create in your Task Scheduler a \"Scheduled Task\" that runs for example at 4am at night with root privileges. Control Panel > Task Scheduler > click Create > choose Scheduled task - user defined script Give the task a name so you know what it does. Choose user root . In the Schedule tab choose whenever you want it to check for updates. At Task Settings tab, add the following line in the Run Command section: /usr/local/bin/pullio > /volume1/docker/appdata/pullio/pullio.log 2 > & 1 It can be frustrating to test the script if no docker image updates are available, for that you can run command sudo pullio --debug and the script will behave as if an update is available. If you have set to receive notifications, you should receive them. More info about Pullio HERE","title":"Pullio - Auto update docker-compose the correct way"},{"location":"How-to-setup-for/Synology/#permissions","text":"Now we need to make sure that the newly created files and folders have the correct permissions. Note If you're using a different user than docker (the user generated in the beginning), then you need to change the docker:users part in the commands below!!! sudo chown -R docker:users /volume1/data /volume1/docker sudo chmod -R a = ,a+rX,u+w,g+w /volume1/data /volume1/docker Note If you copy files from a different library into the newly created library, you need to rerun these commands. !!!","title":"Permissions"},{"location":"How-to-setup-for/Synology/#run-the-docker-compose","text":"Important make sure you delete/remove all your existing dockers from the Docker GUI and also remove your native installs (in Package Center) of these applications !!! If you had previous installed apps, make a backup of their config folders. When you did all the above steps you only need to run the following commands: cd /volume1/docker/appdata sudo docker-compose up -d You will notice that all the images will be downloaded, after that the containers will be started. If you get a error then look at the error what it says and try to fix it. If you still got issues then put your used docker-compose.yml on 0bin and join the guides-discord here and provide the pastebin link with the error, have patience because of timezone differences. Don't forget to look at the Examples how to setup the paths inside your applications. Attention If you need to do any changes, only edit the docker-compose.yml file. To activate the changes, run the command sudo docker-compose -f /volume1/docker/appdata/docker-compose.yml up -d again. Any changes you do/did in the GUI will be reverted when you run the docker-compose command. Just don't use the GUI, only for information purposes !!!","title":"Run the Docker Compose"},{"location":"How-to-setup-for/Synology/#docker-compose-commands","text":"docker-compose commands - [CLICK TO EXPAND] sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.) sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml) sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.) sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.) Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Docker-Compose Commands"},{"location":"How-to-setup-for/Unraid/","text":"Unraid \u00b6 Note The first thing you need to do is forget the suggested paths from the Spaceinvader One YouTube Tutorials, and don't use the predefined paths from the unraid templates. (Spaceinvader One YouTube guides are great to learn how to start with unraid or how to setup certain applications, and yes I did and still do use them. Probably the main reason why he's using those path is because they are predefined in the template) Create the main share \u00b6 Attention To get Hardlinks and Atomic-Moves working with Unraid you will need to make use of ONE share with subfolders. For this example I'm using my own setup and preferred share data . Go to your dashboard and on the top select shares select add share . use data if you got a cache drive and want to make use of it put it on Yes or keep it disabled (Hardlinks will stay in tact if you're using the cache) click on ADD SHARE Note Keep in mind regarding the use of the Cache drive, The mover can't move files that are in use, like when seeding with torrents. You will need to shutdown your client or stop/pause the torrents so the mover can move them to your Array. With Usenet you won't have any issues. Folder Structure \u00b6 On the host (Unraid) you will need to add /mnt/user before it. So /mnt/user/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self, you can use krusader or winscp to create them or any other way you prefer. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv I'm using lower case on all folder on purpose, being Linux is case sensitive. Breakdown of the Folder Structure \u00b6 Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used. Setting up the containers \u00b6 After you created all the needed folders it's time to setup the paths in the docker containers. Go to your dashboard and select your docker container you want to edit or if you're starting fresh add the docker containers you want to use or prefer. Unraid makes it actually pretty clear what's the Host Path and what's the Container Path. Container Path: => The path that will be used inside the container. Host Path: => The path on your Unraid Server (The Host). Torrent clients \u00b6 qBittorrent, Deluge, ruTorrent Container Path: => /data/torrents/ Host Path: => /mnt/user/data/torrents/ Info The reason why we use /data/torrents/ for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Usenet clients \u00b6 NZBGet or SABnzbd Container Path: => /data/usenet/ Host Path: => /mnt/user/data/usenet/ Info The reason why we use /data/usenet/ for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv The arr(s) \u00b6 Sonarr, Radarr and Lidarr Container Path: => /data Host Path: => /mnt/user/data/ Info Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Media Server \u00b6 Plex, Emby, JellyFin and Bazarr Container Path: => /data/media Host Path: => /mnt/user/data/media/ Info Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv Final Result \u00b6 Don't forget to look at the Examples how to setup the paths inside your applications. Video Tutorial \u00b6 Big Thanks to IBRACORP for noticing this Guide and creating a Video covering this unraid section. The reason why I added the video to the end is because I want the user to actually learn and understand why it's recommended to use this folder structure, before going straight to the YouTube video. Please don't forget to check out his other Unraid Video's HERE Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Unraid"},{"location":"How-to-setup-for/Unraid/#unraid","text":"Note The first thing you need to do is forget the suggested paths from the Spaceinvader One YouTube Tutorials, and don't use the predefined paths from the unraid templates. (Spaceinvader One YouTube guides are great to learn how to start with unraid or how to setup certain applications, and yes I did and still do use them. Probably the main reason why he's using those path is because they are predefined in the template)","title":"Unraid"},{"location":"How-to-setup-for/Unraid/#create-the-main-share","text":"Attention To get Hardlinks and Atomic-Moves working with Unraid you will need to make use of ONE share with subfolders. For this example I'm using my own setup and preferred share data . Go to your dashboard and on the top select shares select add share . use data if you got a cache drive and want to make use of it put it on Yes or keep it disabled (Hardlinks will stay in tact if you're using the cache) click on ADD SHARE Note Keep in mind regarding the use of the Cache drive, The mover can't move files that are in use, like when seeding with torrents. You will need to shutdown your client or stop/pause the torrents so the mover can move them to your Array. With Usenet you won't have any issues.","title":"Create the main share"},{"location":"How-to-setup-for/Unraid/#folder-structure","text":"On the host (Unraid) you will need to add /mnt/user before it. So /mnt/user/data The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv , movie and music downloads to keep things neat. The media folder has nicely named TV , Movies and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin. These subfolders you need to create your self, you can use krusader or winscp to create them or any other way you prefer. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv I'm using lower case on all folder on purpose, being Linux is case sensitive.","title":"Folder Structure"},{"location":"How-to-setup-for/Unraid/#breakdown-of-the-folder-structure","text":"Info The paths you use on the inside matter. Because of how Docker\u2019s volumes work, passing in two or three volumes such as the commonly suggested /tv , /movies and /downloads makes them look like two or three file systems, even if they aren\u2019t. This means hard links won\u2019t work and instead of an instant move, a slower and more I/O intensive copy + delete is used.","title":"Breakdown of the Folder Structure"},{"location":"How-to-setup-for/Unraid/#setting-up-the-containers","text":"After you created all the needed folders it's time to setup the paths in the docker containers. Go to your dashboard and select your docker container you want to edit or if you're starting fresh add the docker containers you want to use or prefer. Unraid makes it actually pretty clear what's the Host Path and what's the Container Path. Container Path: => The path that will be used inside the container. Host Path: => The path on your Unraid Server (The Host).","title":"Setting up the containers"},{"location":"How-to-setup-for/Unraid/#torrent-clients","text":"qBittorrent, Deluge, ruTorrent Container Path: => /data/torrents/ Host Path: => /mnt/user/data/torrents/ Info The reason why we use /data/torrents/ for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music} . data \u2514\u2500\u2500 torrents \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Torrent clients"},{"location":"How-to-setup-for/Unraid/#usenet-clients","text":"NZBGet or SABnzbd Container Path: => /data/usenet/ Host Path: => /mnt/user/data/usenet/ Info The reason why we use /data/usenet/ for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/{tv|movies|music} . data \u2514\u2500\u2500 usenet \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Usenet clients"},{"location":"How-to-setup-for/Unraid/#the-arrs","text":"Sonarr, Radarr and Lidarr Container Path: => /data Host Path: => /mnt/user/data/ Info Sonarr, Radarr and Lidarr gets access to everything because the download folder(s) and media folder will look like and be one file system. Hard links will work and moves will be atomic, instead of copy + delete. data \u251c\u2500\u2500 torrents \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u251c\u2500\u2500 usenet \u2502 \u251c\u2500\u2500 movies \u2502 \u251c\u2500\u2500 music \u2502 \u2514\u2500\u2500 tv \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"The arr(s)"},{"location":"How-to-setup-for/Unraid/#media-server","text":"Plex, Emby, JellyFin and Bazarr Container Path: => /data/media Host Path: => /mnt/user/data/media/ Info Plex, Emby, JellyFin and Bazarr only needs access to your media library, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders. data \u2514\u2500\u2500 media \u251c\u2500\u2500 movies \u251c\u2500\u2500 music \u2514\u2500\u2500 tv","title":"Media Server"},{"location":"How-to-setup-for/Unraid/#final-result","text":"Don't forget to look at the Examples how to setup the paths inside your applications.","title":"Final Result"},{"location":"How-to-setup-for/Unraid/#video-tutorial","text":"Big Thanks to IBRACORP for noticing this Guide and creating a Video covering this unraid section. The reason why I added the video to the end is because I want the user to actually learn and understand why it's recommended to use this folder structure, before going straight to the YouTube video. Please don't forget to check out his other Unraid Video's HERE Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Video Tutorial"},{"location":"Misc/","text":"Misc \u00b6 Here you will find a collection of random guides I made.","title":"Home"},{"location":"Misc/#misc","text":"Here you will find a collection of random guides I made.","title":"Misc"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/","text":"Setup TorGuard for port forwarding \u00b6 Note These settings are a recommendation if you want to choose other settings be my guest. If you want to support me, please use the following referral link and use one of the following codes: TGLIFE : Get 50% Off for Life for Anonymous Proxy, Anonymous VPN, Anonymous Webmail. TGLIFE-STREAMING : Get 50% Off for Life Anonymous Proxy, Anonymous VPN, Streaming Bundle. TGLIFE-PRO : Get 50% Off for Life for Anonymous VPN, Streaming Bundle, Anonymous VPN Pro. Login to your Client area \u00b6 Login to your Client Area . Example - [CLICK TO EXPAND] Create a user account \u00b6 First we're going to create a User Account for your VPN so we won't need to use your main account that you use to login to your account on the Torguard site. This account will be used for authentication with your VPN Torrent client. Services > My Services > Manage > Manage Credentials Example - [CLICK TO EXPAND] Create a new username and choose a secure password or create a random username and password. Example - [CLICK TO EXPAND] How to get the IP of your VPN server \u00b6 Now it's time to get the IP of your VPN server you're going to use from the Global VPN Network , From your Client Area. Servers > Global VPN Network Example - [CLICK TO EXPAND] Global VPN Network \u00b6 Then we're going to select which server we're going to use, For the best speed it's recommended to choose the one nearest to your location. Let's use for this example: USA Miami and copy/paste the Hostname us-fl.secureconnect.me . Important Also check if your chosen server supports OpenVPN or Wireguard depending what you want to use. Get your VPN IP \u00b6 Open a cmd window or something equal and type: ping us-fl.secureconnect.me You will then get the IP of the server. Remember that for later use. Example - [CLICK TO EXPAND] How to setup Port forwarding \u00b6 Note This section will consist of 2 parts depending if you want to use OVPN or WireGuard so make sure you choose your preferred VPN Tunnel type. Request Port Forward \u00b6 From your Client Area go to your My Services . Then click on Manage and select Request Port Forward . Services > My Services > Manage > Request Port Forward Example - [CLICK TO EXPAND] VPN Tunnel Type \u00b6 Choose your preferred VPN Tunnel type. OVPN Request Port Forward \u00b6 OVPN Request Port Forward That's the IP we found earlier. Select UDP . Select a Port/Auth I personally use 995|SHA1 . Select the Protocol TCP . I suggest to use a high Port number 10.000+ or a game port you don't use, don't use the default torrent ports 6881- 6889 (This is also the port you will use in your torrent client). Click on the + sign and do the same with the UDP Protocol . Then click on Submit Request . If everything went according to plan you will see something like this. You will also receive a e-mail with the ports you forwarded. Note Normally it doesn't take more then a few seconds/minutes to get the ports approved if it takes longer or you get PENDING I suggest to ping the server again (or choose another sever) and you often get a new IP and retry it again with the new IP. WireGuard Request Port Forward \u00b6 WireGuard Request Port Forward - [CLICK TO EXPAND] That's the IP we found earlier. Select UDP . ( KEEP THIS ON UDP FOR WireGuard ) Select a Port/Auth and select WireGuard . Select the Protocol TCP . I suggest to use a high Port number 10.000+ or a game port you don't use, don't use the default torrent ports 6881- 6889 (This is also the port you will use in your torrent client). Click on the + sign and do the same with the UDP Protocol . Then click on Submit Request . WARNING DON'T CHANGE OPTION 2 UDP to TCP If everything went according to plan you will see something like this. You will also receive a e-mail with the ports you forwarded. Note Normally it doesn't take more then a few seconds/minutes to get the ports approved if it takes longer or you get PENDING I suggest to ping the server again (or choose another sever) and you often get a new IP and retry it again with the new IP. How to create the config file \u00b6 Note This section will consist of 2 parts depending if you want to use OVPN or WireGuard so make sure you choose your preferred VPN Tunnel type. From your Client Area go to your Config Generator . Tools > Config Generator Example Select Tools > Config Generator - [CLICK TO EXPAND] Config Generator \u00b6 Choose your preferred VPN Tunnel type. OVPN Config Generator \u00b6 OVPN Config Generator - [CLICK TO EXPAND] Keep this on Default . Choose OpenVPN . Put in the IP we got earlier and used for the port forwarding. Choose UDP . Choose 995|SHA1 or what you selected during the port forwarding. Choose AES-128-GCM . Choose 2.4 and above . Check Require TLS 1.2 Click on Generate Config , Now you will download a .conf file with a random number. Rename the extension from *.conf to *.ovpn and copy it to your openvpn folder of your VPN torrent client. WireGuard Config Generator \u00b6 WireGuard Config Generator - [CLICK TO EXPAND] Choose WireGuard . Put in the IP we got earlier and used for the port forwarding. Add your VPN Username . Add your `VPN Password. Click on Generate Config Now you will download a .conf file with a random number. Rename the file from *.conf to wg0.conf and copy it to your wireguard folder of your VPN torrent client. Thanks: A big Thanks to mrhotio for his excellent instructions on how to setup WireGuard for TorGuard. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Setup TorGuard for port forwarding"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#setup-torguard-for-port-forwarding","text":"Note These settings are a recommendation if you want to choose other settings be my guest. If you want to support me, please use the following referral link and use one of the following codes: TGLIFE : Get 50% Off for Life for Anonymous Proxy, Anonymous VPN, Anonymous Webmail. TGLIFE-STREAMING : Get 50% Off for Life Anonymous Proxy, Anonymous VPN, Streaming Bundle. TGLIFE-PRO : Get 50% Off for Life for Anonymous VPN, Streaming Bundle, Anonymous VPN Pro.","title":"Setup TorGuard for port forwarding"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#login-to-your-client-area","text":"Login to your Client Area . Example - [CLICK TO EXPAND]","title":"Login to your Client area"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#create-a-user-account","text":"First we're going to create a User Account for your VPN so we won't need to use your main account that you use to login to your account on the Torguard site. This account will be used for authentication with your VPN Torrent client. Services > My Services > Manage > Manage Credentials Example - [CLICK TO EXPAND] Create a new username and choose a secure password or create a random username and password. Example - [CLICK TO EXPAND]","title":"Create a user account"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#how-to-get-the-ip-of-your-vpn-server","text":"Now it's time to get the IP of your VPN server you're going to use from the Global VPN Network , From your Client Area. Servers > Global VPN Network Example - [CLICK TO EXPAND]","title":"How to get the IP of your VPN server"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#global-vpn-network","text":"Then we're going to select which server we're going to use, For the best speed it's recommended to choose the one nearest to your location. Let's use for this example: USA Miami and copy/paste the Hostname us-fl.secureconnect.me . Important Also check if your chosen server supports OpenVPN or Wireguard depending what you want to use.","title":"Global VPN Network"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#get-your-vpn-ip","text":"Open a cmd window or something equal and type: ping us-fl.secureconnect.me You will then get the IP of the server. Remember that for later use. Example - [CLICK TO EXPAND]","title":"Get your VPN IP"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#how-to-setup-port-forwarding","text":"Note This section will consist of 2 parts depending if you want to use OVPN or WireGuard so make sure you choose your preferred VPN Tunnel type.","title":"How to setup Port forwarding"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#request-port-forward","text":"From your Client Area go to your My Services . Then click on Manage and select Request Port Forward . Services > My Services > Manage > Request Port Forward Example - [CLICK TO EXPAND]","title":"Request Port Forward"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#vpn-tunnel-type","text":"Choose your preferred VPN Tunnel type.","title":"VPN Tunnel Type"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#ovpn-request-port-forward","text":"OVPN Request Port Forward That's the IP we found earlier. Select UDP . Select a Port/Auth I personally use 995|SHA1 . Select the Protocol TCP . I suggest to use a high Port number 10.000+ or a game port you don't use, don't use the default torrent ports 6881- 6889 (This is also the port you will use in your torrent client). Click on the + sign and do the same with the UDP Protocol . Then click on Submit Request . If everything went according to plan you will see something like this. You will also receive a e-mail with the ports you forwarded. Note Normally it doesn't take more then a few seconds/minutes to get the ports approved if it takes longer or you get PENDING I suggest to ping the server again (or choose another sever) and you often get a new IP and retry it again with the new IP.","title":"OVPN Request Port Forward"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#wireguard-request-port-forward","text":"WireGuard Request Port Forward - [CLICK TO EXPAND] That's the IP we found earlier. Select UDP . ( KEEP THIS ON UDP FOR WireGuard ) Select a Port/Auth and select WireGuard . Select the Protocol TCP . I suggest to use a high Port number 10.000+ or a game port you don't use, don't use the default torrent ports 6881- 6889 (This is also the port you will use in your torrent client). Click on the + sign and do the same with the UDP Protocol . Then click on Submit Request . WARNING DON'T CHANGE OPTION 2 UDP to TCP If everything went according to plan you will see something like this. You will also receive a e-mail with the ports you forwarded. Note Normally it doesn't take more then a few seconds/minutes to get the ports approved if it takes longer or you get PENDING I suggest to ping the server again (or choose another sever) and you often get a new IP and retry it again with the new IP.","title":"WireGuard Request Port Forward"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#how-to-create-the-config-file","text":"Note This section will consist of 2 parts depending if you want to use OVPN or WireGuard so make sure you choose your preferred VPN Tunnel type. From your Client Area go to your Config Generator . Tools > Config Generator Example Select Tools > Config Generator - [CLICK TO EXPAND]","title":"How to create the config file"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#config-generator","text":"Choose your preferred VPN Tunnel type.","title":"Config Generator"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#ovpn-config-generator","text":"OVPN Config Generator - [CLICK TO EXPAND] Keep this on Default . Choose OpenVPN . Put in the IP we got earlier and used for the port forwarding. Choose UDP . Choose 995|SHA1 or what you selected during the port forwarding. Choose AES-128-GCM . Choose 2.4 and above . Check Require TLS 1.2 Click on Generate Config , Now you will download a .conf file with a random number. Rename the extension from *.conf to *.ovpn and copy it to your openvpn folder of your VPN torrent client.","title":"OVPN Config Generator"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#wireguard-config-generator","text":"WireGuard Config Generator - [CLICK TO EXPAND] Choose WireGuard . Put in the IP we got earlier and used for the port forwarding. Add your VPN Username . Add your `VPN Password. Click on Generate Config Now you will download a .conf file with a random number. Rename the file from *.conf to wg0.conf and copy it to your wireguard folder of your VPN torrent client. Thanks: A big Thanks to mrhotio for his excellent instructions on how to setup WireGuard for TorGuard. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"WireGuard Config Generator"},{"location":"Misc/how-to-provide-a-docker-compose/","text":"How to provide a docker compose \u00b6 When you're running dockers and you need help on discord etc you often hear the question: \"Provide a docker compose\" If you need to provide this info always remember to provide it from all your *arr (Sonarr, Radarr, Lidarr, Bazarr) and also from your download client(s). If you're using a system with a GUI (Synology, unRAID, OMV, etc.) it's not always easy to provide a docker compose but it's possible. Warning Please don't use screenshots to provide the info as they aren't always revealing all the needed info Use one of the following from terminal(puTTy) to get the docker compose with or without the use of sudo . sudo docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose CONTAINER_NAME CONTAINER_NAME2 Example: sudo docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose sonarr radarr bazarr nzbget Paste the results on one of the following sites. 0bin.net (Reccomended) Github Gist (Alternative) Ubuntu Pastebin hastebin.com If you use docker run command to create your docker containers, paste your run command in to composerize","title":"How to provide a docker compose"},{"location":"Misc/how-to-provide-a-docker-compose/#how-to-provide-a-docker-compose","text":"When you're running dockers and you need help on discord etc you often hear the question: \"Provide a docker compose\" If you need to provide this info always remember to provide it from all your *arr (Sonarr, Radarr, Lidarr, Bazarr) and also from your download client(s). If you're using a system with a GUI (Synology, unRAID, OMV, etc.) it's not always easy to provide a docker compose but it's possible. Warning Please don't use screenshots to provide the info as they aren't always revealing all the needed info Use one of the following from terminal(puTTy) to get the docker compose with or without the use of sudo . sudo docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose CONTAINER_NAME CONTAINER_NAME2 Example: sudo docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose sonarr radarr bazarr nzbget Paste the results on one of the following sites. 0bin.net (Reccomended) Github Gist (Alternative) Ubuntu Pastebin hastebin.com If you use docker run command to create your docker containers, paste your run command in to composerize","title":"How to provide a docker compose"},{"location":"Misc/trash-sync/","text":"TRaSH Sync \u00b6 These are 3rd party applications to sync several sections of the guide with your Sonarr/Radarr (or multiple). Radarr Custom Formats 1 2 Radarr Scores 1 2 Radarr Quality Settings (File Size) 2 Sonarr Release Profile RegEx (WEB-DL) 1 2 Sonarr Release Profile RegEx (Anime) 1 2 Sonarr Quality Settings (File Size) 2 Notifiarr \u00b6 It's possible with Notifiarr ( Patron feature ) After setup it's fully automated and will check every X minutes for updates to the Custom Formats or Sonarr Release Profile and will update it to your Radarr or Sonarr (Multiple Client Support). Just enable the Custom Formats/Release Profiles you want. Examples - [CLICK TO EXPAND] Radarr Custom Formats Table Radarr Custom Formats (Multiple Instances possible) Radarr Custom Formats (Multiple Instances possible) Radarr scoring (Multiple profiles possible) Sonarr Release Profile (Multiple Instances possible) Instructions TRaSH Updater \u00b6 It's possible with trash-updater Automatically mirror TRaSH guides to your Sonarr/Radarr instance based on your setup scheduler. Instructions Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. Notifiarr \u21a9 \u21a9 \u21a9 \u21a9 TRaSH Updater \u21a9 \u21a9 \u21a9 \u21a9 \u21a9 \u21a9","title":"TRaSH Sync"},{"location":"Misc/trash-sync/#trash-sync","text":"These are 3rd party applications to sync several sections of the guide with your Sonarr/Radarr (or multiple). Radarr Custom Formats 1 2 Radarr Scores 1 2 Radarr Quality Settings (File Size) 2 Sonarr Release Profile RegEx (WEB-DL) 1 2 Sonarr Release Profile RegEx (Anime) 1 2 Sonarr Quality Settings (File Size) 2","title":"TRaSH Sync"},{"location":"Misc/trash-sync/#notifiarr","text":"It's possible with Notifiarr ( Patron feature ) After setup it's fully automated and will check every X minutes for updates to the Custom Formats or Sonarr Release Profile and will update it to your Radarr or Sonarr (Multiple Client Support). Just enable the Custom Formats/Release Profiles you want. Examples - [CLICK TO EXPAND] Radarr Custom Formats Table Radarr Custom Formats (Multiple Instances possible) Radarr Custom Formats (Multiple Instances possible) Radarr scoring (Multiple profiles possible) Sonarr Release Profile (Multiple Instances possible) Instructions","title":"Notifiarr"},{"location":"Misc/trash-sync/#trash-updater","text":"It's possible with trash-updater Automatically mirror TRaSH guides to your Sonarr/Radarr instance based on your setup scheduler. Instructions Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. Notifiarr \u21a9 \u21a9 \u21a9 \u21a9 TRaSH Updater \u21a9 \u21a9 \u21a9 \u21a9 \u21a9 \u21a9","title":"TRaSH Updater"},{"location":"Misc/x265-4k/","text":"x265-4k \u00b6 x265 \u00b6 Quote x265 is good for 4k stuff or 1080p if they used the the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities. So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people Microsized & Wrong Source \u00b6 It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it. Golden Rule \u00b6 That's why I created my own golden rule. 720/1080p => x264 2160p/4k => x265 How to accomplish the Golden Rule \u00b6 For Sonarr check HERE For Radarr check HERE Some extra info about 4K/X265 \u00b6 4k, transcoding, and you - aka the rules of 4k - a FAQ - Plex.tv Don\u2019t bother transcoding 4k If you cannot direct play 4k, then perhaps you should not even be collecting 4k. If you don\u2019t have the storage space for a copy of both 4k and 1080/720, then perhaps you should not even be collecting 4k. To avoid transcoding for remote and non-4k clients, keep your 4k content in separate plex libraries. This may of course mean that you keep a 4k copy and a 1080/720 copy, but if you are collecting 4k content then you should not be worried about storage space, should you?","title":"x265-4k and Golden Rule"},{"location":"Misc/x265-4k/#x265-4k","text":"","title":"x265-4k"},{"location":"Misc/x265-4k/#x265","text":"Quote x265 is good for 4k stuff or 1080p if they used the the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities. So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people","title":"x265"},{"location":"Misc/x265-4k/#microsized-wrong-source","text":"It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it.","title":"Microsized & Wrong Source"},{"location":"Misc/x265-4k/#golden-rule","text":"That's why I created my own golden rule. 720/1080p => x264 2160p/4k => x265","title":"Golden Rule"},{"location":"Misc/x265-4k/#how-to-accomplish-the-golden-rule","text":"For Sonarr check HERE For Radarr check HERE","title":"How to accomplish the Golden Rule"},{"location":"Misc/x265-4k/#some-extra-info-about-4kx265","text":"4k, transcoding, and you - aka the rules of 4k - a FAQ - Plex.tv Don\u2019t bother transcoding 4k If you cannot direct play 4k, then perhaps you should not even be collecting 4k. If you don\u2019t have the storage space for a copy of both 4k and 1080/720, then perhaps you should not even be collecting 4k. To avoid transcoding for remote and non-4k clients, keep your 4k content in separate plex libraries. This may of course mean that you keep a 4k copy and a 1080/720 copy, but if you are collecting 4k content then you should not be worried about storage space, should you?","title":"Some extra info about 4K/X265"},{"location":"Plex/","text":"Plex \u00b6 Here I will start adding Tips and Info for plex","title":"Home"},{"location":"Plex/#plex","text":"Here I will start adding Tips and Info for plex","title":"Plex"},{"location":"Plex/Tips/4k-transcoding/","text":"JBOPS 4K Transcode Stopping with Tautulli \u00b6 Introduction \u00b6 The bane of Plex admins existence... 4K Transcodes. According to Plex's forum post The Rules of 4K the first three rules of collecting 4k content is don\u2019t bother transcoding 4k. This guide will walk you through getting started with Tautulli and JBOPS. By the end of this guide you'll be able to stop all 4K video transcodes on your server. Note that this does require a Plex Pass to work. Getting Started \u00b6 git clone https://github.com/blacktwin/JBOPS into the config dir of your tautulli instance (if dockerized) Install requirements if needed ( pip install -r requirements.txt ) Go to your tautulli and go to the settings menu. In the sidebar, open \u201cNotification Agents\u201d. Create a new Notification Agent. Configuration Tab \u00b6 Script Folder: /config/JBOPS Script File: killstream/kill_stream.py Script Timeout: 30 (default) Description (optional): 4K Transcode Stopper Triggers \u00b6 \u2611\ufe0f Playback Start \u2611\ufe0f Playback Resume \u2611\ufe0f Transcode Decision Change Conditions \u00b6 Condition {1} Video Decision is transcode Condition {2} Video Resolution is 4k Condition Logic {1} and {2} Arguments \u00b6 Under each: Playback Start, Playback Resume, Transcode Decision Change --jbop stream --username {username} --sessionId {session_id} --killMessage 'Transcoding streams are not allowed for {video_resolution} streams.'","title":"JBOPS 4K Transcode Stopping with Tautulli"},{"location":"Plex/Tips/4k-transcoding/#jbops-4k-transcode-stopping-with-tautulli","text":"","title":"JBOPS 4K Transcode Stopping with Tautulli"},{"location":"Plex/Tips/4k-transcoding/#introduction","text":"The bane of Plex admins existence... 4K Transcodes. According to Plex's forum post The Rules of 4K the first three rules of collecting 4k content is don\u2019t bother transcoding 4k. This guide will walk you through getting started with Tautulli and JBOPS. By the end of this guide you'll be able to stop all 4K video transcodes on your server. Note that this does require a Plex Pass to work.","title":"Introduction"},{"location":"Plex/Tips/4k-transcoding/#getting-started","text":"git clone https://github.com/blacktwin/JBOPS into the config dir of your tautulli instance (if dockerized) Install requirements if needed ( pip install -r requirements.txt ) Go to your tautulli and go to the settings menu. In the sidebar, open \u201cNotification Agents\u201d. Create a new Notification Agent.","title":"Getting Started"},{"location":"Plex/Tips/4k-transcoding/#configuration-tab","text":"Script Folder: /config/JBOPS Script File: killstream/kill_stream.py Script Timeout: 30 (default) Description (optional): 4K Transcode Stopper","title":"Configuration Tab"},{"location":"Plex/Tips/4k-transcoding/#triggers","text":"\u2611\ufe0f Playback Start \u2611\ufe0f Playback Resume \u2611\ufe0f Transcode Decision Change","title":"Triggers"},{"location":"Plex/Tips/4k-transcoding/#conditions","text":"Condition {1} Video Decision is transcode Condition {2} Video Resolution is 4k Condition Logic {1} and {2}","title":"Conditions"},{"location":"Plex/Tips/4k-transcoding/#arguments","text":"Under each: Playback Start, Playback Resume, Transcode Decision Change --jbop stream --username {username} --sessionId {session_id} --killMessage 'Transcoding streams are not allowed for {video_resolution} streams.'","title":"Arguments"},{"location":"Plex/Tips/Plex-media-server/","text":"Suggested Plex Media Server Settings \u00b6 So, what are the best Plex Media Server settings? This is something that can't really be answered because it depends on the use case and your personal preference. Here I will provide some suggestions and try to explain why I recommend these settings. Adjust it to your own liking and keep in mind that it is only a suggestion. I'm not a Plex Pro in anyway Attention Some settings are only visible for Plex Pass holders. All changes need to be done on your Plex Media Server. Why didn't you cover option .... ? I will only cover settings that I think might be interesting or are personal preference, if you would like me to cover some other settings, please contact me on Settings \u00b6 Remote Access \u00b6 Make sure you have enabled advanced settings (This will be needed for all the settings) Enable/Disable Remote access (if you disable it ignore the rest of these settings) LAN/container IP Public IP If you need to provide a screenshot always mask this IP Manually specify public port if you run Docker or want a fixed port. Enter the Plex port you want to use. (default: 32400 ) Click on Apply and when everything is setup correctly, your Plex Media Server should be fully accessible outside of your network, so you can connect to your Plex server from outside. You may also need to configure port forwarding on your router. Detailed instructions are available HERE . Enter your internet upload speed here and Plex can ensure it operates within this boundary. Set the maximum bitrate of a remote stream from this server. Agents \u00b6 This can be ignored if you use the new Plex agents, The new agent settings are now managed \u201cper library\u201d. Library \u00b6 Scan my library automatically \u00b6 When a change is detected in the source location for a library\u2019s content, the appropriate library will be scanned. This function relies on the computer\u2019s operating system providing the \u201csomething changed\u201d trigger. Some operating systems don\u2019t provide this trigger and content mounted via a network will also typically not work. If your library doesn\u2019t automatically scan, you may have to set a periodical scan or do it manually. Suggested: Enabled TIP - Autoscan - [CLICK TO EXPAND] If for some reason ex. your operating systems don\u2019t provide this trigger or your storage is mounted on a network (SMB/NFS/Cloud Storage) or your library just doesn't automatically scan, or is just plain impractical, You might want to consider using autoscan. IBRACORP (A Youtube channel I collaborate with) has a video explaining it in further detail. Please don't forget to check out his other Unraid Video's HERE Run a partial scan when changes are detected \u00b6 When changes to library folders are detected, only scan the folder which changed rather than scanning the entire content location. This works together with the normal Update my library automatically setting (and requires that setting to be enabled). Suggested: Enabled Include music libraries in automatic updates \u00b6 I don't do music, so this choice is up to you, and I won't be covering it. Scan my library periodically \u00b6 Turning this on will cause your Plex Media Server to run scans on your libraries using the designated interval. Suggested: Disabled Do you need a extra scan for your library to recognize new media? Empty trash automatically after every scan \u00b6 With this option enabled, when an item\u2019s file is deleted from the drive, it will be removed from the Plex library on the next scan. Disabling this option keeps the item in the library with an overlay over the item\u2019s poster when the item is removed. Suggested: Enabled Allow media deletion \u00b6 The owner of the server will be allowed to delete media files from disk. Suggested: Disabled In my opinion Plex shouldn't touch your media files. Use Sonarr/Radarr to manage your media library. (For extra security I've setup Plex with Read Only access to the media library) Run scanner tasks at a lower priority \u00b6 On low-powered systems (e.g. ARM-based NAS devices), it can be beneficial to run scanner tasks at a lower priority than other tasks. This can help ensure they do not interfere with regular streaming. Suggested: Enabled Makes sure it uses less resources and ensure they do not interfere with regular streaming. Generate video preview thumbnails \u00b6 This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video. Suggested: Never Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward. ATTENTION Creating these images can Take a considerable amount of time Use a lot of CPU resources Increase the storage space used The images are stored in your Plex database location (/config) so be careful you don\u2019t fill the drive Generate intro video markers \u00b6 You can choose to have TV episodes analyzed to try and detect when the \u201cintro\u201d occurs during playback. When detected, apps will then offer a Skip Intro button, allowing you to quickly jump over the intro. Suggested: as a scheduled task or Suggested: as a scheduled task and when media is added Generate chapter thumbnails \u00b6 Chapter thumbnails provide images in the chapter view on supported apps. They can take a little time to generate and consume very minor additional disk space. Suggested: as a scheduled task or Suggested: as a scheduled task and when media is added Network \u00b6 Enable IPv6 support \u00b6 Enable IPv6 support. Suggested: Disabled If you're not sure your network 100% works with ip6 don't Enable it . Secure connections \u00b6 Choose how your Plex Media Server handles secure connections. Suggested: Preferred Accept and prefer secure connections when they\u2019re available for a Plex app, but allow regular HTTP connections if the app doesn\u2019t support secure connections or if one can\u2019t be established Preferred network interface \u00b6 For users with multiple network cards or systems such as NAS or Docker where there is always another network interface which Plex client applications may try to use to connect to the Plex Media Server, with this option you can ensure that your local Plex clients would only try that interface. Attention If you have enabled Remote Access enabled and are having Plex automatically map the port (as opposed to specifying a port manually), then Plex Media Server has no control over which network interface is used for an automatically-mapped port. Thus, it\u2019s possible that Remote Access connections could come through an interface other than the one specified here. Suggested: Whatever suits your setup Strict TLS configuration \u00b6 If this setting is enabled, it prevents Plex Media Server from using or accepting the deprecated TLSv1.0 and v1.1 protocols, as well as legacy weak ciphers. May prevent older clients from connecting. The vast majority of users will have no reason to enable this option (and receive no benefit from doing so). Suggested: Disabled Enable local network discovery (GDM) \u00b6 Enable \u201cG\u2019Day Mate\u201d discovery. This is used to allows Plex apps and servers to find each other automatically on a local network. Suggested: Enabled Remote streams allowed per user \u00b6 You can set the maximum number of simultaneous streams each remote user is allowed to have. Suggested: Whatever suits your setup LAN Networks \u00b6 It lets you specify which IP addresses or networks will be considered to be \u201clocal\u201d to you. Suggested: Your local IP/netmasks If your local devices are seen as remote devices, then this could solve your issue. (Do not include spaces or tabs.) Treat WAN IP As LAN Bandwidth \u00b6 Allows incoming requests from this network\u2019s WAN IP address to be treated as LAN requests in terms of bandwidth. This often occurs when DNS rebinding protection is in place and clients on the LAN cannot contact the server directly but instead have to go through the WAN IP address. Suggested: Enabled Enable Relay \u00b6 The Relay allows connections to the server through a proxy relay when the server is not accessible otherwise. Relay connections are bandwidth limited. Suggested: Disabled I've seen several reports where people that had this Enabled had playback issues because it seems to be limited at 2 Mbps. Custom server access URLs \u00b6 A comma-separated list of URLs (either HTTP or HTTPS), which will be published to plex.tv for server discovery. This can be very useful in a few cases: if you\u2019re using a reverse proxy in front of the media server, or if your networking configuration is otherwise unique. For instance, if you have your own custom domain with subdomain. Suggested: Depending on your setup Example: https://plex.mycustomdomain.com:32400 Webhooks \u00b6 This feature can be enabled to allow your server to send events to external services. For example Notifiarr Transcoders \u00b6 Transcoder quality \u00b6 This will influence the quality used when transcoding media. Suggested: Automatic Most users should leave it set to Automatic. Hardware-Accelerated Streaming is not affected by this setting. Transcoder temporary directory \u00b6 Directory to use when transcoding temporary files for streaming. Suggested: Depending on your setup, if possible, your RAM (disk) Speeds up transcoding and less I/O, transcode data is temporary and doesn't need to be writing to a disk. If you run docker set this to /transcode and map it to /tmp/plex Default Linux only allocates a max of 50% of total system RAM to any ram directories (ie. /tmp, /dev/shm, etc.) WARNING YOU SHOULD NOT SPECIFY A LOCATION THAT RESIDES ON A NETWORK SHARE/DISK. Enable HDR tone mapping \u00b6 This feature allows Plex Media Server to maintain high visual fidelity of content, by applying tone mapping to convert it to SDR when transcoding HDR content. Suggested: Depending on your setup Most HDR content will be in 4K resolution. If your platform has to use software transcoding to perform the tone mapping, then it may well struggle convert 4K content in real-time, unless you\u2019re running on a very powerful system. Note Plex\u2019s tone mapping support should generally be able to produce good color mapping and help avoid the \u201cwashed out\u201d colors that occur when converting HDR content without tone mapping. Use hardware acceleration when available \u00b6 To use Hardware-Accelerated Streaming in Plex Media Server. Suggested: Enabled Use hardware-accelerated video encoding \u00b6 To use Hardware-Accelerated Encoding in Plex Media Server. Suggested: Enabled Manage \u00b6 Libraries \u00b6 Here you will find your libraries you've added to your Plex Media Server. Examples - [CLICK TO EXPAND] Movies (/data/media/movies) Movies-4K/Movies-UHD (/data/media/movies4k) / (/data/media/movies-uhd) Movies-Kids (/data/media/movies-kids) Movies-Anime (/data/media/movies-anime) TV (/data/media/tv) TV-4k/TV-UHD (/data/media/tv-4k) / (/data/media/tv-uhd) TV-Kids (/data/media/tv-kids) TV-Anime (/data/media/tv-anime) Anime (/data/media/anime) etc I will only cover the libraries settings for Movies and TV shows Movies \u00b6 The new version of the Plex Movie agent/scanner Suggested: Plex Movie Besides being much faster at scanning and getting metadata, one of the benefits of the new agent is that all agent settings are set at the library level, so that different libraries using the same agent can have different agent settings. When scanning this library, use local posters and artwork if present. (Local subtitles files will be used whether this is enabled or not) Suggested: Enabled I had this enabled because I thought it was needed for local subtitles (.srt), but after research it seems it isn't needed. If you want you could disable it, the choice is yours. When scanning this library, prefer embedded tags and local files if present. Suggested: Disabled If enabled you could end up with weird movie naming you don't want, happens especially from releases from RARBG Automatically create collections when there are more than the selected number of items for an available collection. Suggested: 2 Only show collections when you have more than one item in your library This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video. ATTENTION Creating these images can take a considerable amount of time , CPU resources , and increase the storage space used . The images are stored in your Plex database so be careful you don\u2019t fill the drive Suggested: Disabled Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward. This deletes the preview thumbnails it generated before you disabled this option If you want to show your Collection in your library Suggested: Disabled When Disabled your movies will show up normally when you use library view, This doesn't mean it will disable the collection view. TV \u00b6 The new version of the Plex Movie agent/scanner Suggested: Plex TV Series Besides being much faster at scanning and getting metadata, one of the benefits of the new agent is that all agent settings are set at the library level, so that different libraries using the same agent can have different agent settings. How episodes are named on disk. If your naming follows The MovieDB or TheTVDB choose that here. Use season titles when available. When scanning this library, use local posters and artwork if present. (Local subtitles files will be used whether this is enabled or not) Suggested: Enabled I had this enabled because I thought it was needed for local subtitles (.srt), but after research it seems it isn't needed. If you want you could disable it, the choice is yours. When scanning this library, prefer embedded tags and local files if present. Suggested: Disabled If enabled you could end up with weird movie naming you don't want, happens especially from releases from RARBG This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video. ATTENTION Creating these images can take a considerable amount of time , CPU resources , and increase the storage space used . The images are stored in your Plex database so be careful you don\u2019t fill the drive Suggested: Disabled Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward. This deletes the preview thumbnails it generated before you disabled this option If you want to show your Collection in your library Suggested: Disabled When Disabled your tv show will show up normally when you use library view, This doesn't mean it will disable the collection view. Generate intro detection for items in this library when enabled in server settings. Suggested: Enabled Ever watch a TV show and it starts playing that same minute and a half credits intro that you've already watched multiple times? Well, you can have your Plex Media Server analyze the TV shows to try and detect those introductions and then let you skip through them with a single click! For the information of this guide, I made use of the following sources Information I gathered from Several Discord servers Plex Support Articles Extra Information gathered from a Plex employee Own experience Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Suggested Plex Media Server Settings"},{"location":"Plex/Tips/Plex-media-server/#suggested-plex-media-server-settings","text":"So, what are the best Plex Media Server settings? This is something that can't really be answered because it depends on the use case and your personal preference. Here I will provide some suggestions and try to explain why I recommend these settings. Adjust it to your own liking and keep in mind that it is only a suggestion. I'm not a Plex Pro in anyway Attention Some settings are only visible for Plex Pass holders. All changes need to be done on your Plex Media Server. Why didn't you cover option .... ? I will only cover settings that I think might be interesting or are personal preference, if you would like me to cover some other settings, please contact me on","title":"Suggested Plex Media Server Settings"},{"location":"Plex/Tips/Plex-media-server/#settings","text":"","title":"Settings"},{"location":"Plex/Tips/Plex-media-server/#remote-access","text":"Make sure you have enabled advanced settings (This will be needed for all the settings) Enable/Disable Remote access (if you disable it ignore the rest of these settings) LAN/container IP Public IP If you need to provide a screenshot always mask this IP Manually specify public port if you run Docker or want a fixed port. Enter the Plex port you want to use. (default: 32400 ) Click on Apply and when everything is setup correctly, your Plex Media Server should be fully accessible outside of your network, so you can connect to your Plex server from outside. You may also need to configure port forwarding on your router. Detailed instructions are available HERE . Enter your internet upload speed here and Plex can ensure it operates within this boundary. Set the maximum bitrate of a remote stream from this server.","title":"Remote Access"},{"location":"Plex/Tips/Plex-media-server/#agents","text":"This can be ignored if you use the new Plex agents, The new agent settings are now managed \u201cper library\u201d.","title":"Agents"},{"location":"Plex/Tips/Plex-media-server/#library","text":"","title":"Library"},{"location":"Plex/Tips/Plex-media-server/#scan-my-library-automatically","text":"When a change is detected in the source location for a library\u2019s content, the appropriate library will be scanned. This function relies on the computer\u2019s operating system providing the \u201csomething changed\u201d trigger. Some operating systems don\u2019t provide this trigger and content mounted via a network will also typically not work. If your library doesn\u2019t automatically scan, you may have to set a periodical scan or do it manually. Suggested: Enabled TIP - Autoscan - [CLICK TO EXPAND] If for some reason ex. your operating systems don\u2019t provide this trigger or your storage is mounted on a network (SMB/NFS/Cloud Storage) or your library just doesn't automatically scan, or is just plain impractical, You might want to consider using autoscan. IBRACORP (A Youtube channel I collaborate with) has a video explaining it in further detail. Please don't forget to check out his other Unraid Video's HERE","title":"Scan my library automatically"},{"location":"Plex/Tips/Plex-media-server/#run-a-partial-scan-when-changes-are-detected","text":"When changes to library folders are detected, only scan the folder which changed rather than scanning the entire content location. This works together with the normal Update my library automatically setting (and requires that setting to be enabled). Suggested: Enabled","title":"Run a partial scan when changes are detected"},{"location":"Plex/Tips/Plex-media-server/#include-music-libraries-in-automatic-updates","text":"I don't do music, so this choice is up to you, and I won't be covering it.","title":"Include music libraries in automatic updates"},{"location":"Plex/Tips/Plex-media-server/#scan-my-library-periodically","text":"Turning this on will cause your Plex Media Server to run scans on your libraries using the designated interval. Suggested: Disabled Do you need a extra scan for your library to recognize new media?","title":"Scan my library periodically"},{"location":"Plex/Tips/Plex-media-server/#empty-trash-automatically-after-every-scan","text":"With this option enabled, when an item\u2019s file is deleted from the drive, it will be removed from the Plex library on the next scan. Disabling this option keeps the item in the library with an overlay over the item\u2019s poster when the item is removed. Suggested: Enabled","title":"Empty trash automatically after every scan"},{"location":"Plex/Tips/Plex-media-server/#allow-media-deletion","text":"The owner of the server will be allowed to delete media files from disk. Suggested: Disabled In my opinion Plex shouldn't touch your media files. Use Sonarr/Radarr to manage your media library. (For extra security I've setup Plex with Read Only access to the media library)","title":"Allow media deletion"},{"location":"Plex/Tips/Plex-media-server/#run-scanner-tasks-at-a-lower-priority","text":"On low-powered systems (e.g. ARM-based NAS devices), it can be beneficial to run scanner tasks at a lower priority than other tasks. This can help ensure they do not interfere with regular streaming. Suggested: Enabled Makes sure it uses less resources and ensure they do not interfere with regular streaming.","title":"Run scanner tasks at a lower priority"},{"location":"Plex/Tips/Plex-media-server/#generate-video-preview-thumbnails","text":"This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video. Suggested: Never Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward. ATTENTION Creating these images can Take a considerable amount of time Use a lot of CPU resources Increase the storage space used The images are stored in your Plex database location (/config) so be careful you don\u2019t fill the drive","title":"Generate video preview thumbnails"},{"location":"Plex/Tips/Plex-media-server/#generate-intro-video-markers","text":"You can choose to have TV episodes analyzed to try and detect when the \u201cintro\u201d occurs during playback. When detected, apps will then offer a Skip Intro button, allowing you to quickly jump over the intro. Suggested: as a scheduled task or Suggested: as a scheduled task and when media is added","title":"Generate intro video markers"},{"location":"Plex/Tips/Plex-media-server/#generate-chapter-thumbnails","text":"Chapter thumbnails provide images in the chapter view on supported apps. They can take a little time to generate and consume very minor additional disk space. Suggested: as a scheduled task or Suggested: as a scheduled task and when media is added","title":"Generate chapter thumbnails"},{"location":"Plex/Tips/Plex-media-server/#network","text":"","title":"Network"},{"location":"Plex/Tips/Plex-media-server/#enable-ipv6-support","text":"Enable IPv6 support. Suggested: Disabled If you're not sure your network 100% works with ip6 don't Enable it .","title":"Enable IPv6 support"},{"location":"Plex/Tips/Plex-media-server/#secure-connections","text":"Choose how your Plex Media Server handles secure connections. Suggested: Preferred Accept and prefer secure connections when they\u2019re available for a Plex app, but allow regular HTTP connections if the app doesn\u2019t support secure connections or if one can\u2019t be established","title":"Secure connections"},{"location":"Plex/Tips/Plex-media-server/#preferred-network-interface","text":"For users with multiple network cards or systems such as NAS or Docker where there is always another network interface which Plex client applications may try to use to connect to the Plex Media Server, with this option you can ensure that your local Plex clients would only try that interface. Attention If you have enabled Remote Access enabled and are having Plex automatically map the port (as opposed to specifying a port manually), then Plex Media Server has no control over which network interface is used for an automatically-mapped port. Thus, it\u2019s possible that Remote Access connections could come through an interface other than the one specified here. Suggested: Whatever suits your setup","title":"Preferred network interface"},{"location":"Plex/Tips/Plex-media-server/#strict-tls-configuration","text":"If this setting is enabled, it prevents Plex Media Server from using or accepting the deprecated TLSv1.0 and v1.1 protocols, as well as legacy weak ciphers. May prevent older clients from connecting. The vast majority of users will have no reason to enable this option (and receive no benefit from doing so). Suggested: Disabled","title":"Strict TLS configuration"},{"location":"Plex/Tips/Plex-media-server/#enable-local-network-discovery-gdm","text":"Enable \u201cG\u2019Day Mate\u201d discovery. This is used to allows Plex apps and servers to find each other automatically on a local network. Suggested: Enabled","title":"Enable local network discovery (GDM)"},{"location":"Plex/Tips/Plex-media-server/#remote-streams-allowed-per-user","text":"You can set the maximum number of simultaneous streams each remote user is allowed to have. Suggested: Whatever suits your setup","title":"Remote streams allowed per user"},{"location":"Plex/Tips/Plex-media-server/#lan-networks","text":"It lets you specify which IP addresses or networks will be considered to be \u201clocal\u201d to you. Suggested: Your local IP/netmasks If your local devices are seen as remote devices, then this could solve your issue. (Do not include spaces or tabs.)","title":"LAN Networks"},{"location":"Plex/Tips/Plex-media-server/#treat-wan-ip-as-lan-bandwidth","text":"Allows incoming requests from this network\u2019s WAN IP address to be treated as LAN requests in terms of bandwidth. This often occurs when DNS rebinding protection is in place and clients on the LAN cannot contact the server directly but instead have to go through the WAN IP address. Suggested: Enabled","title":"Treat WAN IP As LAN Bandwidth"},{"location":"Plex/Tips/Plex-media-server/#enable-relay","text":"The Relay allows connections to the server through a proxy relay when the server is not accessible otherwise. Relay connections are bandwidth limited. Suggested: Disabled I've seen several reports where people that had this Enabled had playback issues because it seems to be limited at 2 Mbps.","title":"Enable Relay"},{"location":"Plex/Tips/Plex-media-server/#custom-server-access-urls","text":"A comma-separated list of URLs (either HTTP or HTTPS), which will be published to plex.tv for server discovery. This can be very useful in a few cases: if you\u2019re using a reverse proxy in front of the media server, or if your networking configuration is otherwise unique. For instance, if you have your own custom domain with subdomain. Suggested: Depending on your setup Example: https://plex.mycustomdomain.com:32400","title":"Custom server access URLs"},{"location":"Plex/Tips/Plex-media-server/#webhooks","text":"This feature can be enabled to allow your server to send events to external services. For example Notifiarr","title":"Webhooks"},{"location":"Plex/Tips/Plex-media-server/#transcoders","text":"","title":"Transcoders"},{"location":"Plex/Tips/Plex-media-server/#transcoder-quality","text":"This will influence the quality used when transcoding media. Suggested: Automatic Most users should leave it set to Automatic. Hardware-Accelerated Streaming is not affected by this setting.","title":"Transcoder quality"},{"location":"Plex/Tips/Plex-media-server/#transcoder-temporary-directory","text":"Directory to use when transcoding temporary files for streaming. Suggested: Depending on your setup, if possible, your RAM (disk) Speeds up transcoding and less I/O, transcode data is temporary and doesn't need to be writing to a disk. If you run docker set this to /transcode and map it to /tmp/plex Default Linux only allocates a max of 50% of total system RAM to any ram directories (ie. /tmp, /dev/shm, etc.) WARNING YOU SHOULD NOT SPECIFY A LOCATION THAT RESIDES ON A NETWORK SHARE/DISK.","title":"Transcoder temporary directory"},{"location":"Plex/Tips/Plex-media-server/#enable-hdr-tone-mapping","text":"This feature allows Plex Media Server to maintain high visual fidelity of content, by applying tone mapping to convert it to SDR when transcoding HDR content. Suggested: Depending on your setup Most HDR content will be in 4K resolution. If your platform has to use software transcoding to perform the tone mapping, then it may well struggle convert 4K content in real-time, unless you\u2019re running on a very powerful system. Note Plex\u2019s tone mapping support should generally be able to produce good color mapping and help avoid the \u201cwashed out\u201d colors that occur when converting HDR content without tone mapping.","title":"Enable HDR tone mapping"},{"location":"Plex/Tips/Plex-media-server/#use-hardware-acceleration-when-available","text":"To use Hardware-Accelerated Streaming in Plex Media Server. Suggested: Enabled","title":"Use hardware acceleration when available"},{"location":"Plex/Tips/Plex-media-server/#use-hardware-accelerated-video-encoding","text":"To use Hardware-Accelerated Encoding in Plex Media Server. Suggested: Enabled","title":"Use hardware-accelerated video encoding"},{"location":"Plex/Tips/Plex-media-server/#manage","text":"","title":"Manage"},{"location":"Plex/Tips/Plex-media-server/#libraries","text":"Here you will find your libraries you've added to your Plex Media Server. Examples - [CLICK TO EXPAND] Movies (/data/media/movies) Movies-4K/Movies-UHD (/data/media/movies4k) / (/data/media/movies-uhd) Movies-Kids (/data/media/movies-kids) Movies-Anime (/data/media/movies-anime) TV (/data/media/tv) TV-4k/TV-UHD (/data/media/tv-4k) / (/data/media/tv-uhd) TV-Kids (/data/media/tv-kids) TV-Anime (/data/media/tv-anime) Anime (/data/media/anime) etc I will only cover the libraries settings for Movies and TV shows","title":"Libraries"},{"location":"Plex/Tips/Plex-media-server/#movies","text":"The new version of the Plex Movie agent/scanner Suggested: Plex Movie Besides being much faster at scanning and getting metadata, one of the benefits of the new agent is that all agent settings are set at the library level, so that different libraries using the same agent can have different agent settings. When scanning this library, use local posters and artwork if present. (Local subtitles files will be used whether this is enabled or not) Suggested: Enabled I had this enabled because I thought it was needed for local subtitles (.srt), but after research it seems it isn't needed. If you want you could disable it, the choice is yours. When scanning this library, prefer embedded tags and local files if present. Suggested: Disabled If enabled you could end up with weird movie naming you don't want, happens especially from releases from RARBG Automatically create collections when there are more than the selected number of items for an available collection. Suggested: 2 Only show collections when you have more than one item in your library This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video. ATTENTION Creating these images can take a considerable amount of time , CPU resources , and increase the storage space used . The images are stored in your Plex database so be careful you don\u2019t fill the drive Suggested: Disabled Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward. This deletes the preview thumbnails it generated before you disabled this option If you want to show your Collection in your library Suggested: Disabled When Disabled your movies will show up normally when you use library view, This doesn't mean it will disable the collection view.","title":"Movies"},{"location":"Plex/Tips/Plex-media-server/#tv","text":"The new version of the Plex Movie agent/scanner Suggested: Plex TV Series Besides being much faster at scanning and getting metadata, one of the benefits of the new agent is that all agent settings are set at the library level, so that different libraries using the same agent can have different agent settings. How episodes are named on disk. If your naming follows The MovieDB or TheTVDB choose that here. Use season titles when available. When scanning this library, use local posters and artwork if present. (Local subtitles files will be used whether this is enabled or not) Suggested: Enabled I had this enabled because I thought it was needed for local subtitles (.srt), but after research it seems it isn't needed. If you want you could disable it, the choice is yours. When scanning this library, prefer embedded tags and local files if present. Suggested: Disabled If enabled you could end up with weird movie naming you don't want, happens especially from releases from RARBG This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video. ATTENTION Creating these images can take a considerable amount of time , CPU resources , and increase the storage space used . The images are stored in your Plex database so be careful you don\u2019t fill the drive Suggested: Disabled Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward. This deletes the preview thumbnails it generated before you disabled this option If you want to show your Collection in your library Suggested: Disabled When Disabled your tv show will show up normally when you use library view, This doesn't mean it will disable the collection view. Generate intro detection for items in this library when enabled in server settings. Suggested: Enabled Ever watch a TV show and it starts playing that same minute and a half credits intro that you've already watched multiple times? Well, you can have your Plex Media Server analyze the TV shows to try and detect those introductions and then let you skip through them with a single click! For the information of this guide, I made use of the following sources Information I gathered from Several Discord servers Plex Support Articles Extra Information gathered from a Plex employee Own experience Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"TV"},{"location":"Plex/profiles/","text":"Plex Profiles \u00b6 Here you will find a collection of profiles you can use with Plex. Profiles are used if Plex has issues direct playing your media on your devices, these profiles could help but result. How to \u00b6 To make use of the profiles you need to add it in your your plex folder Docker \u00b6 Example paths: Hotio's container: /appdata/plex/Profiles LSIO container: /appdata/plex/database/Library/Application Support/Plex Media Server/Profiles or /appdata/plex/Library/Application Support/Plex Media Server/Profiles Profiles \u00b6 If you got some to share, pls make a PR so we can collect them at one place Android Shield \u00b6 Please name the file: Android-SHIELD Android TV.xml Shield Profile
    Chromecast \u00b6 Please name the file: Chromecast.xml Chromecast Profile Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Plex Profiles"},{"location":"Plex/profiles/#plex-profiles","text":"Here you will find a collection of profiles you can use with Plex. Profiles are used if Plex has issues direct playing your media on your devices, these profiles could help but result.","title":"Plex Profiles"},{"location":"Plex/profiles/#how-to","text":"To make use of the profiles you need to add it in your your plex folder","title":"How to"},{"location":"Plex/profiles/#docker","text":"Example paths: Hotio's container: /appdata/plex/Profiles LSIO container: /appdata/plex/database/Library/Application Support/Plex Media Server/Profiles or /appdata/plex/Library/Application Support/Plex Media Server/Profiles","title":"Docker"},{"location":"Plex/profiles/#profiles","text":"If you got some to share, pls make a PR so we can collect them at one place","title":"Profiles"},{"location":"Plex/profiles/#android-shield","text":"Please name the file: Android-SHIELD Android TV.xml Shield Profile
    ","title":"Android Shield"},{"location":"Plex/profiles/#chromecast","text":"Please name the file: Chromecast.xml Chromecast Profile Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Chromecast"},{"location":"Radarr/","text":"Radarr \u00b6 Here you will find a collection of Radarr Guides I made. v3 Radarr Branch: latest \u00b6 (stable) (v3) Builds Pushed only when intentionally released Github Branch: master Docker: hotio/radarr:release hotio/radarr:release","title":"Home"},{"location":"Radarr/#radarr","text":"Here you will find a collection of Radarr Guides I made.","title":"Radarr"},{"location":"Radarr/#v3-radarr-branch-latest","text":"(stable) (v3) Builds Pushed only when intentionally released Github Branch: master Docker: hotio/radarr:release hotio/radarr:release","title":"v3 Radarr Branch: latest"},{"location":"Radarr/Radarr-Quality-Settings-File-Size/","text":"Quality Settings (File Size) \u00b6 I often get the question what's the best Quality Settings to use, Well it's actually personal preference so I will show you a recommended Quality Settings. But before you continue to read, as with all my guides: If you don't care about quality then stop reading and see if the other tutorials are helpful for you. This Quality Settings has been created and tested with info I got from others, and release comparisons from different sources. FAQ - [CLICK TO EXPAND] FAQ \u00b6 Q: Why do you only show starting from HDTV720p? A: With the big screens these days anything lower doesn't look watchable Q: Why do you have some sized set to max? A: You probably didn't read the bold text above Q: When I set Bluray to MAX size I get often ISO's/ Bluray folder structure. A: You probable have configured your Quality Profiles wrong and enabled BR-DISK and didn't add the recommended Custom Profile to help Radarr to block/ignore it. BR-DISK Q: Some movies won't be grabbed because of these settings. A: If you notice that some movies won't be grabbed because of these size settings you can provide me a proof with a screenshot and the error it shows you when you do a interactive search (non redacted except the indexer/tracker if you want to). I will only accept changes that are International releases no multi, or dubbed language releases. I won't accept mislabeled source releases like from MeGusta, etc (they should learn to name their stuff decent first). I won't accept changes for micro sized releases. Documentaries and cartoons are often much smaller so I probably won't edit those either. Radarr Quality Definitions \u00b6 Quality Minimum Maximum HDTV-720p 17.1 400 WEBDL-720p 17.1 400 WEBRip-720p 17.1 400 Bluray-720p 25.7 400 HDTV-1080p 33.7 400 WEBDL-1080p 25.2 400 WEBRip-1080p 25.2 400 Bluray-1080p 50.8 400 Remux-1080p 136.8 400 HDTV-2160p 85 400 WEBDL-2160p 85 400 WEBRip-2160p 85 400 Bluray-2160p 102 400 Remux-2160p 221.5 400 Note The reason why you don't see the preferred score in the Table is because we want max quality anyway so as high as possible. The highest preferred quality you can manually enter is 1 less than the Maximum quality. If you use the slider, the preferred quality can be up to 5 lesser than the Maximum quality. Make sure you have enabled 'Show Advanced' in Radarr, if you don't see a provision to enter the scores, under the Quality settings. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Quality Settings (File Size)"},{"location":"Radarr/Radarr-Quality-Settings-File-Size/#quality-settings-file-size","text":"I often get the question what's the best Quality Settings to use, Well it's actually personal preference so I will show you a recommended Quality Settings. But before you continue to read, as with all my guides: If you don't care about quality then stop reading and see if the other tutorials are helpful for you. This Quality Settings has been created and tested with info I got from others, and release comparisons from different sources. FAQ - [CLICK TO EXPAND]","title":"Quality Settings (File Size)"},{"location":"Radarr/Radarr-Quality-Settings-File-Size/#faq","text":"Q: Why do you only show starting from HDTV720p? A: With the big screens these days anything lower doesn't look watchable Q: Why do you have some sized set to max? A: You probably didn't read the bold text above Q: When I set Bluray to MAX size I get often ISO's/ Bluray folder structure. A: You probable have configured your Quality Profiles wrong and enabled BR-DISK and didn't add the recommended Custom Profile to help Radarr to block/ignore it. BR-DISK Q: Some movies won't be grabbed because of these settings. A: If you notice that some movies won't be grabbed because of these size settings you can provide me a proof with a screenshot and the error it shows you when you do a interactive search (non redacted except the indexer/tracker if you want to). I will only accept changes that are International releases no multi, or dubbed language releases. I won't accept mislabeled source releases like from MeGusta, etc (they should learn to name their stuff decent first). I won't accept changes for micro sized releases. Documentaries and cartoons are often much smaller so I probably won't edit those either.","title":"FAQ"},{"location":"Radarr/Radarr-Quality-Settings-File-Size/#radarr-quality-definitions","text":"Quality Minimum Maximum HDTV-720p 17.1 400 WEBDL-720p 17.1 400 WEBRip-720p 17.1 400 Bluray-720p 25.7 400 HDTV-1080p 33.7 400 WEBDL-1080p 25.2 400 WEBRip-1080p 25.2 400 Bluray-1080p 50.8 400 Remux-1080p 136.8 400 HDTV-2160p 85 400 WEBDL-2160p 85 400 WEBRip-2160p 85 400 Bluray-2160p 102 400 Remux-2160p 221.5 400 Note The reason why you don't see the preferred score in the Table is because we want max quality anyway so as high as possible. The highest preferred quality you can manually enter is 1 less than the Maximum quality. If you use the slider, the preferred quality can be up to 5 lesser than the Maximum quality. Make sure you have enabled 'Show Advanced' in Radarr, if you don't see a provision to enter the scores, under the Quality settings. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Radarr Quality Definitions"},{"location":"Radarr/Radarr-collection-of-custom-formats/","text":"Collection of Custom Formats \u00b6 Here I will try to collect a collection of the most needed and commonly used Custom Formats. These have been collected from either discussions on discord or that I created with help from others. Special thanks to rg9400 , bakerboy448 and Team Radarr. With Radarr V3, Custom Formats are much more advanced/powerful than with v0.2, although this also means a Custom Format is much more complicated to setup. After requesting at Team Radarr we now have the options to import/export the Custom Formats in a JSON format that we can use here what makes it easier to share the different kind of Custom Formats. I also made 3 guides related to this one. How to import Custom Formats . Where I will try to explain how to import the Custom Formats. How to upgrade Custom Formats . Where I will try to explain how to upgrade your existing the Custom Formats. How to setup Custom Formats Where I will try to explain how to make the most use of Custom Formats and show some personal examples that I'm using. That you can use to get a idea how to setup yours. Tip I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. INDEX \u00b6 Audio Advanced #1 Audio Advanced #2 Audio Channels HDR Metadata TrueHD ATMOS FLAC 1.0 Mono DV HDR10 DTS X PCM 2.0 Stereo DV ATMOS (undefined) DTS-HD HRA 3.0 Sound DV HLG DD+ ATMOS AAC 4.0 Sound DV SDR TrueHD DD 5.1 Surround HDR10+ DTS-HD MA MP3 6.1 Surround HDR10 DD+ Opus 7.1 Surround HDR DTS-ES 9.1 Surround HDR (undefined) DTS PQ HLG Movie Versions Unwanted Misc HQ Source Groups Hybrid BR-DISK Repack/Proper HQ-Remux Remaster EVO (no WEBDL) Multi HQ 4K Remaster LQ x264 HQ-WEBDL Special Editions x265 (720/1080p) x265 Criterion Collection 3D MPEG2 Theatrical Cut No-RlsGroup FreeLeech IMAX Obfuscated Dutch Groups IMAX Enhanced DV (WEBDL) Anime Dual Audio Audio Advanced \u00b6 TrueHD ATMOS \u00b6 TrueHD ATMOS - [CLICK TO EXPAND] From Wikipedia, the free encyclopedia Dolby Atmos is a surround sound technology developed by Dolby Laboratories. It expands on existing surround sound systems by adding height channels, allowing sounds to be interpreted as three-dimensional objects. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"496f355514737f7d83bf7aa4d24f8169\" , \"trash_score\" : \"5000\" , \"name\" : \"TrueHD ATMOS\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"TrueHD\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"TrueHD|W4NK3R|HQMUX\" } }, { \"name\" : \"ATMOS\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(ATMOS|CtrlHD|W4NK3R|DON)(\\\\b|\\\\d)\" } }, { \"name\" : \"Not Dolby Digital Plus \" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"[^-]dd[p+]|eac3\" } }, { \"name\" : \"Not DTS\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\bDTS(\\\\b|\\\\d)\" } }, { \"name\" : \"Not Basic Dolby Digital\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"(? Profiles ) and then set the score to -1000 or even -10000 Note Depending on your renaming scheme it could happen that Radarr will match renamed files after they are downloaded and imported as BR-DISK , This is a cosmetic annoyance till I come up for another way to solve this, being that this Custom Format is used to not download BR-DISK it does its purpose as intended. Several reasons why this is happening: Blame the often wrongly used naming of x265 encodes. Radarr v3/v4 uses dynamic custom formats. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"ed38b889b31be83fda192888e2286d83\" , \"trash_score\" : \"-10000\" , \"name\" : \"BR-DISK\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"DOES NOT INCLUDE ANY OF THESE WORDS\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"^(?!.*\\\\b((? Profiles ) and then set the score to -1000 or even -10000 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"90cedc1fea7ea5d11298bebd3d1d3223\" , \"trash_score\" : \"-10000\" , \"name\" : \"EVO (no WEBDL)\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"EVO\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\bEVO(TGX)?\\\\b\" } }, { \"name\" : \"WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 8 } } ] } TOP LQ \u00b6 Low Quality Releases = LQ LQ - [CLICK TO EXPAND] A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality. Note You might want to add the following also EVO (no WEBDL) BLOCK1 = Low-Quality Releases (often banned groups) BLOCK2 = Another Small list of often banned groups. BLOCK3 = Banned release groups. BLOCK4 = Low-quality and/or dishonest release groups. BLOCK5 = Banned Release Groups. BLOCK6 = Rips from Scene and quick-to-release P2P groups while adequate, are not considered high quality. RiffTrax = RiffTrax is an American company that produces scripted humorous audio commentary tracks intended to be played in unison with particular television programs and films, In short just annoying !!! JSON - [CLICK TO EXPAND] { \"trash_id\" : \"90a6f9a284dff5103f6346090e6280c8\" , \"trash_score\" : \"-10000\" , \"name\" : \"LQ\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"[BLOCK1]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(aXXo|CrEwSaDe|DNL|FaNGDiNG0|FRDS|HDTime|iPlanet|-KiNGDOM|Leffe|mHD|mSD|nHD|nikt0|nSD|NhaNc3|PRODJi|RDN|SANTi|STUTTERSHIT|WAF|x0r|YIFY|YTS)\\\\b\" } }, { \"name\" : \"[BLOCK2]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(CDDHD|-EuReKA|DDR|DNL|-BARC0DE)\\\\b\" } }, { \"name\" : \"[BLOCK3]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(x0r|nikt0|FGT|d3g|MeGusta|YIFY|YTS|tigole|C4K|RARBG|4K4U)\\\\b\" } }, { \"name\" : \"[BLOCK4]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(-AROMA|aXXo|CrEwSaDe|d3g|DNL|FGT|FaNGDiNG0|FRDS|HDTime|iPlanet|-KiNGDOM|Leffe|MeGusta|mHD|mSD|nHD|nikt0|nSD|NhaNc3|PRODJi|RDN|SANTi|STUTTERSHIT|WAF|x0r|YIFY|YTS)\\\\b\" } }, { \"name\" : \"[BLOCK5]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(RARBG|FGT|STUTTERSHIT|LiGaS|-DDR|-Zeus|Tigole|TBS)\\\\b\" } }, { \"name\" : \"[BLOCK6]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(-beAst|CHD|HDWinG|MTeam|MySiLU|-WiKi)\\\\b\" } }, { \"name\" : \"RiffTrax\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(Rifftrax|RU4HD)\\\\b\" } }, { \"name\" : \"Nominated Unwanted Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(TEKNO3D|TIKO|Liber8)\\\\b\" } } ] } TOP x265 (720/1080p) \u00b6 720/1080p no x265 = x265 (720/1080p) 720/1080p no x265 - [CLICK TO EXPAND] This blocks/ignores 720/1080p releases that are encoded in x265 You will need to add the following to your new Custom Format when created in your Quality Profile ( Setting => Profiles ) and then set the score to -1000 or even -10000 Quote x265 is good for 4k stuff or 1080p if they used the the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities. So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people Microsized & Wrong Source \u00b6 It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it. Golden Rule \u00b6 That's why I created my own golden rule. 720/1080p => x264 2160p/4k => x265 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"dc98083864ea246d05a42df0d05f81cc\" , \"trash_score\" : \"-10000\" , \"name\" : \"x265 (720/1080p)\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"720p\" , \"implementation\" : \"ResolutionSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 720 } }, { \"name\" : \"1080p\" , \"implementation\" : \"ResolutionSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 1080 } }, { \"name\" : \"x265/HEVC\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"[xh][ .]?265|\\\\bHEVC(\\\\b|\\\\d)\" } } ] } TOP 3D \u00b6 3D - [CLICK TO EXPAND] If you prefer or not prefer 3D. You can use Custom Format or use Restrictions ( Settings => Indexers => Restrictions ) what ever you prefer. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"b8cd450cbfa689c0259a01d9e29ba3d6\" , \"trash_score\" : \"-10000\" , \"name\" : \"3D\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"3D\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b3d|sbs|half[ .-]ou|half[ .-]sbs\\\\b\" } }] } TOP No-RlsGroup \u00b6 No-RlsGroup - [CLICK TO EXPAND] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match Warning If you don't use a decent filenames like not adding release groups don't add this Custom Format, except if you want to upgrade them. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"ae9b7c9ebde1f3bd336a8cbd1ec4c5e5\" , \"trash_score\" : \"-10000\" , \"name\" : \"No-RlsGroup\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"No -RlsGroup\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"-[ ]?(?!(HD|MA|ES|X)\\\\b)\\\\w+?(\\\\.\\\\w{3})?$\" } }, { \"name\" : \"No Weird Groups or Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(Tigole|Joy|YIFY|YTS.MX|YTS.LT|FreetheFish|afm72|Anna|Bandi|Ghost|Kappa|MONOLITH|Qman|RZeroX|SAMPA|Silence|theincognito|t3nzin|Vyndros|HDO|DusIctv|DHD|SEV|CtrlHD|-ZR-|ADC|XZVN|RH|Kametsu)(?=\\\\]|\\\\))\" } }, { \"name\" : \"No Weird Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"KRaLiMaRKo|E\\\\.N\\\\.D|D\\\\-Z0N3|Koten_Gars|BluDragon\" } } ] } TOP Obfuscated \u00b6 Obfuscated - [CLICK TO EXPAND] Optional (use these only if you dislike renamed and retagged releases) JSON - [CLICK TO EXPAND] { \"trash_id\" : \"7357cf5161efbf8c4d5d0c30b4815ee2\" , \"trash_score\" : \"-10000\" , \"name\" : \"Obfuscated\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Obfuscated\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"(-4P|-4Planet|-AsRequested|-BUYMORE|-Chamele0n|-GEROV|-iNC0GNiTO|-NZBGeek|-Obfuscated|-postbot|-Rakuv|-Scrambled|-WhiteRev|-xpost|-WRTEAM|-CAPTCHA|_nzb)\\\\b\" } }, { \"name\" : \"Retagged\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"(\\\\[rartv\\\\]|\\\\[eztv\\\\]|\\\\[TGx\\\\])\" } } ] } TOP DV (WEBDL) \u00b6 Dolby Vision = DoVi = DV DV (WEBDL) - [CLICK TO EXPAND] This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"923b6abef9b17f937fab56cfcf89e1f1\" , \"trash_score\" : \"-10000\" , \"name\" : \"DV (WEBDL)\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Dolby Vision\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(dv|dovi|dolby[ .]?vision)\\\\b\" } }, { \"name\" : \"WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 8 } }, { \"name\" : \"Group Exceptions\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(SIC|HULU)\\\\b\" } }, { \"name\" : \"DV HDR10\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(DV[ .]HDR10)\\\\b\" } } ] } TOP Misc \u00b6 Repack Proper \u00b6 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"e7718d7a3ce595f289bfee26adc178f5\" , \"trash_score\" : \"1\" , \"name\" : \"Repack/Proper\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"Repack\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"Repack\" } }, { \"name\" : \"Proper\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"Proper\" } }, { \"name\" : \"Rerip\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"Rerip\" } } ] } TOP x264 \u00b6 x264 - [CLICK TO EXPAND] x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format, and is released under the terms of the GNU GPL . If you want maximum compatibility and have much better direct play support then use x264 for 720p/1080p JSON - [CLICK TO EXPAND] { \"trash_id\" : \"2899d84dc9372de3408e6d8cc18e9666\" , \"name\" : \"x264\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"x264\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"[xh][ .]?264|\\\\bAVC(\\\\b|\\\\d)\" } }, { \"name\" : \"Remux\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 5 } } ] } TOP x265 \u00b6 x265 - [CLICK TO EXPAND] x265 is a free software library and application for encoding video streams into the H.265/MPEG-H HEVC compression format, and is released under the terms of the GNU GPL . Please don't forget to read the following Microsized & Wrong Source JSON - [CLICK TO EXPAND] { \"trash_id\" : \"9170d55c319f4fe40da8711ba9d8050d\" , \"name\" : \"x265\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"x265\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"[xh][ .]?265|\\\\bHEVC(\\\\b|\\\\d)\" } }, { \"name\" : \"Remux\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 5 } } ] } TOP FreeLeech \u00b6 FreeLeech - [CLICK TO EXPAND] Sometimes, torrent sites set a torrent to be freeleech. This means, that the download of this torrent will not count towards your download quota or ratio. This is really useful, if you do not have the best ratio yet. Attention Keep in mind not all trackers support this option. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"0d91270a7255a1e388fa85e959f359d8\" , \"trash_score\" : \"5\" , \"name\" : \"FreeLeech\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"FreeLeech\" , \"implementation\" : \"IndexerFlagSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 1 } }] } TOP Dutch Groups \u00b6 Dutch Groups - [CLICK TO EXPAND] If you prefer movies with also a Dutch audio track. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"9de657fd3d327ecf144ec73dfe3a3e9a\" , \"name\" : \"Dutch Groups\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"Dutch Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"-CyTSuNee|-SHiTSoNy|-QoQ\" } }] } TOP Anime Dual Audio \u00b6 Anime Dual Audio - [CLICK TO EXPAND] Description placeholder JSON - [CLICK TO EXPAND] { \"trash_id\" : \"4a3b087eea2ce012fcc1ce319259a3be\" , \"name\" : \"Anime Dual Audio\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Dual Audio\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"dual.?audio\" } }, { \"name\" : \"BluDragon\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"bludragon\" } }, { \"name\" : \"EN+JA\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"EN\\\\+JA|JA\\\\+EN\" } }, { \"name\" : \"ZR\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\bZR\\\\b\" } }, { \"name\" : \"Japanese Language\" , \"implementation\" : \"LanguageSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : 8 } } ] } TOP MPEG2 \u00b6 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"ff86c4326018682f817830ced463332b\" , \"name\" : \"MPEG2\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"MPEG2\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"MPEG[-.]?2\" } }] } TOP Multi \u00b6 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"4b900e171accbfb172729b63323ea8ca\" , \"name\" : \"Multi\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"Multi\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\bMulti(\\\\b|\\\\d)\" } }] } TOP HQ Source Groups \u00b6 HQ \u00b6 HQ-Releases = HQ HQ - [CLICK TO EXPAND] A collection of P2P groups that are known for their high quality releases. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"1c7d7b04b15cc53ea61204bebbcc1ee2\" , \"trash_score\" : \"1800\" , \"name\" : \"HQ\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"[BLOCK1]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"-BMF|-decibeL|\\\\bD-Z0N3\\\\b|\\\\bFTW-HD\\\\b|-HiFi|-NCmt|-OISTiLe|-TDD|\\\\bZQ\\\\b\" } }, { \"name\" : \"[BLOCK2]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"-HiSD|-NTb|-ift|-geek|-tnp|-pter|-bbq|FraMeSToR\" } }, { \"name\" : \"[BLOCK3]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"-CRiSC|-CtrlHD|-DON|\\\\b-EA\\\\b|-EbP|-LolHD|-SbR|-TayTo|-VietHD\" } }, { \"name\" : \"Not WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"Not WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 8 } }, { \"name\" : \"Not REMUX\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 5 } }, { \"name\" : \"Not 2160p\" , \"implementation\" : \"ResolutionSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 2160 } } ] } TOP HQ-WEBDL \u00b6 HQ-WEBDL - [CLICK TO EXPAND] A personal collection of P2P WEB-DL groups that are known for their high quality releases. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"26fa26253af4001701fedb56cec376dc\" , \"trash_score\" : \"1750\" , \"name\" : \"HQ-WEBDL\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"P2P Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(-TOMMY|-BLUTONiUM|-NTG|-TEPES|-KiNGS|-NTb|-CMRG|AJP69|-PHOENiX|-monkee|-MZABI|ROCCaT|FLUX|NOSiViD|SIC)\\\\b\" } }, { \"name\" : \"WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 8 } } ] } TOP HQ-Remux \u00b6 HQ-Remux - [CLICK TO EXPAND] A personal collection of P2P Remux groups that are known for their high quality releases. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"403f3f6266b90439cacc1e07cae4dc2d\" , \"trash_score\" : \"1900\" , \"name\" : \"HQ-Remux\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Remux Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(FraMeSToR|EPSiLON|KRaLiMaRKo|PmP|BLURANiUM|SiCFoI|SURFINBIRD|HiFi|iFT)\\\\b\" } }, { \"name\" : \"REMUX\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : 5 } } ] } TOP","title":"Collection of Custom Formats"},{"location":"Radarr/Radarr-collection-of-custom-formats/#collection-of-custom-formats","text":"Here I will try to collect a collection of the most needed and commonly used Custom Formats. These have been collected from either discussions on discord or that I created with help from others. Special thanks to rg9400 , bakerboy448 and Team Radarr. With Radarr V3, Custom Formats are much more advanced/powerful than with v0.2, although this also means a Custom Format is much more complicated to setup. After requesting at Team Radarr we now have the options to import/export the Custom Formats in a JSON format that we can use here what makes it easier to share the different kind of Custom Formats. I also made 3 guides related to this one. How to import Custom Formats . Where I will try to explain how to import the Custom Formats. How to upgrade Custom Formats . Where I will try to explain how to upgrade your existing the Custom Formats. How to setup Custom Formats Where I will try to explain how to make the most use of Custom Formats and show some personal examples that I'm using. That you can use to get a idea how to setup yours. Tip I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Collection of Custom Formats"},{"location":"Radarr/Radarr-collection-of-custom-formats/#index","text":"Audio Advanced #1 Audio Advanced #2 Audio Channels HDR Metadata TrueHD ATMOS FLAC 1.0 Mono DV HDR10 DTS X PCM 2.0 Stereo DV ATMOS (undefined) DTS-HD HRA 3.0 Sound DV HLG DD+ ATMOS AAC 4.0 Sound DV SDR TrueHD DD 5.1 Surround HDR10+ DTS-HD MA MP3 6.1 Surround HDR10 DD+ Opus 7.1 Surround HDR DTS-ES 9.1 Surround HDR (undefined) DTS PQ HLG Movie Versions Unwanted Misc HQ Source Groups Hybrid BR-DISK Repack/Proper HQ-Remux Remaster EVO (no WEBDL) Multi HQ 4K Remaster LQ x264 HQ-WEBDL Special Editions x265 (720/1080p) x265 Criterion Collection 3D MPEG2 Theatrical Cut No-RlsGroup FreeLeech IMAX Obfuscated Dutch Groups IMAX Enhanced DV (WEBDL) Anime Dual Audio","title":"INDEX"},{"location":"Radarr/Radarr-collection-of-custom-formats/#audio-advanced","text":"","title":"Audio Advanced"},{"location":"Radarr/Radarr-collection-of-custom-formats/#truehd-atmos","text":"TrueHD ATMOS - [CLICK TO EXPAND] From Wikipedia, the free encyclopedia Dolby Atmos is a surround sound technology developed by Dolby Laboratories. It expands on existing surround sound systems by adding height channels, allowing sounds to be interpreted as three-dimensional objects. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"496f355514737f7d83bf7aa4d24f8169\" , \"trash_score\" : \"5000\" , \"name\" : \"TrueHD ATMOS\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"TrueHD\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"TrueHD|W4NK3R|HQMUX\" } }, { \"name\" : \"ATMOS\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(ATMOS|CtrlHD|W4NK3R|DON)(\\\\b|\\\\d)\" } }, { \"name\" : \"Not Dolby Digital Plus \" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"[^-]dd[p+]|eac3\" } }, { \"name\" : \"Not DTS\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\bDTS(\\\\b|\\\\d)\" } }, { \"name\" : \"Not Basic Dolby Digital\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"(? Profiles ) and then set the score to -1000 or even -10000 Note Depending on your renaming scheme it could happen that Radarr will match renamed files after they are downloaded and imported as BR-DISK , This is a cosmetic annoyance till I come up for another way to solve this, being that this Custom Format is used to not download BR-DISK it does its purpose as intended. Several reasons why this is happening: Blame the often wrongly used naming of x265 encodes. Radarr v3/v4 uses dynamic custom formats. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"ed38b889b31be83fda192888e2286d83\" , \"trash_score\" : \"-10000\" , \"name\" : \"BR-DISK\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"DOES NOT INCLUDE ANY OF THESE WORDS\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"^(?!.*\\\\b((? Profiles ) and then set the score to -1000 or even -10000 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"90cedc1fea7ea5d11298bebd3d1d3223\" , \"trash_score\" : \"-10000\" , \"name\" : \"EVO (no WEBDL)\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"EVO\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\bEVO(TGX)?\\\\b\" } }, { \"name\" : \"WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 8 } } ] } TOP","title":"EVO (no WEBDL)"},{"location":"Radarr/Radarr-collection-of-custom-formats/#lq","text":"Low Quality Releases = LQ LQ - [CLICK TO EXPAND] A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality. Note You might want to add the following also EVO (no WEBDL) BLOCK1 = Low-Quality Releases (often banned groups) BLOCK2 = Another Small list of often banned groups. BLOCK3 = Banned release groups. BLOCK4 = Low-quality and/or dishonest release groups. BLOCK5 = Banned Release Groups. BLOCK6 = Rips from Scene and quick-to-release P2P groups while adequate, are not considered high quality. RiffTrax = RiffTrax is an American company that produces scripted humorous audio commentary tracks intended to be played in unison with particular television programs and films, In short just annoying !!! JSON - [CLICK TO EXPAND] { \"trash_id\" : \"90a6f9a284dff5103f6346090e6280c8\" , \"trash_score\" : \"-10000\" , \"name\" : \"LQ\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"[BLOCK1]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(aXXo|CrEwSaDe|DNL|FaNGDiNG0|FRDS|HDTime|iPlanet|-KiNGDOM|Leffe|mHD|mSD|nHD|nikt0|nSD|NhaNc3|PRODJi|RDN|SANTi|STUTTERSHIT|WAF|x0r|YIFY|YTS)\\\\b\" } }, { \"name\" : \"[BLOCK2]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(CDDHD|-EuReKA|DDR|DNL|-BARC0DE)\\\\b\" } }, { \"name\" : \"[BLOCK3]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(x0r|nikt0|FGT|d3g|MeGusta|YIFY|YTS|tigole|C4K|RARBG|4K4U)\\\\b\" } }, { \"name\" : \"[BLOCK4]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(-AROMA|aXXo|CrEwSaDe|d3g|DNL|FGT|FaNGDiNG0|FRDS|HDTime|iPlanet|-KiNGDOM|Leffe|MeGusta|mHD|mSD|nHD|nikt0|nSD|NhaNc3|PRODJi|RDN|SANTi|STUTTERSHIT|WAF|x0r|YIFY|YTS)\\\\b\" } }, { \"name\" : \"[BLOCK5]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(RARBG|FGT|STUTTERSHIT|LiGaS|-DDR|-Zeus|Tigole|TBS)\\\\b\" } }, { \"name\" : \"[BLOCK6]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(-beAst|CHD|HDWinG|MTeam|MySiLU|-WiKi)\\\\b\" } }, { \"name\" : \"RiffTrax\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(Rifftrax|RU4HD)\\\\b\" } }, { \"name\" : \"Nominated Unwanted Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\b(TEKNO3D|TIKO|Liber8)\\\\b\" } } ] } TOP","title":"LQ"},{"location":"Radarr/Radarr-collection-of-custom-formats/#x265-7201080p","text":"720/1080p no x265 = x265 (720/1080p) 720/1080p no x265 - [CLICK TO EXPAND] This blocks/ignores 720/1080p releases that are encoded in x265 You will need to add the following to your new Custom Format when created in your Quality Profile ( Setting => Profiles ) and then set the score to -1000 or even -10000 Quote x265 is good for 4k stuff or 1080p if they used the the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities. So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people","title":"x265 (720/1080p)"},{"location":"Radarr/Radarr-collection-of-custom-formats/#microsized-wrong-source","text":"It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it.","title":"Microsized & Wrong Source"},{"location":"Radarr/Radarr-collection-of-custom-formats/#golden-rule","text":"That's why I created my own golden rule. 720/1080p => x264 2160p/4k => x265 JSON - [CLICK TO EXPAND] { \"trash_id\" : \"dc98083864ea246d05a42df0d05f81cc\" , \"trash_score\" : \"-10000\" , \"name\" : \"x265 (720/1080p)\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"720p\" , \"implementation\" : \"ResolutionSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 720 } }, { \"name\" : \"1080p\" , \"implementation\" : \"ResolutionSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 1080 } }, { \"name\" : \"x265/HEVC\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"[xh][ .]?265|\\\\bHEVC(\\\\b|\\\\d)\" } } ] } TOP","title":"Golden Rule"},{"location":"Radarr/Radarr-collection-of-custom-formats/#3d","text":"3D - [CLICK TO EXPAND] If you prefer or not prefer 3D. You can use Custom Format or use Restrictions ( Settings => Indexers => Restrictions ) what ever you prefer. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"b8cd450cbfa689c0259a01d9e29ba3d6\" , \"trash_score\" : \"-10000\" , \"name\" : \"3D\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"3D\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b3d|sbs|half[ .-]ou|half[ .-]sbs\\\\b\" } }] } TOP","title":"3D"},{"location":"Radarr/Radarr-collection-of-custom-formats/#no-rlsgroup","text":"No-RlsGroup - [CLICK TO EXPAND] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match Warning If you don't use a decent filenames like not adding release groups don't add this Custom Format, except if you want to upgrade them. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"ae9b7c9ebde1f3bd336a8cbd1ec4c5e5\" , \"trash_score\" : \"-10000\" , \"name\" : \"No-RlsGroup\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"No -RlsGroup\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"-[ ]?(?!(HD|MA|ES|X)\\\\b)\\\\w+?(\\\\.\\\\w{3})?$\" } }, { \"name\" : \"No Weird Groups or Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(Tigole|Joy|YIFY|YTS.MX|YTS.LT|FreetheFish|afm72|Anna|Bandi|Ghost|Kappa|MONOLITH|Qman|RZeroX|SAMPA|Silence|theincognito|t3nzin|Vyndros|HDO|DusIctv|DHD|SEV|CtrlHD|-ZR-|ADC|XZVN|RH|Kametsu)(?=\\\\]|\\\\))\" } }, { \"name\" : \"No Weird Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"KRaLiMaRKo|E\\\\.N\\\\.D|D\\\\-Z0N3|Koten_Gars|BluDragon\" } } ] } TOP","title":"No-RlsGroup"},{"location":"Radarr/Radarr-collection-of-custom-formats/#obfuscated","text":"Obfuscated - [CLICK TO EXPAND] Optional (use these only if you dislike renamed and retagged releases) JSON - [CLICK TO EXPAND] { \"trash_id\" : \"7357cf5161efbf8c4d5d0c30b4815ee2\" , \"trash_score\" : \"-10000\" , \"name\" : \"Obfuscated\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Obfuscated\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"(-4P|-4Planet|-AsRequested|-BUYMORE|-Chamele0n|-GEROV|-iNC0GNiTO|-NZBGeek|-Obfuscated|-postbot|-Rakuv|-Scrambled|-WhiteRev|-xpost|-WRTEAM|-CAPTCHA|_nzb)\\\\b\" } }, { \"name\" : \"Retagged\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"(\\\\[rartv\\\\]|\\\\[eztv\\\\]|\\\\[TGx\\\\])\" } } ] } TOP","title":"Obfuscated"},{"location":"Radarr/Radarr-collection-of-custom-formats/#dv-webdl","text":"Dolby Vision = DoVi = DV DV (WEBDL) - [CLICK TO EXPAND] This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"923b6abef9b17f937fab56cfcf89e1f1\" , \"trash_score\" : \"-10000\" , \"name\" : \"DV (WEBDL)\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Dolby Vision\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(dv|dovi|dolby[ .]?vision)\\\\b\" } }, { \"name\" : \"WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 8 } }, { \"name\" : \"Group Exceptions\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(SIC|HULU)\\\\b\" } }, { \"name\" : \"DV HDR10\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(DV[ .]HDR10)\\\\b\" } } ] } TOP","title":"DV (WEBDL)"},{"location":"Radarr/Radarr-collection-of-custom-formats/#misc","text":"","title":"Misc"},{"location":"Radarr/Radarr-collection-of-custom-formats/#repack-proper","text":"JSON - [CLICK TO EXPAND] { \"trash_id\" : \"e7718d7a3ce595f289bfee26adc178f5\" , \"trash_score\" : \"1\" , \"name\" : \"Repack/Proper\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"Repack\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"Repack\" } }, { \"name\" : \"Proper\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"Proper\" } }, { \"name\" : \"Rerip\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"Rerip\" } } ] } TOP","title":"Repack Proper"},{"location":"Radarr/Radarr-collection-of-custom-formats/#x264","text":"x264 - [CLICK TO EXPAND] x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format, and is released under the terms of the GNU GPL . If you want maximum compatibility and have much better direct play support then use x264 for 720p/1080p JSON - [CLICK TO EXPAND] { \"trash_id\" : \"2899d84dc9372de3408e6d8cc18e9666\" , \"name\" : \"x264\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"x264\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"[xh][ .]?264|\\\\bAVC(\\\\b|\\\\d)\" } }, { \"name\" : \"Remux\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 5 } } ] } TOP","title":"x264"},{"location":"Radarr/Radarr-collection-of-custom-formats/#x265","text":"x265 - [CLICK TO EXPAND] x265 is a free software library and application for encoding video streams into the H.265/MPEG-H HEVC compression format, and is released under the terms of the GNU GPL . Please don't forget to read the following Microsized & Wrong Source JSON - [CLICK TO EXPAND] { \"trash_id\" : \"9170d55c319f4fe40da8711ba9d8050d\" , \"name\" : \"x265\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"x265\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"[xh][ .]?265|\\\\bHEVC(\\\\b|\\\\d)\" } }, { \"name\" : \"Remux\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 5 } } ] } TOP","title":"x265"},{"location":"Radarr/Radarr-collection-of-custom-formats/#freeleech","text":"FreeLeech - [CLICK TO EXPAND] Sometimes, torrent sites set a torrent to be freeleech. This means, that the download of this torrent will not count towards your download quota or ratio. This is really useful, if you do not have the best ratio yet. Attention Keep in mind not all trackers support this option. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"0d91270a7255a1e388fa85e959f359d8\" , \"trash_score\" : \"5\" , \"name\" : \"FreeLeech\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"FreeLeech\" , \"implementation\" : \"IndexerFlagSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 1 } }] } TOP","title":"FreeLeech"},{"location":"Radarr/Radarr-collection-of-custom-formats/#dutch-groups","text":"Dutch Groups - [CLICK TO EXPAND] If you prefer movies with also a Dutch audio track. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"9de657fd3d327ecf144ec73dfe3a3e9a\" , \"name\" : \"Dutch Groups\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"Dutch Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"-CyTSuNee|-SHiTSoNy|-QoQ\" } }] } TOP","title":"Dutch Groups"},{"location":"Radarr/Radarr-collection-of-custom-formats/#anime-dual-audio","text":"Anime Dual Audio - [CLICK TO EXPAND] Description placeholder JSON - [CLICK TO EXPAND] { \"trash_id\" : \"4a3b087eea2ce012fcc1ce319259a3be\" , \"name\" : \"Anime Dual Audio\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Dual Audio\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"dual.?audio\" } }, { \"name\" : \"BluDragon\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"bludragon\" } }, { \"name\" : \"EN+JA\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"EN\\\\+JA|JA\\\\+EN\" } }, { \"name\" : \"ZR\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"\\\\bZR\\\\b\" } }, { \"name\" : \"Japanese Language\" , \"implementation\" : \"LanguageSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : 8 } } ] } TOP","title":"Anime Dual Audio"},{"location":"Radarr/Radarr-collection-of-custom-formats/#mpeg2","text":"JSON - [CLICK TO EXPAND] { \"trash_id\" : \"ff86c4326018682f817830ced463332b\" , \"name\" : \"MPEG2\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"MPEG2\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"MPEG[-.]?2\" } }] } TOP","title":"MPEG2"},{"location":"Radarr/Radarr-collection-of-custom-formats/#multi","text":"JSON - [CLICK TO EXPAND] { \"trash_id\" : \"4b900e171accbfb172729b63323ea8ca\" , \"name\" : \"Multi\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [{ \"name\" : \"Multi\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\bMulti(\\\\b|\\\\d)\" } }] } TOP","title":"Multi"},{"location":"Radarr/Radarr-collection-of-custom-formats/#hq-source-groups","text":"","title":"HQ Source Groups"},{"location":"Radarr/Radarr-collection-of-custom-formats/#hq","text":"HQ-Releases = HQ HQ - [CLICK TO EXPAND] A collection of P2P groups that are known for their high quality releases. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"1c7d7b04b15cc53ea61204bebbcc1ee2\" , \"trash_score\" : \"1800\" , \"name\" : \"HQ\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"[BLOCK1]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"-BMF|-decibeL|\\\\bD-Z0N3\\\\b|\\\\bFTW-HD\\\\b|-HiFi|-NCmt|-OISTiLe|-TDD|\\\\bZQ\\\\b\" } }, { \"name\" : \"[BLOCK2]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"-HiSD|-NTb|-ift|-geek|-tnp|-pter|-bbq|FraMeSToR\" } }, { \"name\" : \"[BLOCK3]\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : \"-CRiSC|-CtrlHD|-DON|\\\\b-EA\\\\b|-EbP|-LolHD|-SbR|-TayTo|-VietHD\" } }, { \"name\" : \"Not WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"Not WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 8 } }, { \"name\" : \"Not REMUX\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 5 } }, { \"name\" : \"Not 2160p\" , \"implementation\" : \"ResolutionSpecification\" , \"negate\" : true , \"required\" : true , \"fields\" : { \"value\" : 2160 } } ] } TOP","title":"HQ"},{"location":"Radarr/Radarr-collection-of-custom-formats/#hq-webdl","text":"HQ-WEBDL - [CLICK TO EXPAND] A personal collection of P2P WEB-DL groups that are known for their high quality releases. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"26fa26253af4001701fedb56cec376dc\" , \"trash_score\" : \"1750\" , \"name\" : \"HQ-WEBDL\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"P2P Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(-TOMMY|-BLUTONiUM|-NTG|-TEPES|-KiNGS|-NTb|-CMRG|AJP69|-PHOENiX|-monkee|-MZABI|ROCCaT|FLUX|NOSiViD|SIC)\\\\b\" } }, { \"name\" : \"WEBDL\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 7 } }, { \"name\" : \"WEBRIP\" , \"implementation\" : \"SourceSpecification\" , \"negate\" : false , \"required\" : false , \"fields\" : { \"value\" : 8 } } ] } TOP","title":"HQ-WEBDL"},{"location":"Radarr/Radarr-collection-of-custom-formats/#hq-remux","text":"HQ-Remux - [CLICK TO EXPAND] A personal collection of P2P Remux groups that are known for their high quality releases. JSON - [CLICK TO EXPAND] { \"trash_id\" : \"403f3f6266b90439cacc1e07cae4dc2d\" , \"trash_score\" : \"1900\" , \"name\" : \"HQ-Remux\" , \"includeCustomFormatWhenRenaming\" : false , \"specifications\" : [ { \"name\" : \"Remux Groups\" , \"implementation\" : \"ReleaseTitleSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : \"\\\\b(FraMeSToR|EPSiLON|KRaLiMaRKo|PmP|BLURANiUM|SiCFoI|SURFINBIRD|HiFi|iFT)\\\\b\" } }, { \"name\" : \"REMUX\" , \"implementation\" : \"QualityModifierSpecification\" , \"negate\" : false , \"required\" : true , \"fields\" : { \"value\" : 5 } } ] } TOP","title":"HQ-Remux"},{"location":"Radarr/Radarr-how-to-update-custom-formats/","text":"How to update Custom Formats \u00b6 Here I will show various ways how you can update your Custom Formats with any changes from the Guide or provided to you from other sources, without loosing the scoring in your Quality Profile. Manual \u00b6 Starting from v4.0.0.5653 Radarr now supports Import to update existing Custom Formats. The manual way is almost the same as the import Custom Format way. In Radarr Settings => Custom Formats Open the custom Format you want to update. In the empty Custom Format JSON box (1) you just paste the JSON what you got from the Custom Format Collection or provided to you from other sources followed by the Import button (2). What you see in the red box is a example txt that you don't and can't remove! After selecting the Import button you will get a screen that has all the Custom Formats variables filled in correctly, all you need to do now is click on the Save button and you're done. Attention The Import to update existing Custom Formats replaces the existing Custom Format, so all manual changes you did to it will be lost Automatically \u00b6 Use one of the 3rd Party Sync options that you can find HERE . Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to Update Custom Formats"},{"location":"Radarr/Radarr-how-to-update-custom-formats/#how-to-update-custom-formats","text":"Here I will show various ways how you can update your Custom Formats with any changes from the Guide or provided to you from other sources, without loosing the scoring in your Quality Profile.","title":"How to update Custom Formats"},{"location":"Radarr/Radarr-how-to-update-custom-formats/#manual","text":"Starting from v4.0.0.5653 Radarr now supports Import to update existing Custom Formats. The manual way is almost the same as the import Custom Format way. In Radarr Settings => Custom Formats Open the custom Format you want to update. In the empty Custom Format JSON box (1) you just paste the JSON what you got from the Custom Format Collection or provided to you from other sources followed by the Import button (2). What you see in the red box is a example txt that you don't and can't remove! After selecting the Import button you will get a screen that has all the Custom Formats variables filled in correctly, all you need to do now is click on the Save button and you're done. Attention The Import to update existing Custom Formats replaces the existing Custom Format, so all manual changes you did to it will be lost","title":"Manual"},{"location":"Radarr/Radarr-how-to-update-custom-formats/#automatically","text":"Use one of the 3rd Party Sync options that you can find HERE . Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Automatically"},{"location":"Radarr/Radarr-import-custom-formats/","text":"How to import Custom Formats \u00b6 Here I will try to explain how you can import Custom Formats for Radarr v3. Attention Keep in mind Custom Formats are made to fine tune your Quality Profile Quality Profile trumps Custom Formats More info HERE How to Copy/Paste the JSON from the site \u00b6 In this example i will use the BR-DISK Custom Format the one most people don't want to download anyway and if you do then you probably don't use Radarr or Plex being both don't support it. Visit the Collection of Custom Formats and from the Table select BR-DISK example - [CLICK TO EXPAND] After you selected it you expand the JSON example - [CLICK TO EXPAND] Then you select the Copy/Paste icon on the top far right example - [CLICK TO EXPAND] How to import a JSON Custom Format \u00b6 In Radarr Settings => Custom Formats Then click on the to add a new Custom Format. Followed by the Import in the lower left. In the empty Custom Format JSON box (1) you just paste the JSON what you got from the Custom Format Collection followed by the Import button (2). What you see in the red box is a example txt that you don't and can't remove! After selecting the Import button you will get a screen that has all the Custom Formats variables filled in correctly, all you need to do now is click on the Save button and you're done. Start adding other Custom Formats wisely \u00b6 Tip Now Start adding other Custom Formats wisely, Don't add all the available Custom Formats !!! Personally I would only add the Custom Formats that do what you actually prefer especially in the beginning, including the Releases you should avoid Check out the How to setup Custom Formats where I will try to explain how to make the most use of custom formats and show some personal examples that I'm using. That you can use to get a idea how to setup yours. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to import Custom Formats"},{"location":"Radarr/Radarr-import-custom-formats/#how-to-import-custom-formats","text":"Here I will try to explain how you can import Custom Formats for Radarr v3. Attention Keep in mind Custom Formats are made to fine tune your Quality Profile Quality Profile trumps Custom Formats More info HERE","title":"How to import Custom Formats"},{"location":"Radarr/Radarr-import-custom-formats/#how-to-copypaste-the-json-from-the-site","text":"In this example i will use the BR-DISK Custom Format the one most people don't want to download anyway and if you do then you probably don't use Radarr or Plex being both don't support it. Visit the Collection of Custom Formats and from the Table select BR-DISK example - [CLICK TO EXPAND] After you selected it you expand the JSON example - [CLICK TO EXPAND] Then you select the Copy/Paste icon on the top far right example - [CLICK TO EXPAND]","title":"How to Copy/Paste the JSON from the site"},{"location":"Radarr/Radarr-import-custom-formats/#how-to-import-a-json-custom-format","text":"In Radarr Settings => Custom Formats Then click on the to add a new Custom Format. Followed by the Import in the lower left. In the empty Custom Format JSON box (1) you just paste the JSON what you got from the Custom Format Collection followed by the Import button (2). What you see in the red box is a example txt that you don't and can't remove! After selecting the Import button you will get a screen that has all the Custom Formats variables filled in correctly, all you need to do now is click on the Save button and you're done.","title":"How to import a JSON Custom Format"},{"location":"Radarr/Radarr-import-custom-formats/#start-adding-other-custom-formats-wisely","text":"Tip Now Start adding other Custom Formats wisely, Don't add all the available Custom Formats !!! Personally I would only add the Custom Formats that do what you actually prefer especially in the beginning, including the Releases you should avoid Check out the How to setup Custom Formats where I will try to explain how to make the most use of custom formats and show some personal examples that I'm using. That you can use to get a idea how to setup yours. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Start adding other Custom Formats wisely"},{"location":"Radarr/Radarr-recommended-naming-scheme/","text":"Recommended naming scheme \u00b6 Often on the Radarr Discord people ask what's the recommended/best way to name your files. First off it's personal preference, but it's often recommended to add non-recoverable info. Why? If, for what ever reason, you ever need to do a re-install or re-import in Radarr or Plex/Emby/JellyFin it's nice to have all that info in the filename so it gets imported correctly and isn't incorrectly matched as HDTV or WEB-DL etc. The Tokens not available in the release won't be used/shown. Standard Movie Format \u00b6 This naming scheme is made to be compatible with the New Plex Agent that now support IMDB and TMDB IDs in file names, if you don't need it or want it just remove [imdb-{ImdbId}] Starting from v4.0.0.5720, Radarr now supports recognizing Dolby Vision (DV) and High Dynamic Range (HDR) types. If you're using a lower version replace: {[MediaInfo VideoDynamicRangeType]} with {[MediaInfo VideoDynamicRange]} { Movie CleanTitle } {( Release Year )} { Edition Tags } [ imdb- { ImdbId }]{[ Custom Formats ]}{[ Quality Full ]}{[ MediaInfo 3D ]}{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels }][{ Mediainfo VideoCodec }]{ -Release Group } RESULTS: - [CLICK TO EXPAND] The Movie Title (2010) Ultimate Extended Edition [imdb-tt0066921][IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE If you do Anime - [CLICK TO EXPAND] { Movie CleanTitle } {( Release Year )} { Edition Tags } [ imdb- { ImdbId }]{[ Custom Formats ]}{[ Quality Full ]}{[ MediaInfo 3D ]}{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels }]{ MediaInfo AudioLanguages }[{ Mediainfo VideoCodec }]{ -Release Group } The officially supported format is {imdb-{ImdbId}} but plex also support (imdb-{ImdbId}) or [imdb-{ImdbId}] what you can read here , though the above should work for now. IMDb IDs are going to be very accurate and rarely change, but they may be missing for some movies added to Radarr. TMDB IDs, on the other hand, do change or are removed more frequently, but Radarr will always have this ID for each movie. Original Title vs Original Filename \u00b6 Want to keep the original release name that holds like all the info of the file then I suggest to use {Original Title} over {Original Filename} Why? The filename can be Obscured where the Release naming isn't especially when you use Usenet. {Original Title} => The.Movie.Title.2010.REMASTERED.1080p.BluRay.x264-GROUP {Original Filename} => group-karatekid-1080p or lchd-tkk1080p or t1i0p3s7i8yuti Movie Folder Format \u00b6 Please note that folder names are created (in the database) whenever the movie is added to Radarr, and it may be missing or incorrect at that time and your folder would have a blank ID !!! If you instead add it in the filename, the IMDb ID will be freshly pulled for any download or upgrade. Another potential negative of using it in the folder is that folder renames are complex, lengthy, and potentially destructive in Radarr compared to file renames. Minimal needed and recommended \u00b6 { Movie CleanTitle } ({ Release Year }) RESULT: The Movie Title (2010) Note Keep in mind adding anything more after the release year could give issues during a fresh import in to Radarr, but it helps for movies that have the same release name and year. Radarr does supports iMDb ID and TMDb ID in the folder name. Quote From a developer TMDb is usually better as it guarantees a match, imdb only gets matched if the TMDb entry has the correct imdb Id association. We don't actually talk to imdb Thanks: A big Thanks to fryfrog and rg9400 for the suggestions. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Recommended naming scheme"},{"location":"Radarr/Radarr-recommended-naming-scheme/#recommended-naming-scheme","text":"Often on the Radarr Discord people ask what's the recommended/best way to name your files. First off it's personal preference, but it's often recommended to add non-recoverable info. Why? If, for what ever reason, you ever need to do a re-install or re-import in Radarr or Plex/Emby/JellyFin it's nice to have all that info in the filename so it gets imported correctly and isn't incorrectly matched as HDTV or WEB-DL etc. The Tokens not available in the release won't be used/shown.","title":"Recommended naming scheme"},{"location":"Radarr/Radarr-recommended-naming-scheme/#standard-movie-format","text":"This naming scheme is made to be compatible with the New Plex Agent that now support IMDB and TMDB IDs in file names, if you don't need it or want it just remove [imdb-{ImdbId}] Starting from v4.0.0.5720, Radarr now supports recognizing Dolby Vision (DV) and High Dynamic Range (HDR) types. If you're using a lower version replace: {[MediaInfo VideoDynamicRangeType]} with {[MediaInfo VideoDynamicRange]} { Movie CleanTitle } {( Release Year )} { Edition Tags } [ imdb- { ImdbId }]{[ Custom Formats ]}{[ Quality Full ]}{[ MediaInfo 3D ]}{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels }][{ Mediainfo VideoCodec }]{ -Release Group } RESULTS: - [CLICK TO EXPAND] The Movie Title (2010) Ultimate Extended Edition [imdb-tt0066921][IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE If you do Anime - [CLICK TO EXPAND] { Movie CleanTitle } {( Release Year )} { Edition Tags } [ imdb- { ImdbId }]{[ Custom Formats ]}{[ Quality Full ]}{[ MediaInfo 3D ]}{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels }]{ MediaInfo AudioLanguages }[{ Mediainfo VideoCodec }]{ -Release Group } The officially supported format is {imdb-{ImdbId}} but plex also support (imdb-{ImdbId}) or [imdb-{ImdbId}] what you can read here , though the above should work for now. IMDb IDs are going to be very accurate and rarely change, but they may be missing for some movies added to Radarr. TMDB IDs, on the other hand, do change or are removed more frequently, but Radarr will always have this ID for each movie.","title":"Standard Movie Format"},{"location":"Radarr/Radarr-recommended-naming-scheme/#original-title-vs-original-filename","text":"Want to keep the original release name that holds like all the info of the file then I suggest to use {Original Title} over {Original Filename} Why? The filename can be Obscured where the Release naming isn't especially when you use Usenet. {Original Title} => The.Movie.Title.2010.REMASTERED.1080p.BluRay.x264-GROUP {Original Filename} => group-karatekid-1080p or lchd-tkk1080p or t1i0p3s7i8yuti","title":"Original Title vs Original Filename"},{"location":"Radarr/Radarr-recommended-naming-scheme/#movie-folder-format","text":"Please note that folder names are created (in the database) whenever the movie is added to Radarr, and it may be missing or incorrect at that time and your folder would have a blank ID !!! If you instead add it in the filename, the IMDb ID will be freshly pulled for any download or upgrade. Another potential negative of using it in the folder is that folder renames are complex, lengthy, and potentially destructive in Radarr compared to file renames.","title":"Movie Folder Format"},{"location":"Radarr/Radarr-recommended-naming-scheme/#minimal-needed-and-recommended","text":"{ Movie CleanTitle } ({ Release Year }) RESULT: The Movie Title (2010) Note Keep in mind adding anything more after the release year could give issues during a fresh import in to Radarr, but it helps for movies that have the same release name and year. Radarr does supports iMDb ID and TMDb ID in the folder name. Quote From a developer TMDb is usually better as it guarantees a match, imdb only gets matched if the TMDb entry has the correct imdb Id association. We don't actually talk to imdb Thanks: A big Thanks to fryfrog and rg9400 for the suggestions. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Minimal needed and recommended"},{"location":"Radarr/Radarr-remote-path-mapping/","text":"Remote Path Mappings \u00b6 Seems that a lot of people don't understand how the remote path mapping works for Radarr. I will try to explain it with some screenshots and a short description. Remote Path Mapping acts as a dumb find Remote Path and replace with Local Path Do I need Remote Path Mappings \u00b6 If Radarr and your download client are not on the same server/system. If you use either merged local/remote setups using mergerfs or similar You run dockers and DON'T have Consistent and well planned paths. Note If you run dockers it would be smarter to fix the problem at the source what's causing the actual issue. Radarr Wiki Servarr - Docker Guide TRaSH Guides How do I recognize that I need remote path mappings \u00b6 Your download stays in your download client and Radarr doesn't want to import it. Go to Activity => Queue You will see a orange download icon, hover with your mouse over it and you will get a error that looks a bit like this. Go to System => Events You will see somewhere a error that looks a bit like this. The following error could also mean that you need remote path mapping So looking at these screenshot it seems you need to make use of Remote Path Mappings. How do I setup remote path mappings \u00b6 Go to Settings => Download Clients Scroll all the way down where you see Remote Path Mappings and click on the right on the plus sign. A screen will popup with the following options. Host => This is the hostname or IP you set in your download client settings. Remote Path => The download path that you've set in your download client. Local Path => The path Radarr needs to access the same path. Host \u00b6 To find what you need to put in your host Go to Settings => Download Clients There you open up the download client for this example I will be using SABnzbd This is what you put in your Host in Remote Path Mapping. This could be a hostname , container name or a IP Address example what to add in Add Remote Path Mapping - [CLICK TO EXPAND] Remote Path \u00b6 To find what you need to put in your remote path you need to open up your download client and look what you've used there as download location. In SABnzbd go to settings => Folders example what to add in Add Remote Path Mapping - [CLICK TO EXPAND] Local Path \u00b6 To find what you need to put in in your local path you need to know how Radarr is able to access the files your download client downloaded. And this can be done in different ways. Mounting/Network share what ever but Radarr needs to have local access to it so you need to figure this one out your self what's the best way for Radarr to access the download clients downloaded files. Click on the browse button and browse to the location where the files are accessible for Radarr. example what to add in Add Remote Path Mapping - [CLICK TO EXPAND] The final result will look something like this. After these changes the file should be able to be imported by Radarr. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Remote Path Mappings explained"},{"location":"Radarr/Radarr-remote-path-mapping/#remote-path-mappings","text":"Seems that a lot of people don't understand how the remote path mapping works for Radarr. I will try to explain it with some screenshots and a short description. Remote Path Mapping acts as a dumb find Remote Path and replace with Local Path","title":"Remote Path Mappings"},{"location":"Radarr/Radarr-remote-path-mapping/#do-i-need-remote-path-mappings","text":"If Radarr and your download client are not on the same server/system. If you use either merged local/remote setups using mergerfs or similar You run dockers and DON'T have Consistent and well planned paths. Note If you run dockers it would be smarter to fix the problem at the source what's causing the actual issue. Radarr Wiki Servarr - Docker Guide TRaSH Guides","title":"Do I need Remote Path Mappings"},{"location":"Radarr/Radarr-remote-path-mapping/#how-do-i-recognize-that-i-need-remote-path-mappings","text":"Your download stays in your download client and Radarr doesn't want to import it. Go to Activity => Queue You will see a orange download icon, hover with your mouse over it and you will get a error that looks a bit like this. Go to System => Events You will see somewhere a error that looks a bit like this. The following error could also mean that you need remote path mapping So looking at these screenshot it seems you need to make use of Remote Path Mappings.","title":"How do I recognize that I need remote path mappings"},{"location":"Radarr/Radarr-remote-path-mapping/#how-do-i-setup-remote-path-mappings","text":"Go to Settings => Download Clients Scroll all the way down where you see Remote Path Mappings and click on the right on the plus sign. A screen will popup with the following options. Host => This is the hostname or IP you set in your download client settings. Remote Path => The download path that you've set in your download client. Local Path => The path Radarr needs to access the same path.","title":"How do I setup remote path mappings"},{"location":"Radarr/Radarr-remote-path-mapping/#host","text":"To find what you need to put in your host Go to Settings => Download Clients There you open up the download client for this example I will be using SABnzbd This is what you put in your Host in Remote Path Mapping. This could be a hostname , container name or a IP Address example what to add in Add Remote Path Mapping - [CLICK TO EXPAND]","title":"Host"},{"location":"Radarr/Radarr-remote-path-mapping/#remote-path","text":"To find what you need to put in your remote path you need to open up your download client and look what you've used there as download location. In SABnzbd go to settings => Folders example what to add in Add Remote Path Mapping - [CLICK TO EXPAND]","title":"Remote Path"},{"location":"Radarr/Radarr-remote-path-mapping/#local-path","text":"To find what you need to put in in your local path you need to know how Radarr is able to access the files your download client downloaded. And this can be done in different ways. Mounting/Network share what ever but Radarr needs to have local access to it so you need to figure this one out your self what's the best way for Radarr to access the download clients downloaded files. Click on the browse button and browse to the location where the files are accessible for Radarr. example what to add in Add Remote Path Mapping - [CLICK TO EXPAND] The final result will look something like this. After these changes the file should be able to be imported by Radarr. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Local Path"},{"location":"Radarr/Radarr-setup-custom-formats/","text":"How to setup Custom Formats \u00b6 So what's the best way to setup the Custom Profiles and which one to use with which scores? There isn't a best scores setup, being that everyone has its own personal preference what they prefer Audio or Video or perhaps both. But being I still get a lot of questions about it I decided to create a Guide for it. Here I will try to explain with some personal used examples how to make the most use of Custom Formats. That you can use to get a idea how to setup yours. Basics \u00b6 First the basics where we going to explain where to setup the Custom Formats after you've added them, what we've explained in How to import Custom Formats . And a short description what the settings means. Settings => Profiles example - [CLICK TO EXPAND] Then select the profile that you use/prefer. Radarr Custom Format can be set per profile and isn't global Profile name. If you want that Radarr will upgrade till the quality set in (3.). Upgrade till the selected Quality. The Minimum Custom Format Score allowed to download. More Info Keep upgrading Custom Format till this score is reached. (setting this to 0 means no upgrades will happen based on Custom Formats) Your preferred language profile for your Releases. In your chosen profile at the bottom you will see the added Custom Profiles where you can start setting up the scores. example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Attention Keep in mind Custom Formats are made to fine tune your Quality Profile Generally Quality Trumps All Radarr current logic \u00b6 Radarr current logic- [CLICK TO EXPAND] As of 2021-11-06 the logic is as follows: The Current logic on how downloads are compared is Quality Trumps All Quality Custom Format Score Protocol Indexer Priority Indexer Flags Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use the Repack/Proper Custom Format My suggestion is to create tiers of scores based on what things matter to you. Personally I would only add the Custom Formats that do what you actually prefer especially in the beginning, including the Releases you should avoid Info Custom formats are implemented within and have their impact controlled by Quality Profiles. The Upgrade Until score prevents upgrading once a release with this desired score has been downloaded. A score of 0 results in the custom format being informational only. The Minimum score requires releases to reach this threshold otherwise they will be rejected. Custom formats that match with undesirable attributes should be given a negative score to lower their appeal. Outright rejections should be given a negative score low enough that even if all of the other formats with positive scores were added, the score would still fall below the minimum. Examples \u00b6 Here I will show how to make the most use of Custom Formats and show some personal examples that I'm using. That you can use to get a idea how to setup yours. All these examples make use of the Collection of Custom Formats Releases you should avoid \u00b6 In my opinion this is a must for every Quality Profile you use, all these Custom Formats make sure you don't get Low Quality Releases. Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Prefer Advanced Audio \u00b6 Lets say you prefer HD audio (with object metadata) In this example I have lossy Atmos over lossless DTS because the object metadata matters more to me over lossy vs lossless Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 Prefer HDR Metadata \u00b6 Lets say you prefer HDR metadata Then we would use the following order. HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Important I also suggest to change the Propers and Repacks settings in Radarr !!! Instructions can be found HERE Prefer HQ Encodes \u00b6 If you prefer HQ Encodes (Bluray-720/1080/2160p) I suggest to first follow the Quality Settings (File Size) If you think the sizes are to big to your preference then stop reading and see if the other tutorials are helpful for you. For this Quality Profile we're going to make use of the following Custom Formats Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 0 HQ 1800 I decided not to add Audio Advanced Custom Formats to the encodes profile being with encodes I prefer higher video quality, If you also want HD audio formats I would suggest to go for the Remuxes. Use the following main settings in your profile. Make sure you don't check the BR-DISK, The reason why I didn't select the WEB-DL 720p is because you will find hardly any releases that aren't done as 1080p WEB-DL The following workflow will be applied: It will download WEB-DL 1080p for the streaming movies you see more often lately. It will upgrade till Bluray-1080p when available. The downloaded media will be upgraded to any of the added Custom Formats till a score of 9999. So why such a ridiculous high Upgrade Until Custom and not a score of 100 ? Because I'm to lazy to calculate the maximum for every of my used Quality Profile and I want it to upgrade to the highest as possible anyway. Tip If you prefer 2160/4K encodes you might consider to change Upgrade Until Quality to Bluray-2160p and enable: HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Remux-1080p \u00b6 If you prefer 1080p Remuxes (Remux-1080p) I suggest to first follow the Quality Settings (File Size) If you think the sizes are to big to your preference then stop reading and see if the other tutorials are helpful for you. For this Quality Profile we're going to make use of the following Custom Formats Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 1900 HQ 0 Use the following main settings in your profile. Make sure you don't check the BR-DISK, The reason why I didn't select the WEB-DL 720p is because you will find hardly any releases that aren't done as 1080p WEB-DL The following workflow will be applied: It will download WEB-DL 1080p for the streaming movies you see more often lately. It will upgrade till Remux-1080p when available. The downloaded media will be upgraded to any of the added Custom Formats till a score of 9999. So why such a ridiculous high Upgrade Until Custom and not a score of 500 ? Because I'm to lazy to calculate the maximum for every of my used Quality Profile and I want it to upgrade to the highest as possible anyway. Remux-2160p \u00b6 If you prefer 2160p Remuxes (Remux-2160p) I suggest to first follow the Quality Settings (File Size) If you think the sizes are to big to your preference then stop reading and see if the other tutorials are helpful for you. For this Quality Profile we're going to make use of the following Custom Formats Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 1900 HQ 0 Use the following main settings in your profile. Make sure you don't check the BR-DISK. The following workflow will be applied: It will download WEB-DL 2160p for the streaming movies you see more often lately. It will upgrade till Remux-2160p when available. The downloaded media will be upgraded to any of the added Custom Formats till a score of 9999. So why such a ridiculous high Upgrade Until Custom and not a score of 500 ? Because I'm to lazy to calculate the maximum for every of my used Quality Profile and I want it to upgrade to the highest as possible anyway. FAQ & INFO \u00b6 Proper and Repacks \u00b6 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. Custom Formats to avoid certain releases \u00b6 How to use a Custom Formats to avoid certain releases? - [CLICK TO EXPAND] For Custom Formats you really want to avoid, set it to something really low like -10000 and not something like -10 . Being when you add a Custom Format what you prefer and you set it to something like +10 it could happen that for example the BR-DISK will be downloaded (-10)+(+10)=0 and if your Minimum Custom Format Score is set at 0 . Custom Formats with a score of 0 \u00b6 What do Custom Formats with a score of 0 do? - [CLICK TO EXPAND] All Custom Formats with a score of 0 are pure informational and don't do anything. Minimum Custom Format Score \u00b6 Minimum Custom Format Score - [CLICK TO EXPAND] Some people suggest not to use minus score for your Custom Formats and set this option to a higher score then 0. The reason why I don't prefer/use this is because you could limit your self when some new groups or what ever will be released. Also it makes it much more clear what you prefer and what you want to avoid. Audio Channels \u00b6 Audio Channels - [CLICK TO EXPAND] Personally I wouldn't add the audio channels Custom Formats being you could limit your self in the amount of releases you're able to get. Only use this if you got specific reasons that you need them. Using it with any kind of Remuxes Quality Profile is useless in my opinion being that 99% of all remuxes are multi audio anyway. and you can better score using the Audio Advanced Custom Formats Avoid using the x264/x265 Custom Format \u00b6 Avoid using the x264/x265 Custom Format - [CLICK TO EXPAND] If possible avoid using the x264/x265 Custom Format with a score, it's smarter to use the 720/1080p no x265 Custom Format. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Use x265 only for 4k releases and the 720/1080p no x265 makes sure you still can get the x265 releases. Thanks \u00b6 A big Thanks to rg9400 for providing me with info needed to create the Tips section. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to setup Custom Formats"},{"location":"Radarr/Radarr-setup-custom-formats/#how-to-setup-custom-formats","text":"So what's the best way to setup the Custom Profiles and which one to use with which scores? There isn't a best scores setup, being that everyone has its own personal preference what they prefer Audio or Video or perhaps both. But being I still get a lot of questions about it I decided to create a Guide for it. Here I will try to explain with some personal used examples how to make the most use of Custom Formats. That you can use to get a idea how to setup yours.","title":"How to setup Custom Formats"},{"location":"Radarr/Radarr-setup-custom-formats/#basics","text":"First the basics where we going to explain where to setup the Custom Formats after you've added them, what we've explained in How to import Custom Formats . And a short description what the settings means. Settings => Profiles example - [CLICK TO EXPAND] Then select the profile that you use/prefer. Radarr Custom Format can be set per profile and isn't global Profile name. If you want that Radarr will upgrade till the quality set in (3.). Upgrade till the selected Quality. The Minimum Custom Format Score allowed to download. More Info Keep upgrading Custom Format till this score is reached. (setting this to 0 means no upgrades will happen based on Custom Formats) Your preferred language profile for your Releases. In your chosen profile at the bottom you will see the added Custom Profiles where you can start setting up the scores. example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Attention Keep in mind Custom Formats are made to fine tune your Quality Profile Generally Quality Trumps All","title":"Basics"},{"location":"Radarr/Radarr-setup-custom-formats/#radarr-current-logic","text":"Radarr current logic- [CLICK TO EXPAND] As of 2021-11-06 the logic is as follows: The Current logic on how downloads are compared is Quality Trumps All Quality Custom Format Score Protocol Indexer Priority Indexer Flags Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use the Repack/Proper Custom Format My suggestion is to create tiers of scores based on what things matter to you. Personally I would only add the Custom Formats that do what you actually prefer especially in the beginning, including the Releases you should avoid Info Custom formats are implemented within and have their impact controlled by Quality Profiles. The Upgrade Until score prevents upgrading once a release with this desired score has been downloaded. A score of 0 results in the custom format being informational only. The Minimum score requires releases to reach this threshold otherwise they will be rejected. Custom formats that match with undesirable attributes should be given a negative score to lower their appeal. Outright rejections should be given a negative score low enough that even if all of the other formats with positive scores were added, the score would still fall below the minimum.","title":"Radarr current logic"},{"location":"Radarr/Radarr-setup-custom-formats/#examples","text":"Here I will show how to make the most use of Custom Formats and show some personal examples that I'm using. That you can use to get a idea how to setup yours. All these examples make use of the Collection of Custom Formats","title":"Examples"},{"location":"Radarr/Radarr-setup-custom-formats/#releases-you-should-avoid","text":"In my opinion this is a must for every Quality Profile you use, all these Custom Formats make sure you don't get Low Quality Releases. Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 .","title":"Releases you should avoid"},{"location":"Radarr/Radarr-setup-custom-formats/#prefer-advanced-audio","text":"Lets say you prefer HD audio (with object metadata) In this example I have lossy Atmos over lossless DTS because the object metadata matters more to me over lossy vs lossless Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750","title":"Prefer Advanced Audio"},{"location":"Radarr/Radarr-setup-custom-formats/#prefer-hdr-metadata","text":"Lets say you prefer HDR metadata Then we would use the following order. HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Important I also suggest to change the Propers and Repacks settings in Radarr !!! Instructions can be found HERE","title":"Prefer HDR Metadata"},{"location":"Radarr/Radarr-setup-custom-formats/#prefer-hq-encodes","text":"If you prefer HQ Encodes (Bluray-720/1080/2160p) I suggest to first follow the Quality Settings (File Size) If you think the sizes are to big to your preference then stop reading and see if the other tutorials are helpful for you. For this Quality Profile we're going to make use of the following Custom Formats Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 0 HQ 1800 I decided not to add Audio Advanced Custom Formats to the encodes profile being with encodes I prefer higher video quality, If you also want HD audio formats I would suggest to go for the Remuxes. Use the following main settings in your profile. Make sure you don't check the BR-DISK, The reason why I didn't select the WEB-DL 720p is because you will find hardly any releases that aren't done as 1080p WEB-DL The following workflow will be applied: It will download WEB-DL 1080p for the streaming movies you see more often lately. It will upgrade till Bluray-1080p when available. The downloaded media will be upgraded to any of the added Custom Formats till a score of 9999. So why such a ridiculous high Upgrade Until Custom and not a score of 100 ? Because I'm to lazy to calculate the maximum for every of my used Quality Profile and I want it to upgrade to the highest as possible anyway. Tip If you prefer 2160/4K encodes you might consider to change Upgrade Until Quality to Bluray-2160p and enable: HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500","title":"Prefer HQ Encodes"},{"location":"Radarr/Radarr-setup-custom-formats/#remux-1080p","text":"If you prefer 1080p Remuxes (Remux-1080p) I suggest to first follow the Quality Settings (File Size) If you think the sizes are to big to your preference then stop reading and see if the other tutorials are helpful for you. For this Quality Profile we're going to make use of the following Custom Formats Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 1900 HQ 0 Use the following main settings in your profile. Make sure you don't check the BR-DISK, The reason why I didn't select the WEB-DL 720p is because you will find hardly any releases that aren't done as 1080p WEB-DL The following workflow will be applied: It will download WEB-DL 1080p for the streaming movies you see more often lately. It will upgrade till Remux-1080p when available. The downloaded media will be upgraded to any of the added Custom Formats till a score of 9999. So why such a ridiculous high Upgrade Until Custom and not a score of 500 ? Because I'm to lazy to calculate the maximum for every of my used Quality Profile and I want it to upgrade to the highest as possible anyway.","title":"Remux-1080p"},{"location":"Radarr/Radarr-setup-custom-formats/#remux-2160p","text":"If you prefer 2160p Remuxes (Remux-2160p) I suggest to first follow the Quality Settings (File Size) If you think the sizes are to big to your preference then stop reading and see if the other tutorials are helpful for you. For this Quality Profile we're going to make use of the following Custom Formats Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 1900 HQ 0 Use the following main settings in your profile. Make sure you don't check the BR-DISK. The following workflow will be applied: It will download WEB-DL 2160p for the streaming movies you see more often lately. It will upgrade till Remux-2160p when available. The downloaded media will be upgraded to any of the added Custom Formats till a score of 9999. So why such a ridiculous high Upgrade Until Custom and not a score of 500 ? Because I'm to lazy to calculate the maximum for every of my used Quality Profile and I want it to upgrade to the highest as possible anyway.","title":"Remux-2160p"},{"location":"Radarr/Radarr-setup-custom-formats/#faq-info","text":"","title":"FAQ & INFO"},{"location":"Radarr/Radarr-setup-custom-formats/#proper-and-repacks","text":"Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored.","title":"Proper and Repacks"},{"location":"Radarr/Radarr-setup-custom-formats/#custom-formats-to-avoid-certain-releases","text":"How to use a Custom Formats to avoid certain releases? - [CLICK TO EXPAND] For Custom Formats you really want to avoid, set it to something really low like -10000 and not something like -10 . Being when you add a Custom Format what you prefer and you set it to something like +10 it could happen that for example the BR-DISK will be downloaded (-10)+(+10)=0 and if your Minimum Custom Format Score is set at 0 .","title":"Custom Formats to avoid certain releases"},{"location":"Radarr/Radarr-setup-custom-formats/#custom-formats-with-a-score-of-0","text":"What do Custom Formats with a score of 0 do? - [CLICK TO EXPAND] All Custom Formats with a score of 0 are pure informational and don't do anything.","title":"Custom Formats with a score of 0"},{"location":"Radarr/Radarr-setup-custom-formats/#minimum-custom-format-score","text":"Minimum Custom Format Score - [CLICK TO EXPAND] Some people suggest not to use minus score for your Custom Formats and set this option to a higher score then 0. The reason why I don't prefer/use this is because you could limit your self when some new groups or what ever will be released. Also it makes it much more clear what you prefer and what you want to avoid.","title":"Minimum Custom Format Score"},{"location":"Radarr/Radarr-setup-custom-formats/#audio-channels","text":"Audio Channels - [CLICK TO EXPAND] Personally I wouldn't add the audio channels Custom Formats being you could limit your self in the amount of releases you're able to get. Only use this if you got specific reasons that you need them. Using it with any kind of Remuxes Quality Profile is useless in my opinion being that 99% of all remuxes are multi audio anyway. and you can better score using the Audio Advanced Custom Formats","title":"Audio Channels"},{"location":"Radarr/Radarr-setup-custom-formats/#avoid-using-the-x264x265-custom-format","text":"Avoid using the x264/x265 Custom Format - [CLICK TO EXPAND] If possible avoid using the x264/x265 Custom Format with a score, it's smarter to use the 720/1080p no x265 Custom Format. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Use x265 only for 4k releases and the 720/1080p no x265 makes sure you still can get the x265 releases.","title":"Avoid using the x264/x265 Custom Format"},{"location":"Radarr/Radarr-setup-custom-formats/#thanks","text":"A big Thanks to rg9400 for providing me with info needed to create the Tips section. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Thanks"},{"location":"Radarr/Tips/Merge-quality/","text":"How to Merge Quality \u00b6 The Current logic on how downloads are compared is Quality Trumps All In some cases it might be preferred to not have Quality Trump All, and let it be handled via Preferred Words / Custom Formats. To accomplish this you will need to merge the quality's with each other. Current Logic \u00b6 Here you will see the current logic so you understand how the possible downloads are compared. Radarr current logic \u00b6 Radarr current logic- [CLICK TO EXPAND] As of 2021-11-06 the logic is as follows: The Current logic on how downloads are compared is Quality Trumps All Quality Custom Format Score Protocol Indexer Priority Indexer Flags Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use the Repack/Proper Custom Format Sonarr current logic \u00b6 Sonarr current logic- [CLICK TO EXPAND] As of 2021-11-06 the logic is as follows: The Current logic on how downloads are compared is Quality Trumps All Quality Language Preferred Word Score Protocol Episode Count Episode Number Indexer Priority Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use a preferred word regex of /\\b(repack|proper)\\b/i Merge the Qualities \u00b6 Go to your preferred Quality Profile or create a new one. Settings => Profiles In this example we will merge the following qualities together: Bluray-720p Bluray-1080p WEBDL/WEBRip-1080p To merge them you need to click on Edit Groups. When done Sonarr/Radarr upgrades will be handled via Preferred Words / Custom Formats. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to Merge Quality"},{"location":"Radarr/Tips/Merge-quality/#how-to-merge-quality","text":"The Current logic on how downloads are compared is Quality Trumps All In some cases it might be preferred to not have Quality Trump All, and let it be handled via Preferred Words / Custom Formats. To accomplish this you will need to merge the quality's with each other.","title":"How to Merge Quality"},{"location":"Radarr/Tips/Merge-quality/#current-logic","text":"Here you will see the current logic so you understand how the possible downloads are compared.","title":"Current Logic"},{"location":"Radarr/Tips/Merge-quality/#radarr-current-logic","text":"Radarr current logic- [CLICK TO EXPAND] As of 2021-11-06 the logic is as follows: The Current logic on how downloads are compared is Quality Trumps All Quality Custom Format Score Protocol Indexer Priority Indexer Flags Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use the Repack/Proper Custom Format","title":"Radarr current logic"},{"location":"Radarr/Tips/Merge-quality/#sonarr-current-logic","text":"Sonarr current logic- [CLICK TO EXPAND] As of 2021-11-06 the logic is as follows: The Current logic on how downloads are compared is Quality Trumps All Quality Language Preferred Word Score Protocol Episode Count Episode Number Indexer Priority Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use a preferred word regex of /\\b(repack|proper)\\b/i","title":"Sonarr current logic"},{"location":"Radarr/Tips/Merge-quality/#merge-the-qualities","text":"Go to your preferred Quality Profile or create a new one. Settings => Profiles In this example we will merge the following qualities together: Bluray-720p Bluray-1080p WEBDL/WEBRip-1080p To merge them you need to click on Edit Groups. When done Sonarr/Radarr upgrades will be handled via Preferred Words / Custom Formats. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Merge the Qualities"},{"location":"Radarr/Tips/Radarr-add-a-movie-collection/","text":"How to add a Movie Collection \u00b6 One of the coolest new features in Radarr v3 in my opinion. The option to add movies collection based on a movie you already got. So lets say you add a movie like Pirates of the Caribbean: The Curse of the Black Pearl and you actually want to have the other movies from the same collection. Now you can let Radarr add them for you with just a few simple clicks How to add the collection lists \u00b6 First go to the movie where you want to add the collection from, and click on the collection flag Add List Settings \u00b6 After you clicked on it a new window/popup will appear with the following options. The name you want to name this Collection. Enable this list for use in Radarr. Enable this so the movies will be automatically added to Radarr from this list. Enable this so movies will be set monitored when added to Radarr from this list. Enable this so Radarr will start searching movies from this list. Set your minimum Availability. Your preferred quality profile. Your root path where you want the movies added. Add any tags you want for your own preference. TMDb collection Id. Click on Save so it will be added+searched for in Radarr. Warning Don't change the Collection Id else you will end up with the wrong collection !!! After clicking on Save the movies from the lists will be added to Radarr and searched for. Result \u00b6 And the added movies will show up in your movie overview Edit your Lists \u00b6 If for any reason you need or want to edit your added list go to. Settings => Lists Then search for you list you want to edit/remove Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to add a Movie Collection"},{"location":"Radarr/Tips/Radarr-add-a-movie-collection/#how-to-add-a-movie-collection","text":"One of the coolest new features in Radarr v3 in my opinion. The option to add movies collection based on a movie you already got. So lets say you add a movie like Pirates of the Caribbean: The Curse of the Black Pearl and you actually want to have the other movies from the same collection. Now you can let Radarr add them for you with just a few simple clicks","title":"How to add a Movie Collection"},{"location":"Radarr/Tips/Radarr-add-a-movie-collection/#how-to-add-the-collection-lists","text":"First go to the movie where you want to add the collection from, and click on the collection flag","title":"How to add the collection lists"},{"location":"Radarr/Tips/Radarr-add-a-movie-collection/#add-list-settings","text":"After you clicked on it a new window/popup will appear with the following options. The name you want to name this Collection. Enable this list for use in Radarr. Enable this so the movies will be automatically added to Radarr from this list. Enable this so movies will be set monitored when added to Radarr from this list. Enable this so Radarr will start searching movies from this list. Set your minimum Availability. Your preferred quality profile. Your root path where you want the movies added. Add any tags you want for your own preference. TMDb collection Id. Click on Save so it will be added+searched for in Radarr. Warning Don't change the Collection Id else you will end up with the wrong collection !!! After clicking on Save the movies from the lists will be added to Radarr and searched for.","title":"Add List Settings"},{"location":"Radarr/Tips/Radarr-add-a-movie-collection/#result","text":"And the added movies will show up in your movie overview","title":"Result"},{"location":"Radarr/Tips/Radarr-add-a-movie-collection/#edit-your-lists","text":"If for any reason you need or want to edit your added list go to. Settings => Lists Then search for you list you want to edit/remove Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Edit your Lists"},{"location":"Radarr/Tips/Radarr-rename-your-folders/","text":"How to rename your folders \u00b6 If you want to rename your current folders names for example to your new naming scheme or for any other reason. You can do this with this little magic trick. Go to you movie overview Movies On the top click on Movie Editor After activating it you select the movie(s) from where you want to have the folder(s) to be renamed. If you want all your movie folders renamed to your folder naming scheme you set earlier HERE . Select the movie(s) from where you want to have the folder(s) to be renamed. Choose the same Root Folder A new popup will be shown Select Yes, Move the files Warning If you got a larger library, remote storage, cloud storage or your path structure isn't well planned that doesn't support instant moves then this process could take a while, make sure you don't interrupt this process if it does stop before completing, it could results in quite the mess. Then Magic As you can see the folder has been renamed to the correct year following your naming scheme. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to rename your folders"},{"location":"Radarr/Tips/Radarr-rename-your-folders/#how-to-rename-your-folders","text":"If you want to rename your current folders names for example to your new naming scheme or for any other reason. You can do this with this little magic trick. Go to you movie overview Movies On the top click on Movie Editor After activating it you select the movie(s) from where you want to have the folder(s) to be renamed. If you want all your movie folders renamed to your folder naming scheme you set earlier HERE . Select the movie(s) from where you want to have the folder(s) to be renamed. Choose the same Root Folder A new popup will be shown Select Yes, Move the files Warning If you got a larger library, remote storage, cloud storage or your path structure isn't well planned that doesn't support instant moves then this process could take a while, make sure you don't interrupt this process if it does stop before completing, it could results in quite the mess. Then Magic As you can see the folder has been renamed to the correct year following your naming scheme. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to rename your folders"},{"location":"Radarr/Tips/Radarr-show-unknown-movie-items/","text":"Show Unknown Movie Items \u00b6 You downloaded a movie and it doesn't show up in your Activity in Radarr ? By enabling the following option it will Show items without a movie in the queue. This could include removed movies or anything else in Radarr's category. Go to your Activity Activity Then on the top right click on Options and a new window will popup and enable Show Unknown Movie Items Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Show Unknown Movie Items"},{"location":"Radarr/Tips/Radarr-show-unknown-movie-items/#show-unknown-movie-items","text":"You downloaded a movie and it doesn't show up in your Activity in Radarr ? By enabling the following option it will Show items without a movie in the queue. This could include removed movies or anything else in Radarr's category. Go to your Activity Activity Then on the top right click on Options and a new window will popup and enable Show Unknown Movie Items Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Show Unknown Movie Items"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/","text":"How to Sync 2 Radarr or Sonarr with each other \u00b6 In this Guide I will try to explain how you can sync two (or more) Radarr/Sonarr with each other. I'm going to show 2 different options how you can setup your sync with 2 Radarr/Sonarr. Option 1: This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances as it'll sync everything Option 2: This option is best used if you only want to have a subset of your library Movies/TV Shows as 4K/2160p (UHD) as it filters by quality profile I'm not going to explain how to set up 2 Radarr/Sonarr for your system, being it depends how you have it installed/running. Radarr Multiple Instance Information and Sonarr Multiple Instance Information Preparation \u00b6 For this you need to have prepared the following: 2 Radarr/Sonarr fully setup (Indexers, Custom Formats, Downloaders, etc). 1 download client ( 2 if you prefer Usenet and Torrents ). Your download client has 2 separate categories (movies-hd, movies-uhd, tv-hd, tv-uhd, etc) Attention You can't use the same root (media library) folder for both Radarr's/Sonarr's Make sure you use 2 separate root folders in Radarr/Sonarr (movies-hd, movies-uhd, tv-hd, tv-uhd, etc) Option 1 \u00b6 In this example I'm going to use 2 Radarr (The basics is the same for Sonarr). Radarr 1 = My main 4K/2160p (UHD) Radarr. Radarr 2 = My 1080p Radarr that I've setup for streaming optimized quality profile. 1 This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances Adding the Radarr Sync list \u00b6 In Radarr 2 go to Settings => Lists Click on the + to add a lists and select Radarr Then you get a screen with the following options. The name you want to call your Sync list. Enable to Enable the list. Enable so the movies will be automatically added. Enable so the movies will be added and monitored (if disabled then there will be no search done for the movies). Enable so when added Radarr will perform a search. When Radarr shall consider a movie is available. 2 The Quality Profile you want to use on Radarr 2 . Your Root location for your media library. The Full URL to Radarr 1 (Use local URL if they run on the same system). Your API Key of Radarr 1 . Which Profile of Radarr 1 you want to Sync with Radarr 2 . Test the connection to Radarr 1 . Save your settings. Radarr Download client setup \u00b6 You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client ( 2 if you prefer Usenet and Torrents ). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Radarr 2 Attention This can't and shouldn't be the same category you use for Radarr 1 but a separate Category . How does this Radarr Sync work \u00b6 You now only need to make use of Radarr 1 all movies your add to Radarr 1 will be synced to Radarr 2 at a scheduled time. Option 2 \u00b6 In this example I'm going to use 2 Sonarr (The basics is the same for Radarr). Sonarr 1 = My main 1080p WEB-DL Sonarr. Sonarr 2 = 4K/2160p (UHD) WEB-DL Sonarr. This option is best used if you only want to have a few TV shows (or a Movies if you use this option with Radarr) as 4K/2160p (UHD) Extra preparation \u00b6 In Sonarr 1 go to Settings => Profiles And Clone your used profile and rename your profile from Profilename - Copy to Profilename! Adding the Sonarr Sync list \u00b6 In Sonarr 2 go to Settings => Import Lists Click on the + to add a lists and select Sonarr Then you get a screen with the following options. The name you want to call your Sync list. Enable so the shows will be automatically added. Choose your monitoring options. 3 Your Root location for your media library. The Quality Profile you want to use on Sonarr 2 . Series Type. 4 If you want to use Season Folders. The Full URL to Sonarr 1 (Use local URL if they run on the same system). Your API Key of Sonarr 1 . The Cloned Profile of Sonarr 1 that we're going to use to Sync with Sonarr 2 . Test the connection to Sonarr 1 . Save your settings. Sonarr Download client setup \u00b6 You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client (2 if you prefer Usenet and Torrents). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Sonarr 2 Important This can't and shouldn't be the same category you use for Sonarr 1 but a separate Category . How does this Sonarr Sync work \u00b6 You now only need to make use of Sonarr 1 , When you got a TV Shows (or a Movie if you use this option with Radarr) that you also want as 4K/2160p (UHD) then you make sure you make use of the Cloned Quality Profile. And it will sync at a scheduled time. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. If you're interested in the 1080p streaming optimized quality profile you can contact me on discord This is a special quality profile i created for people who are really interested in it This release profile is fine tuned when you want to run a 2nd Radarr for 1080p, and want minimum to none transcoding and smaller sizes for the second copy's Why choose this quality profile? Streaming optimized (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) Small sizes Good quality Only AC3 Audio (Downmixed Lossless audio track to Dolby Digital 5.1 for optimal compatibility) You want maximum compatibility between all devices and still a HQ releases. You run 2 instances of Radarr and want both version or just for the 1080p ones. You want to have minimum till none transcoding for low powered devices or remote streaming. \u21a9 Announced : Radarr shall consider movies available as soon as they are added to Radarr. This setting is recommended if you have good private trackers that do not have fakes. In Cinemas : Radarr shall consider movies available as soon as movies they hit cinemas. This option is not recommended. Released : Radarr shall consider movies available as soon as the Blu-ray is released. This option is recommended if your indexers contain fakes often. \u21a9 All Episodes : Monitor all episodes except specials Future Episodes : Monitor episodes that have not aired yet Missing Episodes : Monitor episodes that do not have files or have not aired yet Existing Episodes : Monitor episodes that have files or have not aired yet First Season : Monitor all episodes of the first season. All other seasons will be ignored Latest Season : Monitor all episodes of the latest season and future seasons None : No episodes will be monitored \u21a9 Anime : Episodes released using an absolute episode number Daily : Episodes released daily or less frequently that use year-month-day (2017-05-25) Standard : Episodes released with SxxEyy pattern \u21a9","title":"How to Sync 2 Radarr or Sonarr with each other"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#how-to-sync-2-radarr-or-sonarr-with-each-other","text":"In this Guide I will try to explain how you can sync two (or more) Radarr/Sonarr with each other. I'm going to show 2 different options how you can setup your sync with 2 Radarr/Sonarr. Option 1: This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances as it'll sync everything Option 2: This option is best used if you only want to have a subset of your library Movies/TV Shows as 4K/2160p (UHD) as it filters by quality profile I'm not going to explain how to set up 2 Radarr/Sonarr for your system, being it depends how you have it installed/running. Radarr Multiple Instance Information and Sonarr Multiple Instance Information","title":"How to Sync 2 Radarr or Sonarr with each other"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#preparation","text":"For this you need to have prepared the following: 2 Radarr/Sonarr fully setup (Indexers, Custom Formats, Downloaders, etc). 1 download client ( 2 if you prefer Usenet and Torrents ). Your download client has 2 separate categories (movies-hd, movies-uhd, tv-hd, tv-uhd, etc) Attention You can't use the same root (media library) folder for both Radarr's/Sonarr's Make sure you use 2 separate root folders in Radarr/Sonarr (movies-hd, movies-uhd, tv-hd, tv-uhd, etc)","title":"Preparation"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#option-1","text":"In this example I'm going to use 2 Radarr (The basics is the same for Sonarr). Radarr 1 = My main 4K/2160p (UHD) Radarr. Radarr 2 = My 1080p Radarr that I've setup for streaming optimized quality profile. 1 This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances","title":"Option 1"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#adding-the-radarr-sync-list","text":"In Radarr 2 go to Settings => Lists Click on the + to add a lists and select Radarr Then you get a screen with the following options. The name you want to call your Sync list. Enable to Enable the list. Enable so the movies will be automatically added. Enable so the movies will be added and monitored (if disabled then there will be no search done for the movies). Enable so when added Radarr will perform a search. When Radarr shall consider a movie is available. 2 The Quality Profile you want to use on Radarr 2 . Your Root location for your media library. The Full URL to Radarr 1 (Use local URL if they run on the same system). Your API Key of Radarr 1 . Which Profile of Radarr 1 you want to Sync with Radarr 2 . Test the connection to Radarr 1 . Save your settings.","title":"Adding the Radarr Sync list"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#radarr-download-client-setup","text":"You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client ( 2 if you prefer Usenet and Torrents ). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Radarr 2 Attention This can't and shouldn't be the same category you use for Radarr 1 but a separate Category .","title":"Radarr Download client setup"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#how-does-this-radarr-sync-work","text":"You now only need to make use of Radarr 1 all movies your add to Radarr 1 will be synced to Radarr 2 at a scheduled time.","title":"How does this Radarr Sync work"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#option-2","text":"In this example I'm going to use 2 Sonarr (The basics is the same for Radarr). Sonarr 1 = My main 1080p WEB-DL Sonarr. Sonarr 2 = 4K/2160p (UHD) WEB-DL Sonarr. This option is best used if you only want to have a few TV shows (or a Movies if you use this option with Radarr) as 4K/2160p (UHD)","title":"Option 2"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#extra-preparation","text":"In Sonarr 1 go to Settings => Profiles And Clone your used profile and rename your profile from Profilename - Copy to Profilename!","title":"Extra preparation"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#adding-the-sonarr-sync-list","text":"In Sonarr 2 go to Settings => Import Lists Click on the + to add a lists and select Sonarr Then you get a screen with the following options. The name you want to call your Sync list. Enable so the shows will be automatically added. Choose your monitoring options. 3 Your Root location for your media library. The Quality Profile you want to use on Sonarr 2 . Series Type. 4 If you want to use Season Folders. The Full URL to Sonarr 1 (Use local URL if they run on the same system). Your API Key of Sonarr 1 . The Cloned Profile of Sonarr 1 that we're going to use to Sync with Sonarr 2 . Test the connection to Sonarr 1 . Save your settings.","title":"Adding the Sonarr Sync list"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#sonarr-download-client-setup","text":"You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client (2 if you prefer Usenet and Torrents). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Sonarr 2 Important This can't and shouldn't be the same category you use for Sonarr 1 but a separate Category .","title":"Sonarr Download client setup"},{"location":"Radarr/Tips/Sync-2-radarr-sonarr/#how-does-this-sonarr-sync-work","text":"You now only need to make use of Sonarr 1 , When you got a TV Shows (or a Movie if you use this option with Radarr) that you also want as 4K/2160p (UHD) then you make sure you make use of the Cloned Quality Profile. And it will sync at a scheduled time. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. If you're interested in the 1080p streaming optimized quality profile you can contact me on discord This is a special quality profile i created for people who are really interested in it This release profile is fine tuned when you want to run a 2nd Radarr for 1080p, and want minimum to none transcoding and smaller sizes for the second copy's Why choose this quality profile? Streaming optimized (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) Small sizes Good quality Only AC3 Audio (Downmixed Lossless audio track to Dolby Digital 5.1 for optimal compatibility) You want maximum compatibility between all devices and still a HQ releases. You run 2 instances of Radarr and want both version or just for the 1080p ones. You want to have minimum till none transcoding for low powered devices or remote streaming. \u21a9 Announced : Radarr shall consider movies available as soon as they are added to Radarr. This setting is recommended if you have good private trackers that do not have fakes. In Cinemas : Radarr shall consider movies available as soon as movies they hit cinemas. This option is not recommended. Released : Radarr shall consider movies available as soon as the Blu-ray is released. This option is recommended if your indexers contain fakes often. \u21a9 All Episodes : Monitor all episodes except specials Future Episodes : Monitor episodes that have not aired yet Missing Episodes : Monitor episodes that do not have files or have not aired yet Existing Episodes : Monitor episodes that have files or have not aired yet First Season : Monitor all episodes of the first season. All other seasons will be ignored Latest Season : Monitor all episodes of the latest season and future seasons None : No episodes will be monitored \u21a9 Anime : Episodes released using an absolute episode number Daily : Episodes released daily or less frequently that use year-month-day (2017-05-25) Standard : Episodes released with SxxEyy pattern \u21a9","title":"How does this Sonarr Sync work"},{"location":"SQP/","text":"Special Quality Profiles \u00b6 The Special Quality Profiles are Custom made and tested Quality Profile for specific needs or preferences. Attention Anything here is for private use only and not for public use I expect from the users that got the link to this page to honour it Yes you can talk in the public channels that you use a specific SQP. If others are interested they can join. The Following SQP are available \u00b6 Streaming optimized UHD WEBDL REMUX HQ-Encodes FAQ & INFO \u00b6 Info SQP = Special Quality Profile CF = Custom Formats Why don't you add this to the public guide ? These SQP are advanced Quality Profiles tested and created for a specific need, and only interesting for people that ae interested in a specific Quality Profile. I see CF that aren't in the main Guide Some SQP have/need specific CF to work. Some CF in your instructions have a score of 0 should i follow the scores from the main Guide ? No you should always follow the scores of the SQP. Tip Look for the SQP you want to use, if you're unsure which one will fit your needs ask in the dedicated channel. If you got any questions or need extra info about a SQP, please use the dedicated channel of that SQP to ask, so we know which SQP you're using. Follow the setup instructions and don't skip steps. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Special Quality Profiles"},{"location":"SQP/#special-quality-profiles","text":"The Special Quality Profiles are Custom made and tested Quality Profile for specific needs or preferences. Attention Anything here is for private use only and not for public use I expect from the users that got the link to this page to honour it Yes you can talk in the public channels that you use a specific SQP. If others are interested they can join.","title":"Special Quality Profiles"},{"location":"SQP/#the-following-sqp-are-available","text":"Streaming optimized UHD WEBDL REMUX HQ-Encodes","title":"The Following SQP are available"},{"location":"SQP/#faq-info","text":"Info SQP = Special Quality Profile CF = Custom Formats Why don't you add this to the public guide ? These SQP are advanced Quality Profiles tested and created for a specific need, and only interesting for people that ae interested in a specific Quality Profile. I see CF that aren't in the main Guide Some SQP have/need specific CF to work. Some CF in your instructions have a score of 0 should i follow the scores from the main Guide ? No you should always follow the scores of the SQP. Tip Look for the SQP you want to use, if you're unsure which one will fit your needs ask in the dedicated channel. If you got any questions or need extra info about a SQP, please use the dedicated channel of that SQP to ask, so we know which SQP you're using. Follow the setup instructions and don't skip steps. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"FAQ & INFO"},{"location":"SQP/1-1/","text":"Streaming Optimized \u00b6 Note Keep in mind this SQP is a WIP, Changes are done when needed. It uses Custom Formats and specific needed settings that probably will never make it to the guide, being the guide is used by the mass and what's used here is specific made. This also means some Custom Formats needs manual updating or you can use one of the 3rd party automation tools. Why choose this quality profile \u00b6 Why choose this quality profile? - [CLICK TO EXPAND] You want maximum compatibility between all devices and still a HQ releases. You run 2 instances of Radarr and want both version or just for the 1080p ones. You want to have minimum till none transcoding for low powered devices or remote streaming. If available for you Streaming optimized. (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) Small sizes. Workflow Rules \u00b6 Workflow Rules - [CLICK TO EXPAND] It will prefer 1080p BHDStudio releases, if no BHDStudio can be found it will prefer HQ WEB-DL BHDStudio BHDStudio does HQ 1080p Encodes with the following features Streaming optimized (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) AC3 Audio (Downmixed Lossless audio track to Dolby Digital 5.1 for optimal compatibility) Small sizes Good quality No Dolby Vision Instructions \u00b6 Follow every steps below. Don't skip any steps. Changing the tested recommended scores could result in undesired results. Adding CF not in this guide could result in undesired results. Create a new Quality Profile \u00b6 Settings => Profiles Create a new profile and name it what ever you want I used Bluray|WEB-1080p Merge Qualities \u00b6 Merge the following Qualities together: Bluray-720p Bluray-1080p WEBDL/WEBRIP-1080p To merge them you need to click on the edit groups. Quality Profile Settings \u00b6 Enable: Upgrades Allowed Upgrade Until Quality: Bluray|WEB-1080p Minimum Custom Format Score: 1000 1 Upgrade Until Custom Format Score: 10000 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Custom Formats and scores \u00b6 HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 0 HQ 0 BHDStudio - [CLICK TO EXPAND] Custom Format Score LINK BHDStudio 1800 Misc - [CLICK TO EXPAND] Custom Format Score LINK 720p 5 1080 25 Repack/Proper 1 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Quality Size \u00b6 Settings => Quality Change the 1080p Quality Size to the range BHDStudio uses ( I searched BHD to check what was their smallest and biggest release, so this can change later if needed) If you notice issues with the sizes please report it. Quality Min Preferred Max WEBDL-1080p 25.2 84.7 85.7 WEBRip-1080p 25.2 84.7 85.7 Bluray-720p 25.2 101 102 Bluray-1080p 33.8 135.9 136.9 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. If you don't mind to get also other Bluray Encodes (less or not streaming optimized) then you could lower this score to 10. \u21a9","title":"Streaming Optimized"},{"location":"SQP/1-1/#streaming-optimized","text":"Note Keep in mind this SQP is a WIP, Changes are done when needed. It uses Custom Formats and specific needed settings that probably will never make it to the guide, being the guide is used by the mass and what's used here is specific made. This also means some Custom Formats needs manual updating or you can use one of the 3rd party automation tools.","title":"Streaming Optimized"},{"location":"SQP/1-1/#why-choose-this-quality-profile","text":"Why choose this quality profile? - [CLICK TO EXPAND] You want maximum compatibility between all devices and still a HQ releases. You run 2 instances of Radarr and want both version or just for the 1080p ones. You want to have minimum till none transcoding for low powered devices or remote streaming. If available for you Streaming optimized. (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) Small sizes.","title":"Why choose this quality profile"},{"location":"SQP/1-1/#workflow-rules","text":"Workflow Rules - [CLICK TO EXPAND] It will prefer 1080p BHDStudio releases, if no BHDStudio can be found it will prefer HQ WEB-DL BHDStudio BHDStudio does HQ 1080p Encodes with the following features Streaming optimized (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) AC3 Audio (Downmixed Lossless audio track to Dolby Digital 5.1 for optimal compatibility) Small sizes Good quality No Dolby Vision","title":"Workflow Rules"},{"location":"SQP/1-1/#instructions","text":"Follow every steps below. Don't skip any steps. Changing the tested recommended scores could result in undesired results. Adding CF not in this guide could result in undesired results.","title":"Instructions"},{"location":"SQP/1-1/#create-a-new-quality-profile","text":"Settings => Profiles Create a new profile and name it what ever you want I used Bluray|WEB-1080p","title":"Create a new Quality Profile"},{"location":"SQP/1-1/#merge-qualities","text":"Merge the following Qualities together: Bluray-720p Bluray-1080p WEBDL/WEBRIP-1080p To merge them you need to click on the edit groups.","title":"Merge Qualities"},{"location":"SQP/1-1/#quality-profile-settings","text":"Enable: Upgrades Allowed Upgrade Until Quality: Bluray|WEB-1080p Minimum Custom Format Score: 1000 1 Upgrade Until Custom Format Score: 10000 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly.","title":"Quality Profile Settings"},{"location":"SQP/1-1/#custom-formats-and-scores","text":"HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 0 HQ 0 BHDStudio - [CLICK TO EXPAND] Custom Format Score LINK BHDStudio 1800 Misc - [CLICK TO EXPAND] Custom Format Score LINK 720p 5 1080 25 Repack/Proper 1 Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 .","title":"Custom Formats and scores"},{"location":"SQP/1-1/#quality-size","text":"Settings => Quality Change the 1080p Quality Size to the range BHDStudio uses ( I searched BHD to check what was their smallest and biggest release, so this can change later if needed) If you notice issues with the sizes please report it. Quality Min Preferred Max WEBDL-1080p 25.2 84.7 85.7 WEBRip-1080p 25.2 84.7 85.7 Bluray-720p 25.2 101 102 Bluray-1080p 33.8 135.9 136.9 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. If you don't mind to get also other Bluray Encodes (less or not streaming optimized) then you could lower this score to 10. \u21a9","title":"Quality Size"},{"location":"SQP/1-2/","text":"UHD WEBDL REMUX HQ-Encodes \u00b6 Note Keep in mind this SQP is a WIP, Changes are done when needed. It uses Custom Formats and specific needed settings that probably will never make it to the guide, being the guide is used by the mass and what's used here is specific made. This also means some Custom Formats needs manual updating or you can use one of the 3rd party automation tools. Why choose this quality profile \u00b6 Why choose this quality profile? - [CLICK TO EXPAND] You got a decent audio setup. (that supports all HD audio formats) You got a setup that completely supports DoVi from start to end. You do want the highest quality as possible to watch but want to save space for archiving without loosing video and audio quality. HDR/DoVi (Depending what's offered and often both) HD Audio (Atmos, TrueHD etc...) You don't want to wait for the HQ Encodes to be released, to watch it. Workflow Rules \u00b6 Workflow Rules - [CLICK TO EXPAND] With this profile you would download the 4k WEB-DL (streaming services) When the 4k Remux is released it will upgrade to the 4k Remux. When the HQ Encode is released it will upgrade to the HQ Encode. When there is no HQ Encode you still get the 4k Remuxes. Optional Imax Enhanced When a Imax Enhanced exist it will upgrade/downgrade to Imax Enhanced. Imax Enhanced will be ONLY chosen if it has the same AUDIO and HDR Metadata It won't downgrade from a TrueHD Atmos to a DD+ Atmos or from a DV to a HDR . Instructions \u00b6 Follow every steps below. Don't skip any steps. Changing the tested recommended scores could result in undesired results. Adding CF not in this guide could result in undesired results. Create a new Quality Profile \u00b6 Settings => Profiles Create a new profile and name it what ever you want I used WEBDL|Remux|Bluray|2160p Merge Qualities \u00b6 Merge the following Qualities together: Remux-2160p Bluray-2160p WEBDL/WEBRIP-2160p To merge them you need to click on the edit groups. Quality Profile Settings \u00b6 Enable: Upgrades Allowed Upgrade Until Quality: WEBDL|Remux|Bluray|2160p Minimum Custom Format Score: 10 Upgrade Until Custom Format Score: 10000 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Custom Formats and scores \u00b6 Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 IMAX Enhanced 750 IMAX Enhanced IMAX Enhanced: Get More Picture Instead of Black Bars. IMAX Enhanced exclusive expanded aspect ratio is 1:90:1, which offers up to 26% more picture for select sequences, meaning more of the action is visible on screen. If you don't prefer IMAX Enhanced then don't add it or use a score of 0 HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 1900 HQ 0 HQ 4k Encodes - [CLICK TO EXPAND] Custom Format Score LINK UHD (CtrlHD) 2300 UHD (DON) 2300 UHD (W4NK3R) 2300 UHD (HQMUX) 2200 UHD (LEGi0N) 2100 UHD (WEBDV) 1800 Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 . Quality Size \u00b6 Settings => Quality Quality Min Preferred Max WEBDL-2160p 50.8 399 400 WEBRip-2160p 50.8 399 400 Bluray-2160p 102 399 400 Remux-2160p 187.4 399 400 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"UHD WEBDL REMUX HQ-Encodes"},{"location":"SQP/1-2/#uhd-webdl-remux-hq-encodes","text":"Note Keep in mind this SQP is a WIP, Changes are done when needed. It uses Custom Formats and specific needed settings that probably will never make it to the guide, being the guide is used by the mass and what's used here is specific made. This also means some Custom Formats needs manual updating or you can use one of the 3rd party automation tools.","title":"UHD WEBDL REMUX HQ-Encodes"},{"location":"SQP/1-2/#why-choose-this-quality-profile","text":"Why choose this quality profile? - [CLICK TO EXPAND] You got a decent audio setup. (that supports all HD audio formats) You got a setup that completely supports DoVi from start to end. You do want the highest quality as possible to watch but want to save space for archiving without loosing video and audio quality. HDR/DoVi (Depending what's offered and often both) HD Audio (Atmos, TrueHD etc...) You don't want to wait for the HQ Encodes to be released, to watch it.","title":"Why choose this quality profile"},{"location":"SQP/1-2/#workflow-rules","text":"Workflow Rules - [CLICK TO EXPAND] With this profile you would download the 4k WEB-DL (streaming services) When the 4k Remux is released it will upgrade to the 4k Remux. When the HQ Encode is released it will upgrade to the HQ Encode. When there is no HQ Encode you still get the 4k Remuxes. Optional Imax Enhanced When a Imax Enhanced exist it will upgrade/downgrade to Imax Enhanced. Imax Enhanced will be ONLY chosen if it has the same AUDIO and HDR Metadata It won't downgrade from a TrueHD Atmos to a DD+ Atmos or from a DV to a HDR .","title":"Workflow Rules"},{"location":"SQP/1-2/#instructions","text":"Follow every steps below. Don't skip any steps. Changing the tested recommended scores could result in undesired results. Adding CF not in this guide could result in undesired results.","title":"Instructions"},{"location":"SQP/1-2/#create-a-new-quality-profile","text":"Settings => Profiles Create a new profile and name it what ever you want I used WEBDL|Remux|Bluray|2160p","title":"Create a new Quality Profile"},{"location":"SQP/1-2/#merge-qualities","text":"Merge the following Qualities together: Remux-2160p Bluray-2160p WEBDL/WEBRIP-2160p To merge them you need to click on the edit groups.","title":"Merge Qualities"},{"location":"SQP/1-2/#quality-profile-settings","text":"Enable: Upgrades Allowed Upgrade Until Quality: WEBDL|Remux|Bluray|2160p Minimum Custom Format Score: 10 Upgrade Until Custom Format Score: 10000 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly.","title":"Quality Profile Settings"},{"location":"SQP/1-2/#custom-formats-and-scores","text":"Audio - [CLICK TO EXPAND] Custom Format Score LINK TrueHD ATMOS 5000 DTS X 4500 ATMOS (undefined) 3000 DD+ ATMOS 3000 TrueHD 2750 DTS-HD MA 2500 FLAC 2250 PCM 2250 DTS-HD HRA 2000 DD+ 1750 DTS-ES 1500 DTS 1250 AAC 1000 DD 750 HDR Metadata - [CLICK TO EXPAND] Custom Format Score LINK DV HDR10 1550 DV 1500 DV HLG 1500 DV SDR 1500 HDR10Plus 600 HDR10 550 HDR 500 HDR (undefined) 500 PQ 500 HLG 500 Movie Versions - [CLICK TO EXPAND] Custom Format Score LINK Hybrid 100 Remaster 25 4K Remaster 25 Criterion Collection 25 Special Edition 25 IMAX 25 IMAX Enhanced 750 IMAX Enhanced IMAX Enhanced: Get More Picture Instead of Black Bars. IMAX Enhanced exclusive expanded aspect ratio is 1:90:1, which offers up to 26% more picture for select sequences, meaning more of the action is visible on screen. If you don't prefer IMAX Enhanced then don't add it or use a score of 0 HQ Source Groups - [CLICK TO EXPAND] Custom Format Score LINK HQ-WEBDL 1750 HQ-Remux 1900 HQ 0 HQ 4k Encodes - [CLICK TO EXPAND] Custom Format Score LINK UHD (CtrlHD) 2300 UHD (DON) 2300 UHD (W4NK3R) 2300 UHD (HQMUX) 2200 UHD (LEGi0N) 2100 UHD (WEBDV) 1800 Misc - [CLICK TO EXPAND] Custom Format Score LINK Repack/Proper 1 Proper and Repacks - [CLICK TO EXPAND] I also suggest to change the Propers and Repacks settings in Radarr Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format. This way you make sure the Custom Formats preferences will be used and not ignored. Unwanted - [CLICK TO EXPAND] Custom Format Score LINK BR-DISK -10000 EVO (no WEBDL) -10000 LQ -10000 x265 (720/1080p) -10000 3D -10000 No-RlsGroup -10000 Obfuscated -10000 DV (WEBDL) ?????? Breakdown and Why - [CLICK TO EXPAND] BR-DISK: This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality. EVO (no WEBDL): This group is often banned for the low quality Blu-ray releases, but their WEB-DL are okay. LQ: A collection of known Low Quality groups that are often banned from the the top trackers because the lack of quality or other reasons. x265 (720/1080p): This blocks/ignores 720/1080p releases that are encoded in x265 - More info HERE . 3D: Is 3D still a thing for home use ? No-RlsGroup: [Optional] Some indexers strip out the release group what could result in LQ groups getting a higher score. For example a lot of EVO releases end up stripping the group name, so they appear as \"upgrades\", and they end up getting a decent score if other things match. Obfuscated: [Optional] (use these only if you dislike renamed and retagged releases) DV (WEBDL): This is a special Custom Format that Block WEBDL with Dolby Vision but without HDR10 fallback. This Custom Format works together with the normal DV Custom Format that you can use to prefer Dolby Vision. Most WEBDL from Streaming Services don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Remuxes and Bluray have a fallback to HDR10. Hint [DV WEBDL] = This custom format you need to score depending of your personal use and setup. If you only watch your movies on a setup that completely supports Dolby Vision from start to end then give it a score of 0 or just don't add it. If you (or family members you share your collection with) have a setup that doesn't support Dolby Vision then you should add this with a score of -10000 .","title":"Custom Formats and scores"},{"location":"SQP/1-2/#quality-size","text":"Settings => Quality Quality Min Preferred Max WEBDL-2160p 50.8 399 400 WEBRip-2160p 50.8 399 400 Bluray-2160p 102 399 400 Remux-2160p 187.4 399 400 example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't always a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide. If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Quality Size"},{"location":"Sonarr/","text":"Sonarr \u00b6 Here you will find a collection of Sonarr Guides I made. v3 Sonarr Branch: latest \u00b6 (Stable) (v3) Builds Pushed only when intentionally released Github Branch: main Docker: hotio/sonarr:release hotio/sonarr:release","title":"Home"},{"location":"Sonarr/#sonarr","text":"Here you will find a collection of Sonarr Guides I made.","title":"Sonarr"},{"location":"Sonarr/#v3-sonarr-branch-latest","text":"(Stable) (v3) Builds Pushed only when intentionally released Github Branch: main Docker: hotio/sonarr:release hotio/sonarr:release","title":"v3 Sonarr Branch: latest"},{"location":"Sonarr/Sonarr-Quality-Settings-File-Size/","text":"Quality Settings (File Size) \u00b6 I often get the question what's the best Quality Settings to use, Well it's actually personal preference so I will show you a recommended Quality Settings. But before you continue to read, as with all my guides: If you don't care about quality then stop reading and see if the other tutorials are helpful for you. This Quality Settings has been created and tested with info I got from others, and release comparisons from different sources. I only do WEB-DL my self for TV shows because in my opinion WEB-DL is the sweet spot between Quality and Size and you often don't see big difference anyway for TV shows. (Except for shows like GOT, Vikings, etc) FAQ FAQ \u00b6 Q: Why do you only show starting from HDTV720p? A: With the big screens these days anything lower doesn't look watchable Q: Why do you have some sized set so high? A: You probably didn't read the bold text above, I also need to keep in mind usenet releases that are often bigger then torrent releases. Q: You noticed that some episodes don't grab because of these settings. A: If you notice that some episodes won't be grabbed because of these size settings you can provide me a proof with a screenshot and the error it shows you when you do a interactive search (non redacted except the indexer/tracker if you want to). I will only accept changes that are International releases no multi, or dubbed language releases. I won't accept mislabeled source releases like from MeGusta, etc (they should learn to name their stuff decent first). I won't accept changes for micro sized releases. Documentaries and cartoons are often much smaller so I probably won't edit those either. Sonarr Quality Definitions \u00b6 Quality Minimum Maximum HDTV-720p 10 67.5 HDTV-1080p 15 137.3 WEBRip-720p 10 137.3 WEBDL-720p 10 137.3 Bluray-720p 17.1 137.3 WEBRip-1080p 15 137.3 WEBDL-1080p 15 137.3 Bluray-1080p 50.4 227 Bluray-1080p Remux 69.1 400 HDTV-2160p 69.1 350 WEBRip-2160p 69.1 350 WEBDL-2160p 69.1 350 Bluray-2160p 94.6 400 Bluray-2160p Remux 204.4 400 Sonarr Quality Definitions - Anime (Work in Progress) \u00b6 Quality Minimum Maximum HDTV-720p 2.3 51.4 HDTV-1080p 2.3 100 WEBRip-720p 4.3 100 WEBDL-720p 4.3 51.4 Bluray-720p 4.3 102.2 WEBRip-1080p 4.5 257.4 WEBDL-1080p 4.3 253.6 Bluray-1080p 4.3 258.1 Bluray-1080p Remux 0 400 HDTV-2160p 69.1 350 WEBRip-2160p 69.1 350 WEBDL-2160p 69.1 350 Bluray-2160p 94.6 400 Bluray-2160p Remux 204.4 400 Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Quality Settings (File Size)"},{"location":"Sonarr/Sonarr-Quality-Settings-File-Size/#quality-settings-file-size","text":"I often get the question what's the best Quality Settings to use, Well it's actually personal preference so I will show you a recommended Quality Settings. But before you continue to read, as with all my guides: If you don't care about quality then stop reading and see if the other tutorials are helpful for you. This Quality Settings has been created and tested with info I got from others, and release comparisons from different sources. I only do WEB-DL my self for TV shows because in my opinion WEB-DL is the sweet spot between Quality and Size and you often don't see big difference anyway for TV shows. (Except for shows like GOT, Vikings, etc) FAQ","title":"Quality Settings (File Size)"},{"location":"Sonarr/Sonarr-Quality-Settings-File-Size/#faq","text":"Q: Why do you only show starting from HDTV720p? A: With the big screens these days anything lower doesn't look watchable Q: Why do you have some sized set so high? A: You probably didn't read the bold text above, I also need to keep in mind usenet releases that are often bigger then torrent releases. Q: You noticed that some episodes don't grab because of these settings. A: If you notice that some episodes won't be grabbed because of these size settings you can provide me a proof with a screenshot and the error it shows you when you do a interactive search (non redacted except the indexer/tracker if you want to). I will only accept changes that are International releases no multi, or dubbed language releases. I won't accept mislabeled source releases like from MeGusta, etc (they should learn to name their stuff decent first). I won't accept changes for micro sized releases. Documentaries and cartoons are often much smaller so I probably won't edit those either.","title":"FAQ"},{"location":"Sonarr/Sonarr-Quality-Settings-File-Size/#sonarr-quality-definitions","text":"Quality Minimum Maximum HDTV-720p 10 67.5 HDTV-1080p 15 137.3 WEBRip-720p 10 137.3 WEBDL-720p 10 137.3 Bluray-720p 17.1 137.3 WEBRip-1080p 15 137.3 WEBDL-1080p 15 137.3 Bluray-1080p 50.4 227 Bluray-1080p Remux 69.1 400 HDTV-2160p 69.1 350 WEBRip-2160p 69.1 350 WEBDL-2160p 69.1 350 Bluray-2160p 94.6 400 Bluray-2160p Remux 204.4 400","title":"Sonarr Quality Definitions"},{"location":"Sonarr/Sonarr-Quality-Settings-File-Size/#sonarr-quality-definitions-anime-work-in-progress","text":"Quality Minimum Maximum HDTV-720p 2.3 51.4 HDTV-1080p 2.3 100 WEBRip-720p 4.3 100 WEBDL-720p 4.3 51.4 Bluray-720p 4.3 102.2 WEBRip-1080p 4.5 257.4 WEBDL-1080p 4.3 253.6 Bluray-1080p 4.3 258.1 Bluray-1080p Remux 0 400 HDTV-2160p 69.1 350 WEBRip-2160p 69.1 350 WEBDL-2160p 69.1 350 Bluray-2160p 94.6 400 Bluray-2160p Remux 204.4 400 Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Sonarr Quality Definitions - Anime (Work in Progress)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/","text":"Release Profile RegEx (Anime) \u00b6 Note This Guide is Created and Maintained by Visorask/Visorak It's recommended to run 2 Sonarr's 1 for Anime and 1 for normal tv shows, or you can make use of tags. Being that release profiles are global without the use of a tag. Dual-Audio Regex \u00b6 Having tested most of these settings, they work pretty well but Anime is a fickle beast to toy with so be warned. Anime Delete \u00b6 If you have issues with extra files being download like NCED or NCOP If you have issues with sonarr picking up a bunch of: NCED NCOP Music Videos OP's Then this script (linux based only) will delete these files and get rid of them and you don't have to worry about them cluttering up your Auto or Manual import process. #!/usr/bin/env bash # Set the following location to your completed download location for Anime. # Usually one of the following paths: # Dockers => /data/{usenet|torrents}/anime # Cloudbox => /mnt/local/downloads/nzbs/nzbget/completed/sonarranime location = \"/your/download/path/here\" find $location -type f \\( -iname \"*op[0-9]*\" -o -iname \"*nced*\" -o -iname \"*ncop*\" -o -iname \"*music video*\" \\) -exec rm -rf {} \\; This script will be called through a custom connection in sonarr. Copy the contents of the script into whatever filepath sonarr has access to ( /config/app/ or /appdata/sonarr/scripts ) Edit the location=\"/your/download/path/here\" and make sure it's in quotes. Then save it and chmod +x the script. In Sonarr go to Settings => Connect => Click on the + Symbol => and select Custom Script Change Name to whatever you like. Select On Grab and On Import . Click the Folder icon or type in the path to the script you chose earlier. Now when you download or import any files the script will run and clear out those files that you most likely won't use and if you want them well this script isn't for you. Media Management \u00b6 Note There a few settings which make life a lot easier when tracking down and keeping certain information for your Anime and with tweaks to make it work better with HamaAgent for plex. Suggested naming scheme \u00b6 For this I used the Sonarr Recommended naming scheme for Sonarr with only a small change for a formatting error to be fixed and the Series Folder Format for easier matching. Anime Episode Format \u00b6 Has all necessary information and a little extra if you needed to rebuild. { Series TitleYear } - S { season:00 } E { episode:00 } - { absolute:000 } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRange ]}[{ MediaInfo VideoBitDepth } bit ]{[ MediaInfo VideoCodec ]}[{ Mediainfo AudioCodec } { Mediainfo AudioChannels }]{ MediaInfo AudioLanguages }{ -Release Group } RESULTS: Single Episode: The Series Title! (2010) - S01E01 - 001 - Episode Title 1 [AMZN WEBDL-1080p v2][HDR][10bit][x264][DTS 5.1][FLAC][JA]-RlsGrp Multi Episode: The Series Title! (2010) - S01E01-E02-E03 - 001-002-003 - Episode Title [AMZN WEBDL-1080p v2][HDR][10bit][x264][DTS 5.1][FLAC][JA]-RlsGrp Series Folder Format \u00b6 Adding year back in with tvdb id allows matching to be correct. Thanks salty. { Series TitleTheYear } [ tvdb- { TvdbId }] RESULT: The Series Title! (2010) [tvdb-12345] Season Folder Format \u00b6 The only one real option to use in my opinion. Season { season:00 } RESULT: Season 01 Multi-Episode Style \u00b6 Prefixed Range RESULTS: Example Quality Profile \u00b6 We need to add HDTV-1080p and Bluray-1080p into the same group as WEBDL-1080p and WEBRip-1080p so that it will download correctly and not upgrade past HDTV-1080P if Preferred Words does not allow it. Indexers \u00b6 We need to add the Anime Categories to our indexers otherwise this all won't work very well. Example We need to open Settings -> Indexers Select the Indexer(s) you would like to use for Anime Select the dropdown for Anime Categories . Select the Anime category. Click outside the pop-up modal but inside the Add Indexer modal. Note Check mark Include Preferred when Renaming where applicable and add {Preferred Words} to your renaming scheme else you could get a download loop issues!!! Release Profiles \u00b6 Note We're going to make use of 2 separate release profiles. First Release Profile \u00b6 Important DO Check mark Include Preferred when Renaming on this release profile. Multi-Audio \u00b6 Add this to your Preferred with a score of [500] / ( multi [ ._- ] ?audio ) /i Dual-Audio \u00b6 Add this to your Preferred with a score of [0] . This is for renames only and why it is at 0 . It is also added in the second profile. This one is to ensure that the preferred words get added. / ( dual [ ._- ] ?audio ) /i Optional (uncut|unrated|uncensored) \u00b6 Add this to your Preferred with a score of [100]/[-10000] If you would like it to be priority then set to 100 . If you do not want uncensored set it to -10000 . If you don't care either way just leave it out. The reasoning behind only 100 is so that it doesn't trump other release further up in the chain, this way it will trump maybe a couple release but not more. And -10000 to hopefully put it at the bottom of any tier list if you don't want it. / ( uncut | unrated | uncensored | \\b ( AT [ -_. ] ?X ) \\b ) /i Note When done it should look something like this: Second Release Profile \u00b6 Warning DO NOT Check mark Include Preferred when Renaming Must Not Contain \u00b6 The reason most of these are added is due to their shitty quality or just in general are not as good as other stuff that is out there. This can be tweaked as needed. Let me know if you run into any issues here. You should be able to just copy paste these in one go. If there is a reason something shouldn't be here let me know and your logic and I will be open to adjusting. Important If you would like dub releases then remove the last 2 lines and do not add them. / ( \\[ EMBER \\] | -EMBER \\b | DaddySubs ) /i, / ( BDMV | M2TS | \\b SSA \\b | \\b VOSTFR \\b | \\b AbemaTV \\b ) /i, / ( CuaP | PnPSubs | ICEBLUE | SLAX | U3-Web ) /i, / ( Raws-Maji | \\b KRP \\b | M@nI | Kanjouteki | PuyaSubs ) /i, / \\b ( Beatrice | ohys | Kawaiika | neko | daddy )[ ._- ] ? ( raws ) \\b /i, / \\b ( LowPower | Scryous )[ ._- ] ? ( raws ) \\b /i, / \\b ( NS | AREY | BDMV | BDVD | BJX | DKB | DP | TnF ) \\b /i, / ( Amb3r | DsunS | ExREN | \\$ tore-Chill ) /i, / ( \\[ Hatsuyuki \\] | -Hatsuyuki \\b | \\[ Hitoku \\] | -Hitoki \\b ) /i, / ( \\[ Foxtrot \\] | -Foxtrot \\b | HollowRoxas | \\b MGD \\b ) /i, / ( JacobSwaggedUp | KEKMASTERS | \\[ Mites \\] | -Mites \\b ) /i, / ( neoHEVC | Pantsu | \\[ Pao \\] | -Pao \\b | Plex Friendly ) /i, / ( Rando235 | RandomRemux | Reaktor | RightShiftBy2 ) /i, / ( \\b SHFS \\b | StrayGods | \\b UQW \\b | Yabai_Desu_Ne ) /i, / ( YakuboEncodes | \\b ( WtF [ ._- ] ?Anime ) \\b ) /i, / (( funi | eng ( lish ) ? ) _?dub | \\b dub ( bed ) ? \\b ) /i, / ( Golumpa | torenter69 | KamiFS | KaiDubs ) /i Preferred \u00b6 Note 2 lines in one grouping is just there for readability purposes but achieves the same result and score. Add this to your Preferred with a score of [501] Note This is set to 501 so that it may jump 1 tier if need be but not more. /dual [ ._- ] ?audio | EN \\+ JA | JA \\+ EN/i Important These next few are optional but they are here to move releases up over lower tiers of 1080/720p or WEB-DL/Blu-Ray . Will add another note like this to end the optional section. Add this to your Preferred with a score of [100] Note We are adding this as 100 so that any unknown Blu-Ray can jump tiers inside the Subs categories but not interfere with any tiers above. / \\b ( ?: ( Blu-?Ray | BDMux | BD ( ?!$ )) | ( B [ DR ] Rip ))( ?: \\b | $ | [ . ]) /ix Add this to your Preferred with a score of [15] / \\b ( WEB [ -_. ] ?DL | WebHD | [ . ] WEB [ . ]( ?: [ xh ] 26 [ 45 ] | DDP?5 [ . ] 1 ) | [ . ]( ?-i:WEB ) $ | \\d +0p ( ?:WEB-DLMux | \\b\\s\\/\\s WEB \\s\\/\\s\\b )) /ix Add this to your Preferred with a score of [10] / ( Web-?Rip | WEBMux ) /ix Add this to your Preferred with a score of [5] / \\b ( ?: ( 1080p | 1920x1080 | 1440p | FHD | 1080i | 4kto1080p )) \\b /i Important This is the end of the optional section. Add this to your Preferred with a score of [4000] BluRay-Remux / Dual-Audio / 1st Tier / ( deanzel | \\b ZR \\b | \\b CTR \\b | \\b SCY \\b | \\b MK \\b | TTGA ) /i / ( \\b Shir \\b | LostYears | BluDragon | KAWAiREMUX ) /i / ( \\b AC \\b | ShadyCrab | Rasetsu | Raizel | Dragon-Releases ) /i / ( \\[ Spark \\] | -Spark \\b | \\b REVO \\b | \\b SRLS \\b | ANThELIa ) /i / ( \\[ Vanilla \\] | -Vanilla \\b | \\b AP \\b ) /i Add this to your Preferred with a score of [3750] BluRay / Dual-Audio / Special (Releases they have are in between below releases and remuxes above.) / ( E [ .- ] N [ .- ] D ) /i Add this to your Preferred with a score of [3500] BluRay / Dual-Audio / 1st Tier / ( \\b HAiKU \\b | Exiled-Destiny | \\b ( E-D ) \\b | Koten [ ._- ] Gars ) /i / ( \\[ GHOST \\] | -GHOST \\b | \\[ NPC \\] | -NPC \\b | \\b CBM \\b ) /i / ( \\b KH \\b | \\b CBT \\b | \\[ naiyas \\] | -naiyas \\b | ShowY | Kametsu | \\b Pn8 \\b | Hark0N ) /i Add this to your Preferred with a score of [3000] BluRay / Dual-Audio / Scene|P2P Groups / ( \\b DHD \\b | RedBlade | TENEIGHTY | WaLMaRT ) /i / ( \\b BMF \\b | \\[ STRiFE \\] | -STRiFE \\b ) /i / ( MKVULTRA | iAHD | ANiHLS ) /i Add this to your Preferred with a score of [2500] BluRay / Dual-Audio / 2ndd Tier / ( \\[ YURASUKA \\] | -YURASUKA \\b | karios | Arukoru ) /i / ( \\b RH \\b | \\[ Prof \\] | -Prof \\b ) /i Add this to your Preferred with a score of [2000] WebSource / Dual|Multi-Audio / ( DragsterPS ) /i Add this to your Preferred with a score of [1500] WebSource / Dual-Audio / ( xPearse | \\b MCR \\b | \\b KS \\b | KiyoshiStar ) /i Add this to your Preferred with a score of [1000] DVD / Dual-Audio / ( \\b ( A-L ) \\b ) /i Add this to your Preferred with a score of [300] Subs with multi such as German, French , Spanish, Italian, Russian, Arabic, Portuguese and English / ( Erai-raws | KAN3D2M ) /i Add this to your Preferred with a score of [250] Subs / ( HorribleSubs | SubsPlease | SallySubs ) /i Add this to your Preferred with a score of [200] Subs 2nd Tier / ( \\[ Mysteria \\] | -Mysteria \\b | Asenshi ) /i / ( \\[ meta \\] | -meta \\b | BlueLobster ) /i Add this to your Preferred with a score of [150] Subs 3rd Tier / ( \\b GJM \\b | kBaraka ) /i Add this to your Preferred with a score of [100] FanSubs 1st Tier / ( \\b CH \\b | \\b FFF \\b | Licca | Soldado | SNSbu ) /i / ( Coalgirls | BlurayDesuYo | DameDesuYo | \\b PAS \\b ) /i Add this to your Preferred with a score of [50] FanSubs 2nd Tier / ( \\[ Orphan \\] | -Orphan \\b | \\[ Yabai \\] | -Yabai \\b | \\b Nii-sama \\b ) /i / ( \\[ Doki \\] | -Doki \\b | \\[ Chihiro \\] | -Chihiro \\b | Final8 ) /i / ( \\[ tenshi \\] | -tenshi \\b | SHiN-gx ) /i Add this to your Preferred with a score of [25] FanSubs 3rd Tier / ( AkihitoSubs | \\b ASW \\b | Commie ) /i Note These are extra parameters that can help and are not needed but are nice to have. They are set low mainly to supercede themselves and not interfere with other releases. Add this to your Preferred with a score of [1] Adds Hi10|Hi10p into a match. Prefers this over some erroneous matches. / ( 10 .?bit | hi10p ) /i Add this to your Preferred with a score of [1] Adds version due to anime groups sometimes fixing issues with their releases. / \\d ( v2 ) \\b /i Add this to your Preferred with a score of [2] / \\d ( v3 ) \\b /i Add this to your Preferred with a score of [3] / \\d ( v4 ) \\b /i Note This section can be controversial but most of these releases are micro/mini encodes or crappy quality. I personally add them into the do not want section but I will leave them here with negative values so you can still grab them if all else fails. Add this to your Preferred with a score of [-10000] Sub-Par Releases 1st Tier (Re-encoded to crap or really small filesizes) (Little less worse than the rest) / ( \\[ Judas \\] | -Judas | \\[ Cleo \\] | -Cleo ) /i / ( AnimeRG | bonkai77 | URANiME ) /i Add this to your Preferred with a score of [-15000] Sub-Par Releases 2nd Tier (Re-encoded to crap or really small filesizes) (Seperated onto separate lines for readability) / ( \\[ Pixel \\] | -Pixel \\b\\[ EDGE \\] | -EDGE \\b | \\[ Ranger \\] | -Ranger \\b ) /i / ( SpaceFish | DeadFish | \\b DB \\b | Man \\. K | \\b HR \\b ) /i / ( BakedFish | N [ eo ][ wo ] b [ ._- ] ?Subs | \\b Anime [ . ] Time \\b ) /i / ( AnimeKaizoku | \\[ Kaizoku \\] | -Kaizoku \\b | \\b CBB \\b | phazer11 ) /i / ( iPUNISHER | MiniTheatre | MiniFreeza | Mr \\. Deadpool ) /i / ( NemDiggers | Project-gxs | youshikibi ) /i / ( \\b MD \\b | Pog42 | mdcx ) /i / ( A-Destiny | TOPKEK | \\b UwU \\b | DARKFLiX ) /i / ( \\[ Maximus \\] | -Maximus \\b | \\[ 224 \\] | -224 \\b ) /i / ( \\[ Harunatsu \\] | -Harunatsu \\b ) /i / ( \\[ Davinci \\] | -Davinci \\b ) /i If you would like the above to be in DO NOT WANT in an easy format here it is. / ( \\[ Pixel \\] | -Pixel \\b\\[ EDGE \\] | -EDGE \\b | \\[ Ranger \\] | -Ranger \\b ) /i, / ( SpaceFish | DeadFish | \\b DB \\b | Man \\. K | \\b HR \\b ) /i, / ( BakedFish | N [ eo ][ wo ] b [ ._- ] ?Subs | \\b Anime Time \\b ) /i, / ( AnimeKaizoku | Kaizoku | \\b CBB \\b | phazer11 ) /i, / ( iPUNISHER | MiniTheatre | MiniFreeza | Mr \\. Deadpool ) /i, / ( NemDiggers | Project-gxs | youshikibi ) /i, / ( \\b MD \\b | Pog42 | mdcx ) /i, / ( A-Destiny | TOPKEK | \\b UwU \\b | DARKFLiX ) /i, / ( \\[ Maximus \\] | -Maximus \\b | \\[ 224 \\] | -224 \\b ) /i, / ( \\[ Harunatsu \\] | -Harunatsu \\b ) /i, / ( \\[ Davinci \\] | -Davinci \\b ) /i Note When done it should look something like this: Completed \u00b6 When completed your Release Profiles should look like this: Acknowledgements \u00b6 Most of my information and knowledge came from: Kaiser (Guidance on anime groups) rg9400 (Guidance on regex fixes, anime groups and general knowledge share.) Drazzilb (Guidance on regex fixes, anime groups and general knowledge share.) TRaSH (For allowing me to utilize his website for my guide and general knowledge share.) Thanks a bunch!! Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Release Profile RegEx (Anime)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#release-profile-regex-anime","text":"Note This Guide is Created and Maintained by Visorask/Visorak It's recommended to run 2 Sonarr's 1 for Anime and 1 for normal tv shows, or you can make use of tags. Being that release profiles are global without the use of a tag.","title":"Release Profile RegEx (Anime)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#dual-audio-regex","text":"Having tested most of these settings, they work pretty well but Anime is a fickle beast to toy with so be warned.","title":"Dual-Audio Regex"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#anime-delete","text":"If you have issues with extra files being download like NCED or NCOP If you have issues with sonarr picking up a bunch of: NCED NCOP Music Videos OP's Then this script (linux based only) will delete these files and get rid of them and you don't have to worry about them cluttering up your Auto or Manual import process. #!/usr/bin/env bash # Set the following location to your completed download location for Anime. # Usually one of the following paths: # Dockers => /data/{usenet|torrents}/anime # Cloudbox => /mnt/local/downloads/nzbs/nzbget/completed/sonarranime location = \"/your/download/path/here\" find $location -type f \\( -iname \"*op[0-9]*\" -o -iname \"*nced*\" -o -iname \"*ncop*\" -o -iname \"*music video*\" \\) -exec rm -rf {} \\; This script will be called through a custom connection in sonarr. Copy the contents of the script into whatever filepath sonarr has access to ( /config/app/ or /appdata/sonarr/scripts ) Edit the location=\"/your/download/path/here\" and make sure it's in quotes. Then save it and chmod +x the script. In Sonarr go to Settings => Connect => Click on the + Symbol => and select Custom Script Change Name to whatever you like. Select On Grab and On Import . Click the Folder icon or type in the path to the script you chose earlier. Now when you download or import any files the script will run and clear out those files that you most likely won't use and if you want them well this script isn't for you.","title":"Anime Delete"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#media-management","text":"Note There a few settings which make life a lot easier when tracking down and keeping certain information for your Anime and with tweaks to make it work better with HamaAgent for plex.","title":"Media Management"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#suggested-naming-scheme","text":"For this I used the Sonarr Recommended naming scheme for Sonarr with only a small change for a formatting error to be fixed and the Series Folder Format for easier matching.","title":"Suggested naming scheme"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#anime-episode-format","text":"Has all necessary information and a little extra if you needed to rebuild. { Series TitleYear } - S { season:00 } E { episode:00 } - { absolute:000 } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRange ]}[{ MediaInfo VideoBitDepth } bit ]{[ MediaInfo VideoCodec ]}[{ Mediainfo AudioCodec } { Mediainfo AudioChannels }]{ MediaInfo AudioLanguages }{ -Release Group } RESULTS: Single Episode: The Series Title! (2010) - S01E01 - 001 - Episode Title 1 [AMZN WEBDL-1080p v2][HDR][10bit][x264][DTS 5.1][FLAC][JA]-RlsGrp Multi Episode: The Series Title! (2010) - S01E01-E02-E03 - 001-002-003 - Episode Title [AMZN WEBDL-1080p v2][HDR][10bit][x264][DTS 5.1][FLAC][JA]-RlsGrp","title":"Anime Episode Format"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#series-folder-format","text":"Adding year back in with tvdb id allows matching to be correct. Thanks salty. { Series TitleTheYear } [ tvdb- { TvdbId }] RESULT: The Series Title! (2010) [tvdb-12345]","title":"Series Folder Format"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#season-folder-format","text":"The only one real option to use in my opinion. Season { season:00 } RESULT: Season 01","title":"Season Folder Format"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#multi-episode-style","text":"Prefixed Range RESULTS: Example","title":"Multi-Episode Style"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#quality-profile","text":"We need to add HDTV-1080p and Bluray-1080p into the same group as WEBDL-1080p and WEBRip-1080p so that it will download correctly and not upgrade past HDTV-1080P if Preferred Words does not allow it.","title":"Quality Profile"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#indexers","text":"We need to add the Anime Categories to our indexers otherwise this all won't work very well. Example We need to open Settings -> Indexers Select the Indexer(s) you would like to use for Anime Select the dropdown for Anime Categories . Select the Anime category. Click outside the pop-up modal but inside the Add Indexer modal. Note Check mark Include Preferred when Renaming where applicable and add {Preferred Words} to your renaming scheme else you could get a download loop issues!!!","title":"Indexers"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#release-profiles","text":"Note We're going to make use of 2 separate release profiles.","title":"Release Profiles"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#first-release-profile","text":"Important DO Check mark Include Preferred when Renaming on this release profile.","title":"First Release Profile"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#multi-audio","text":"Add this to your Preferred with a score of [500] / ( multi [ ._- ] ?audio ) /i","title":"Multi-Audio"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#dual-audio","text":"Add this to your Preferred with a score of [0] . This is for renames only and why it is at 0 . It is also added in the second profile. This one is to ensure that the preferred words get added. / ( dual [ ._- ] ?audio ) /i","title":"Dual-Audio"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#optional-uncutunrateduncensored","text":"Add this to your Preferred with a score of [100]/[-10000] If you would like it to be priority then set to 100 . If you do not want uncensored set it to -10000 . If you don't care either way just leave it out. The reasoning behind only 100 is so that it doesn't trump other release further up in the chain, this way it will trump maybe a couple release but not more. And -10000 to hopefully put it at the bottom of any tier list if you don't want it. / ( uncut | unrated | uncensored | \\b ( AT [ -_. ] ?X ) \\b ) /i Note When done it should look something like this:","title":"Optional (uncut|unrated|uncensored)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#second-release-profile","text":"Warning DO NOT Check mark Include Preferred when Renaming","title":"Second Release Profile"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#must-not-contain","text":"The reason most of these are added is due to their shitty quality or just in general are not as good as other stuff that is out there. This can be tweaked as needed. Let me know if you run into any issues here. You should be able to just copy paste these in one go. If there is a reason something shouldn't be here let me know and your logic and I will be open to adjusting. Important If you would like dub releases then remove the last 2 lines and do not add them. / ( \\[ EMBER \\] | -EMBER \\b | DaddySubs ) /i, / ( BDMV | M2TS | \\b SSA \\b | \\b VOSTFR \\b | \\b AbemaTV \\b ) /i, / ( CuaP | PnPSubs | ICEBLUE | SLAX | U3-Web ) /i, / ( Raws-Maji | \\b KRP \\b | M@nI | Kanjouteki | PuyaSubs ) /i, / \\b ( Beatrice | ohys | Kawaiika | neko | daddy )[ ._- ] ? ( raws ) \\b /i, / \\b ( LowPower | Scryous )[ ._- ] ? ( raws ) \\b /i, / \\b ( NS | AREY | BDMV | BDVD | BJX | DKB | DP | TnF ) \\b /i, / ( Amb3r | DsunS | ExREN | \\$ tore-Chill ) /i, / ( \\[ Hatsuyuki \\] | -Hatsuyuki \\b | \\[ Hitoku \\] | -Hitoki \\b ) /i, / ( \\[ Foxtrot \\] | -Foxtrot \\b | HollowRoxas | \\b MGD \\b ) /i, / ( JacobSwaggedUp | KEKMASTERS | \\[ Mites \\] | -Mites \\b ) /i, / ( neoHEVC | Pantsu | \\[ Pao \\] | -Pao \\b | Plex Friendly ) /i, / ( Rando235 | RandomRemux | Reaktor | RightShiftBy2 ) /i, / ( \\b SHFS \\b | StrayGods | \\b UQW \\b | Yabai_Desu_Ne ) /i, / ( YakuboEncodes | \\b ( WtF [ ._- ] ?Anime ) \\b ) /i, / (( funi | eng ( lish ) ? ) _?dub | \\b dub ( bed ) ? \\b ) /i, / ( Golumpa | torenter69 | KamiFS | KaiDubs ) /i","title":"Must Not Contain"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#preferred","text":"Note 2 lines in one grouping is just there for readability purposes but achieves the same result and score. Add this to your Preferred with a score of [501] Note This is set to 501 so that it may jump 1 tier if need be but not more. /dual [ ._- ] ?audio | EN \\+ JA | JA \\+ EN/i Important These next few are optional but they are here to move releases up over lower tiers of 1080/720p or WEB-DL/Blu-Ray . Will add another note like this to end the optional section. Add this to your Preferred with a score of [100] Note We are adding this as 100 so that any unknown Blu-Ray can jump tiers inside the Subs categories but not interfere with any tiers above. / \\b ( ?: ( Blu-?Ray | BDMux | BD ( ?!$ )) | ( B [ DR ] Rip ))( ?: \\b | $ | [ . ]) /ix Add this to your Preferred with a score of [15] / \\b ( WEB [ -_. ] ?DL | WebHD | [ . ] WEB [ . ]( ?: [ xh ] 26 [ 45 ] | DDP?5 [ . ] 1 ) | [ . ]( ?-i:WEB ) $ | \\d +0p ( ?:WEB-DLMux | \\b\\s\\/\\s WEB \\s\\/\\s\\b )) /ix Add this to your Preferred with a score of [10] / ( Web-?Rip | WEBMux ) /ix Add this to your Preferred with a score of [5] / \\b ( ?: ( 1080p | 1920x1080 | 1440p | FHD | 1080i | 4kto1080p )) \\b /i Important This is the end of the optional section. Add this to your Preferred with a score of [4000] BluRay-Remux / Dual-Audio / 1st Tier / ( deanzel | \\b ZR \\b | \\b CTR \\b | \\b SCY \\b | \\b MK \\b | TTGA ) /i / ( \\b Shir \\b | LostYears | BluDragon | KAWAiREMUX ) /i / ( \\b AC \\b | ShadyCrab | Rasetsu | Raizel | Dragon-Releases ) /i / ( \\[ Spark \\] | -Spark \\b | \\b REVO \\b | \\b SRLS \\b | ANThELIa ) /i / ( \\[ Vanilla \\] | -Vanilla \\b | \\b AP \\b ) /i Add this to your Preferred with a score of [3750] BluRay / Dual-Audio / Special (Releases they have are in between below releases and remuxes above.) / ( E [ .- ] N [ .- ] D ) /i Add this to your Preferred with a score of [3500] BluRay / Dual-Audio / 1st Tier / ( \\b HAiKU \\b | Exiled-Destiny | \\b ( E-D ) \\b | Koten [ ._- ] Gars ) /i / ( \\[ GHOST \\] | -GHOST \\b | \\[ NPC \\] | -NPC \\b | \\b CBM \\b ) /i / ( \\b KH \\b | \\b CBT \\b | \\[ naiyas \\] | -naiyas \\b | ShowY | Kametsu | \\b Pn8 \\b | Hark0N ) /i Add this to your Preferred with a score of [3000] BluRay / Dual-Audio / Scene|P2P Groups / ( \\b DHD \\b | RedBlade | TENEIGHTY | WaLMaRT ) /i / ( \\b BMF \\b | \\[ STRiFE \\] | -STRiFE \\b ) /i / ( MKVULTRA | iAHD | ANiHLS ) /i Add this to your Preferred with a score of [2500] BluRay / Dual-Audio / 2ndd Tier / ( \\[ YURASUKA \\] | -YURASUKA \\b | karios | Arukoru ) /i / ( \\b RH \\b | \\[ Prof \\] | -Prof \\b ) /i Add this to your Preferred with a score of [2000] WebSource / Dual|Multi-Audio / ( DragsterPS ) /i Add this to your Preferred with a score of [1500] WebSource / Dual-Audio / ( xPearse | \\b MCR \\b | \\b KS \\b | KiyoshiStar ) /i Add this to your Preferred with a score of [1000] DVD / Dual-Audio / ( \\b ( A-L ) \\b ) /i Add this to your Preferred with a score of [300] Subs with multi such as German, French , Spanish, Italian, Russian, Arabic, Portuguese and English / ( Erai-raws | KAN3D2M ) /i Add this to your Preferred with a score of [250] Subs / ( HorribleSubs | SubsPlease | SallySubs ) /i Add this to your Preferred with a score of [200] Subs 2nd Tier / ( \\[ Mysteria \\] | -Mysteria \\b | Asenshi ) /i / ( \\[ meta \\] | -meta \\b | BlueLobster ) /i Add this to your Preferred with a score of [150] Subs 3rd Tier / ( \\b GJM \\b | kBaraka ) /i Add this to your Preferred with a score of [100] FanSubs 1st Tier / ( \\b CH \\b | \\b FFF \\b | Licca | Soldado | SNSbu ) /i / ( Coalgirls | BlurayDesuYo | DameDesuYo | \\b PAS \\b ) /i Add this to your Preferred with a score of [50] FanSubs 2nd Tier / ( \\[ Orphan \\] | -Orphan \\b | \\[ Yabai \\] | -Yabai \\b | \\b Nii-sama \\b ) /i / ( \\[ Doki \\] | -Doki \\b | \\[ Chihiro \\] | -Chihiro \\b | Final8 ) /i / ( \\[ tenshi \\] | -tenshi \\b | SHiN-gx ) /i Add this to your Preferred with a score of [25] FanSubs 3rd Tier / ( AkihitoSubs | \\b ASW \\b | Commie ) /i Note These are extra parameters that can help and are not needed but are nice to have. They are set low mainly to supercede themselves and not interfere with other releases. Add this to your Preferred with a score of [1] Adds Hi10|Hi10p into a match. Prefers this over some erroneous matches. / ( 10 .?bit | hi10p ) /i Add this to your Preferred with a score of [1] Adds version due to anime groups sometimes fixing issues with their releases. / \\d ( v2 ) \\b /i Add this to your Preferred with a score of [2] / \\d ( v3 ) \\b /i Add this to your Preferred with a score of [3] / \\d ( v4 ) \\b /i Note This section can be controversial but most of these releases are micro/mini encodes or crappy quality. I personally add them into the do not want section but I will leave them here with negative values so you can still grab them if all else fails. Add this to your Preferred with a score of [-10000] Sub-Par Releases 1st Tier (Re-encoded to crap or really small filesizes) (Little less worse than the rest) / ( \\[ Judas \\] | -Judas | \\[ Cleo \\] | -Cleo ) /i / ( AnimeRG | bonkai77 | URANiME ) /i Add this to your Preferred with a score of [-15000] Sub-Par Releases 2nd Tier (Re-encoded to crap or really small filesizes) (Seperated onto separate lines for readability) / ( \\[ Pixel \\] | -Pixel \\b\\[ EDGE \\] | -EDGE \\b | \\[ Ranger \\] | -Ranger \\b ) /i / ( SpaceFish | DeadFish | \\b DB \\b | Man \\. K | \\b HR \\b ) /i / ( BakedFish | N [ eo ][ wo ] b [ ._- ] ?Subs | \\b Anime [ . ] Time \\b ) /i / ( AnimeKaizoku | \\[ Kaizoku \\] | -Kaizoku \\b | \\b CBB \\b | phazer11 ) /i / ( iPUNISHER | MiniTheatre | MiniFreeza | Mr \\. Deadpool ) /i / ( NemDiggers | Project-gxs | youshikibi ) /i / ( \\b MD \\b | Pog42 | mdcx ) /i / ( A-Destiny | TOPKEK | \\b UwU \\b | DARKFLiX ) /i / ( \\[ Maximus \\] | -Maximus \\b | \\[ 224 \\] | -224 \\b ) /i / ( \\[ Harunatsu \\] | -Harunatsu \\b ) /i / ( \\[ Davinci \\] | -Davinci \\b ) /i If you would like the above to be in DO NOT WANT in an easy format here it is. / ( \\[ Pixel \\] | -Pixel \\b\\[ EDGE \\] | -EDGE \\b | \\[ Ranger \\] | -Ranger \\b ) /i, / ( SpaceFish | DeadFish | \\b DB \\b | Man \\. K | \\b HR \\b ) /i, / ( BakedFish | N [ eo ][ wo ] b [ ._- ] ?Subs | \\b Anime Time \\b ) /i, / ( AnimeKaizoku | Kaizoku | \\b CBB \\b | phazer11 ) /i, / ( iPUNISHER | MiniTheatre | MiniFreeza | Mr \\. Deadpool ) /i, / ( NemDiggers | Project-gxs | youshikibi ) /i, / ( \\b MD \\b | Pog42 | mdcx ) /i, / ( A-Destiny | TOPKEK | \\b UwU \\b | DARKFLiX ) /i, / ( \\[ Maximus \\] | -Maximus \\b | \\[ 224 \\] | -224 \\b ) /i, / ( \\[ Harunatsu \\] | -Harunatsu \\b ) /i, / ( \\[ Davinci \\] | -Davinci \\b ) /i Note When done it should look something like this:","title":"Preferred"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#completed","text":"When completed your Release Profiles should look like this:","title":"Completed"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx-Anime/#acknowledgements","text":"Most of my information and knowledge came from: Kaiser (Guidance on anime groups) rg9400 (Guidance on regex fixes, anime groups and general knowledge share.) Drazzilb (Guidance on regex fixes, anime groups and general knowledge share.) TRaSH (For allowing me to utilize his website for my guide and general knowledge share.) Thanks a bunch!! Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Acknowledgements"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/","text":"Release Profile RegEx (WEB-DL) \u00b6 Sonarr V3 has a great feature called Release Profile. With this option you can fine tune your preference. The Release profile that we're going to use for this example is mainly to prefer P2P releases over Scene releases, (Scene releases are still being downloaded but upgraded). If you don't care about quality then stop reading and see if the other tutorials are helpful for you. FAQ - [CLICK TO EXPAND] FAQ \u00b6 Q: Why do you only have a release profile for WEB-DL? A: I only do WEB-DL my self for TV shows because in my opinion WEB-DL is the sweet spot between Quality and Size and you often don't see big difference anyway for TV shows. (Except for shows like GOT, Vikings, etc) Q: Why do you prefer P2P groups over scene releases? A: Scene release always release in a rush to bring it out as fast as possible. So I noticed often that I got Repacks/Proper releases from them or from different groups and quality. P2P releases are a bit smarter and work sort of together by not doing the same release. Also I noticed that with some Scene releases the 5.1 audio was stripped out or converted to AAC audio. And in my opinion the P2P are of better quality. There's one scene group that does bring out quality releases -deflate/-inflate . Q: Why do I see that many Amazon WEB-DL's repacks/proper lately? A: A large portion of Amazon WEB-DLs in the last week have only had 192Kbps DD+5.1, because that's all Amazon made available initially. The proper 640Kbps DD+5.1 audio might appear a few hours later or a few months, but when they get updated the episodes will be REPACKED. Q: Why did you remove all the scene groups? A: I decided to redo the Release Profile to make it easier for me and the end user to update/manage the Release Profile, I decided not to add the scene groups anymore (and also removing the current ones). Why ? Lately I noticed a lot of popup scene releases meaning we need to update often. With this it also means all scene and (yet) unknown groups will be getting a score of 0 and not -50 . I will still keep a eye on them and add the Low Quality Groups to the -100 score and when I find a new P2P group I will add them, resulting in less updates and a more accurate upgrade. Propers and Repacks \u00b6 First we're need to make sure a P2P release isn't being replaced by a Scene Repack/Proper release ! Settings => Media Management Where we going to set it to Do not Prefer Then we navigate in Sonarr to the Settings => Profiles Then you will get a popup screen that will look like this: Must Contain => add words that the release name MUST HAVE! Must Not Contain => add words that the release name MUST NOT HAVE OR IT WILL BE REJECTED! Preferred => add words you prefer with a certain score what you prefer more or upgrade. Include Preferred when Renaming => When you add {Preferred Words} to your renaming scheme it will add this info. Indexers => Specify what indexer the profile applies to. Tags => create a tag so this is only used by shows that you give this tag or else it's global. Note The Number between the [ brackets ] in the following release profiles are the scores the release name will get during a automatic and manual search and with the use of the scores some releases will be preferred over others and even upgraded. First Release Profile \u00b6 Important We're going to make use of 2 separate release profiles. Release Sources (Streaming Service) \u00b6 Note Also check mark Include Preferred when Renaming and add {Preferred Words} to your renaming scheme when you get download loop issues!!! What it does: When enabled the block with the Release Source (Streaming Service) in it are then added to the file name which fixes any loops due to Sonarr seeing a new NF rip when an AMZN rip is found. Probably doesn\u2019t happen if cutoff is met, but for anything that is unmet or any forced searches it results in a loop because NF is not in Sonarr\u2019s copy so it upgrades, and loops. Enabling the include in preferred words for AMZN and adding that to the file name fixes that. Example of a naming scheme for series: Can be found HERE Add this to your Preferred (3) with a score of [100] / \\b ( amzn | amazon ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( atvp | aptv ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [95] / \\b ( sho ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [90] / \\b ( dsnp | dsny | disney ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( nf | netflix ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( qibi ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( hmax | hbom ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [85] / \\b ( hulu ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( pcok ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [75] / \\b ( dcu ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( hbo ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( red ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( it ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( pmtp ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Caution Don't forget to click on SAVE after you've added everything you want to the release profile example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Second Release Profile \u00b6 Warning DO NOT Check mark Include Preferred when Renaming Golden rule \u00b6 Add this to your Must not contain (2) / ( ? =( 1080 | 720 )) .* (( x | h )[ ._- ] ?265 | hevc ) /i example - [CLICK TO EXPAND] Why the Must Not Contain entry - [CLICK TO EXPAND] So why did I put /(?=(1080|720)).*((x|h)[ ._-]?265|hevc)/i as Must Not Contain and what does it do ? It blocks/ignores 720/1080p releases that are encoded in x265, why ? Quote x265 is good for for 4k stuff or 1080p if they used the the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities. So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it. That's why I created my own golden rule. 720/1080p => x264 2160p/4k => x265 P2P Groups + Repack/Proper \u00b6 Add this to your Preferred (3) with a score of [180] 1 / ( -deflate | -inflate ) \\b /i Add this to your Preferred (3) with a score of [150] / ( -AJP69 | -BTN | -CasStudio | -CtrlHD | -KiNGS | -monkee | -NTb | -NTG | -QOQ | -RTN | -TOMMY | -ViSUM | -T6D | -FLUX | NOSiViD ) \\b /i Add this to your Preferred (3) with a score of [125] / ( -BTW | -Chotab | -CiT | -DEEP | -iJP | -iT00NZ | -LAZY | -NYH | -SA89 | -SIGMA | -TEPES | -TVSmash | -SDCC | -iKA | -iJP | -Cinefeel | -SPiRiT | -FC | -JETIX | -Coo7 | -WELP | -KiMCHI | -BLUTONiUM | -orbitron | -ETHiCS | -RTFM | -PSiG | -MZABI | -ROCCaT | 3cTWeB | playWEB | -KHN | NPMS | -END ) \\b /i Add this to your Preferred (3) with a score of [100] / ( -ViSiON ) \\b /i Add this to your Preferred (3) with a score of [12] / ( repack3 ) /i Add this to your Preferred (3) with a score of [11] / ( repack2 ) /i Add this to your Preferred (3) with a score of [10] / \\b ( repack | proper ) \\b /i example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Low Quality Groups \u00b6 Add this to your Preferred (3) with a score of [-100] / ( TBS | -BRiNK | -CHX | -XLF | -worldmkv | -GHOSTS | -VIDEOHOLE | nhanc3 ) \\b /i example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. Optional preferred preferences \u00b6 Note These options are optional and only needed if you got a certain use case for it. If you see certain optional options with a positive score and you actually don't want them just add them with a negative score !!! Optional HDR - if you prefer HDR \u00b6 Add this to your Preferred (3) with a score of [10] / \\b HDR ( \\b | \\d ) /i Optional Dolby Vision - if you prefer Dolby Vision \u00b6 Add this to your Preferred (3) with a score of [100] / \\b ( dv | dovi | dolby [ . ] ?vision ) \\b /i Optional (use these only if you dislike renamed and retagged releases) \u00b6 Add this to your Preferred (3) with a score of [-25] / ( \\[ rartv \\] | \\[ rarbg \\] | \\[ eztv \\] | \\[ TGx \\] ) /i / ( -4P | -4Planet | -AsRequested | -BUYMORE | -Chamele0n | -GEROV | -iNC0GNiTO | -NZBGeek | -Obfuscated | -postbot | -Rakuv | -Scrambled | -WhiteRev | -xpost | -WRTEAM | -CAPTCHA ) \\b /i Optional (matches releases that ends with EN) \u00b6 Add this to your Preferred (3) with a score of [-25] / \\s ? \\b en \\b $/i Optional Matches any release that contains '1-' as prefix for Release Groups \u00b6 Add this to your Preferred (3) with a score of [-25] / ( 1 -.+ ) $/i Optional Matches Season Packs (use this if you prefer Season packs) \u00b6 This will upgrade also your already downloaded single episodes /\\bS\\d+\\b(?!E\\d+\\b)/i season packs are preferred: however, given the folder name is ignored the error/warning/issue occurs as the file names would not be a season pack of course. keep in mind this is the only way to prefer season packs if you have preferred words due to the long standing bug => Preferred Words overrule season pack preference Sonarr/Sonarr#3562 Add this to your Preferred (3) with a score of [15] / \\b S \\d + \\b ( ?!E \\d + \\b ) /i .su season pack issue \u00b6 .su season pack issue - [CLICK TO EXPAND] When you see a error in Sonarr that looks somehow like the follow screenshot Then theirs only one way real way that always solves this issue. create a new release profile specific for .su that uses the Season regex as Must not contain (2) Note Theirs a script for NZBGet that sometimes could help but it seems it doesn't always work. It also seems theirs a work around for SABnzbd but i can't confirm being i'm not using Sab. Optional Ignore DoVi for WEBDL \u00b6 WHY ? - [CLICK TO EXPAND] This is a RegEx that ignores DV that don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Add this to your Must not contain (2) /^ ( ?!.* ( HDR | HULU | REMUX ))( ? = .* \\b ( DV | Dovi | Dolby [ - . ] Vision ) \\b ) .*/i Optional Ignore the group -scene \u00b6 Why ? - [CLICK TO EXPAND] Seems plex ignores -scene because it thinks they are extra's. SOURCE Add this to your Must not contain (2) / \\b ( -scene ) \\b /i Optional Ignore scene releases \u00b6 WHY ? - [CLICK TO EXPAND] If you don't want to download so called scene releases. Add this to your Must not contain (2) / ([ _. ] WEB [ _. ] | \\b CAKES \\b | GGEZ | GGWP | GLHF ) /i A little explanation of the scores and why \u00b6 Scores [75]-[100] Release Source. Scores [125]-[150] P2P Groups. Scores [10] Give a repack/proper a higher score but don't trump P2P groups for a Scene fix. Scores [-25] Retagged/Renames/Obfuscated releases. If you're getting often a error message like Has the same filesize as existing file , you might need to consider to remove the [-25] Scores [-100] Groups that mess with the audio or add another preferred language. Optional => We've tested it and it worked for what we've tested it on, if it will work in your situation we don't know. If you notice something wrong just contact me and we will try to fix it or remove it. The reason why I got multiple entry's with the same score is because the line will go out of the box and I don't like how that looks. Final Results \u00b6 When you've done it correctly it will look something like this. example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. And after you clicked on Save it will look something like this: This list is made by collecting information from Sonarr Discord Channel, and personal testing and a few others that helped. So I want to thank everyone who helped to make this list possible, for privacy reasons I decided not to add the names/nick of the persons. If you want to be mentioned please message me on discord, including a link for proof to what part you want to be credited. Info Keep in mind this list will be a constant work in progress because I will be updating it when it's needed. So best to set a notification for updates for this page. Or use one of the 2 automation tools. Notifiarr TRaSH Updater Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. The reason why this one get's such a high score is because it's the only quality scene group that exist (till now) and scene groups don't add the Release Sources (Streaming Service) to their release name so they don't get the extra point of the release source regex. \u21a9","title":"Release Profile RegEx (WEB-DL)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#release-profile-regex-web-dl","text":"Sonarr V3 has a great feature called Release Profile. With this option you can fine tune your preference. The Release profile that we're going to use for this example is mainly to prefer P2P releases over Scene releases, (Scene releases are still being downloaded but upgraded). If you don't care about quality then stop reading and see if the other tutorials are helpful for you. FAQ - [CLICK TO EXPAND]","title":"Release Profile RegEx (WEB-DL)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#faq","text":"Q: Why do you only have a release profile for WEB-DL? A: I only do WEB-DL my self for TV shows because in my opinion WEB-DL is the sweet spot between Quality and Size and you often don't see big difference anyway for TV shows. (Except for shows like GOT, Vikings, etc) Q: Why do you prefer P2P groups over scene releases? A: Scene release always release in a rush to bring it out as fast as possible. So I noticed often that I got Repacks/Proper releases from them or from different groups and quality. P2P releases are a bit smarter and work sort of together by not doing the same release. Also I noticed that with some Scene releases the 5.1 audio was stripped out or converted to AAC audio. And in my opinion the P2P are of better quality. There's one scene group that does bring out quality releases -deflate/-inflate . Q: Why do I see that many Amazon WEB-DL's repacks/proper lately? A: A large portion of Amazon WEB-DLs in the last week have only had 192Kbps DD+5.1, because that's all Amazon made available initially. The proper 640Kbps DD+5.1 audio might appear a few hours later or a few months, but when they get updated the episodes will be REPACKED. Q: Why did you remove all the scene groups? A: I decided to redo the Release Profile to make it easier for me and the end user to update/manage the Release Profile, I decided not to add the scene groups anymore (and also removing the current ones). Why ? Lately I noticed a lot of popup scene releases meaning we need to update often. With this it also means all scene and (yet) unknown groups will be getting a score of 0 and not -50 . I will still keep a eye on them and add the Low Quality Groups to the -100 score and when I find a new P2P group I will add them, resulting in less updates and a more accurate upgrade.","title":"FAQ"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#propers-and-repacks","text":"First we're need to make sure a P2P release isn't being replaced by a Scene Repack/Proper release ! Settings => Media Management Where we going to set it to Do not Prefer Then we navigate in Sonarr to the Settings => Profiles Then you will get a popup screen that will look like this: Must Contain => add words that the release name MUST HAVE! Must Not Contain => add words that the release name MUST NOT HAVE OR IT WILL BE REJECTED! Preferred => add words you prefer with a certain score what you prefer more or upgrade. Include Preferred when Renaming => When you add {Preferred Words} to your renaming scheme it will add this info. Indexers => Specify what indexer the profile applies to. Tags => create a tag so this is only used by shows that you give this tag or else it's global. Note The Number between the [ brackets ] in the following release profiles are the scores the release name will get during a automatic and manual search and with the use of the scores some releases will be preferred over others and even upgraded.","title":"Propers and Repacks"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#first-release-profile","text":"Important We're going to make use of 2 separate release profiles.","title":"First Release Profile"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#release-sources-streaming-service","text":"Note Also check mark Include Preferred when Renaming and add {Preferred Words} to your renaming scheme when you get download loop issues!!! What it does: When enabled the block with the Release Source (Streaming Service) in it are then added to the file name which fixes any loops due to Sonarr seeing a new NF rip when an AMZN rip is found. Probably doesn\u2019t happen if cutoff is met, but for anything that is unmet or any forced searches it results in a loop because NF is not in Sonarr\u2019s copy so it upgrades, and loops. Enabling the include in preferred words for AMZN and adding that to the file name fixes that. Example of a naming scheme for series: Can be found HERE Add this to your Preferred (3) with a score of [100] / \\b ( amzn | amazon ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( atvp | aptv ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [95] / \\b ( sho ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [90] / \\b ( dsnp | dsny | disney ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( nf | netflix ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( qibi ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( hmax | hbom ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [85] / \\b ( hulu ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( pcok ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Add this to your Preferred (3) with a score of [75] / \\b ( dcu ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( hbo ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( red ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( it ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i / \\b ( pmtp ) \\b ( ? =[ ._- ] web [ ._- ] ? ( dl | rip ) \\b ) /i Caution Don't forget to click on SAVE after you've added everything you want to the release profile example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly.","title":"Release Sources (Streaming Service)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#second-release-profile","text":"Warning DO NOT Check mark Include Preferred when Renaming","title":"Second Release Profile"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#golden-rule","text":"Add this to your Must not contain (2) / ( ? =( 1080 | 720 )) .* (( x | h )[ ._- ] ?265 | hevc ) /i example - [CLICK TO EXPAND] Why the Must Not Contain entry - [CLICK TO EXPAND] So why did I put /(?=(1080|720)).*((x|h)[ ._-]?265|hevc)/i as Must Not Contain and what does it do ? It blocks/ignores 720/1080p releases that are encoded in x265, why ? Quote x265 is good for for 4k stuff or 1080p if they used the the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality. Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities. So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it. That's why I created my own golden rule. 720/1080p => x264 2160p/4k => x265","title":"Golden rule"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#p2p-groups-repackproper","text":"Add this to your Preferred (3) with a score of [180] 1 / ( -deflate | -inflate ) \\b /i Add this to your Preferred (3) with a score of [150] / ( -AJP69 | -BTN | -CasStudio | -CtrlHD | -KiNGS | -monkee | -NTb | -NTG | -QOQ | -RTN | -TOMMY | -ViSUM | -T6D | -FLUX | NOSiViD ) \\b /i Add this to your Preferred (3) with a score of [125] / ( -BTW | -Chotab | -CiT | -DEEP | -iJP | -iT00NZ | -LAZY | -NYH | -SA89 | -SIGMA | -TEPES | -TVSmash | -SDCC | -iKA | -iJP | -Cinefeel | -SPiRiT | -FC | -JETIX | -Coo7 | -WELP | -KiMCHI | -BLUTONiUM | -orbitron | -ETHiCS | -RTFM | -PSiG | -MZABI | -ROCCaT | 3cTWeB | playWEB | -KHN | NPMS | -END ) \\b /i Add this to your Preferred (3) with a score of [100] / ( -ViSiON ) \\b /i Add this to your Preferred (3) with a score of [12] / ( repack3 ) /i Add this to your Preferred (3) with a score of [11] / ( repack2 ) /i Add this to your Preferred (3) with a score of [10] / \\b ( repack | proper ) \\b /i example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly.","title":"P2P Groups + Repack/Proper"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#low-quality-groups","text":"Add this to your Preferred (3) with a score of [-100] / ( TBS | -BRiNK | -CHX | -XLF | -worldmkv | -GHOSTS | -VIDEOHOLE | nhanc3 ) \\b /i example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly.","title":"Low Quality Groups"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-preferred-preferences","text":"Note These options are optional and only needed if you got a certain use case for it. If you see certain optional options with a positive score and you actually don't want them just add them with a negative score !!!","title":"Optional preferred preferences"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-hdr-if-you-prefer-hdr","text":"Add this to your Preferred (3) with a score of [10] / \\b HDR ( \\b | \\d ) /i","title":"Optional HDR - if you prefer HDR"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-dolby-vision-if-you-prefer-dolby-vision","text":"Add this to your Preferred (3) with a score of [100] / \\b ( dv | dovi | dolby [ . ] ?vision ) \\b /i","title":"Optional Dolby Vision - if you prefer Dolby Vision"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-use-these-only-if-you-dislike-renamed-and-retagged-releases","text":"Add this to your Preferred (3) with a score of [-25] / ( \\[ rartv \\] | \\[ rarbg \\] | \\[ eztv \\] | \\[ TGx \\] ) /i / ( -4P | -4Planet | -AsRequested | -BUYMORE | -Chamele0n | -GEROV | -iNC0GNiTO | -NZBGeek | -Obfuscated | -postbot | -Rakuv | -Scrambled | -WhiteRev | -xpost | -WRTEAM | -CAPTCHA ) \\b /i","title":"Optional (use these only if you dislike renamed and retagged releases)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-matches-releases-that-ends-with-en","text":"Add this to your Preferred (3) with a score of [-25] / \\s ? \\b en \\b $/i","title":"Optional (matches releases that ends with EN)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-matches-any-release-that-contains-1-as-prefix-for-release-groups","text":"Add this to your Preferred (3) with a score of [-25] / ( 1 -.+ ) $/i","title":"Optional Matches any release that contains '1-' as prefix for Release Groups"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-matches-season-packs-use-this-if-you-prefer-season-packs","text":"This will upgrade also your already downloaded single episodes /\\bS\\d+\\b(?!E\\d+\\b)/i season packs are preferred: however, given the folder name is ignored the error/warning/issue occurs as the file names would not be a season pack of course. keep in mind this is the only way to prefer season packs if you have preferred words due to the long standing bug => Preferred Words overrule season pack preference Sonarr/Sonarr#3562 Add this to your Preferred (3) with a score of [15] / \\b S \\d + \\b ( ?!E \\d + \\b ) /i","title":"Optional Matches Season Packs (use this if you prefer Season packs)"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#su-season-pack-issue","text":".su season pack issue - [CLICK TO EXPAND] When you see a error in Sonarr that looks somehow like the follow screenshot Then theirs only one way real way that always solves this issue. create a new release profile specific for .su that uses the Season regex as Must not contain (2) Note Theirs a script for NZBGet that sometimes could help but it seems it doesn't always work. It also seems theirs a work around for SABnzbd but i can't confirm being i'm not using Sab.","title":".su season pack issue"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-ignore-dovi-for-webdl","text":"WHY ? - [CLICK TO EXPAND] This is a RegEx that ignores DV that don't have the fallback to HDR10, What can results in playback issues like weird colors if you want to play it on a not Dolby Vision compatible setup. Add this to your Must not contain (2) /^ ( ?!.* ( HDR | HULU | REMUX ))( ? = .* \\b ( DV | Dovi | Dolby [ - . ] Vision ) \\b ) .*/i","title":"Optional Ignore DoVi for WEBDL"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-ignore-the-group-scene","text":"Why ? - [CLICK TO EXPAND] Seems plex ignores -scene because it thinks they are extra's. SOURCE Add this to your Must not contain (2) / \\b ( -scene ) \\b /i","title":"Optional Ignore the group -scene"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#optional-ignore-scene-releases","text":"WHY ? - [CLICK TO EXPAND] If you don't want to download so called scene releases. Add this to your Must not contain (2) / ([ _. ] WEB [ _. ] | \\b CAKES \\b | GGEZ | GGWP | GLHF ) /i","title":"Optional Ignore scene releases"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#a-little-explanation-of-the-scores-and-why","text":"Scores [75]-[100] Release Source. Scores [125]-[150] P2P Groups. Scores [10] Give a repack/proper a higher score but don't trump P2P groups for a Scene fix. Scores [-25] Retagged/Renames/Obfuscated releases. If you're getting often a error message like Has the same filesize as existing file , you might need to consider to remove the [-25] Scores [-100] Groups that mess with the audio or add another preferred language. Optional => We've tested it and it worked for what we've tested it on, if it will work in your situation we don't know. If you notice something wrong just contact me and we will try to fix it or remove it. The reason why I got multiple entry's with the same score is because the line will go out of the box and I don't like how that looks.","title":"A little explanation of the scores and why"},{"location":"Sonarr/Sonarr-Release-Profile-RegEx/#final-results","text":"When you've done it correctly it will look something like this. example - [CLICK TO EXPAND] Attention These screenshots are just examples to show you how it should look and where you need to place the data that you need to add, they aren't a 100% reflection of the actual data and not always 100% up to date with the actual data you need to add. Always follow the data described in the guide (with the copy paste/option at the end). If you got any questions or aren't sure just click the chat badge to join the Discord Channel where you can ask your questions directly. And after you clicked on Save it will look something like this: This list is made by collecting information from Sonarr Discord Channel, and personal testing and a few others that helped. So I want to thank everyone who helped to make this list possible, for privacy reasons I decided not to add the names/nick of the persons. If you want to be mentioned please message me on discord, including a link for proof to what part you want to be credited. Info Keep in mind this list will be a constant work in progress because I will be updating it when it's needed. So best to set a notification for updates for this page. Or use one of the 2 automation tools. Notifiarr TRaSH Updater Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. The reason why this one get's such a high score is because it's the only quality scene group that exist (till now) and scene groups don't add the Release Sources (Streaming Service) to their release name so they don't get the extra point of the release source regex. \u21a9","title":"Final Results"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/","text":"Recommended naming scheme \u00b6 Often on the Sonarr Discord people ask what's the recommended/best way to name your files. First off it's personal preference, but it's often recommended to add non-recoverable info. Why? If, for whatever reason, you ever need to do a re-install or re-import in Sonarr or Plex/Emby/JellyFin it's nice to have all that info in the filename so it gets imported correctly and isn't incorrectly matched as HDTV or WEB-DL etc. The Tokens not available in the release won't be used/shown. Standard Episode Format \u00b6 Starting from v3.0.6.1431, Sonarr now supports recognizing Dolby Vision (DV) and High Dynamic Range (HDR) types. If you're using a lower version replace: {[MediaInfo VideoDynamicRangeType]} with {[MediaInfo VideoDynamicRange]} { Series TitleYear } - S { season:00 } E { episode:00 } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels ]}{ MediaInfo AudioLanguages }{[ MediaInfo VideoCodec ]}{ -Release Group } RESULTS: - [CLICK TO EXPAND] Single Episode: The Series Title! (2010) - S01E01 - Episode Title 1 [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp Multi Episode: The Series Title! (2010) - S01E01-E02-E03 - Episode Title [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp Daily Episode Format \u00b6 { Series TitleYear } - { Air-Date } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels ]}{ MediaInfo AudioLanguages }{[ MediaInfo VideoCodec ]}{ -Release Group } RESULTS: - [CLICK TO EXPAND] The Series Title! (2010) - 2013-10-30 - Episode Title 1 [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp Anime Episode Format \u00b6 { Series TitleYear } - S { season:00 } E { episode:00 } - { absolute:000 } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRangeType ]}[{ MediaInfo VideoBitDepth } bit ]{[ MediaInfo VideoCodec ]}[{ Mediainfo AudioCodec } { Mediainfo AudioChannels }]{ MediaInfo AudioLanguages }{ -Release Group } RESULTS: - [CLICK TO EXPAND] Single Episode: The Series Title! (2010) - S01E01 - 001 - Episode Title 1 [iNTERNAL HDTV-720p v2][HDR10][10bit][x264][DTS 5.1][JA]-RlsGrp Multi Episode: The Series Title! (2010) - S01E01-E02-E03 - 001-002-003 - Episode Title [iNTERNAL HDTV-720p v2][HDR10][10bit][x264][DTS 5.1][JA]-RlsGrp Series Folder Format \u00b6 { Series TitleYear } RESULT: The Series Title! (2010) Optional Series Folder Format for the Plex TV Series Scanner and Jellyfin/Emby \u00b6 This naming scheme is made to be compatible with the New Plex TV Series Scanner that now support IMDB and TVDB IDs in file names. For Plex: { Series TitleYear } [ imdb- { ImdbId }] RESULT: The Series Title! (2010) [imdb-tt1520211] Note The officially supported format is {imdb-{ImdbId}} but plex should also support (imdb-{ImdbId}) or [imdb-{ImdbId}] , though the above should work for now, It's actually not needed to add a ID to the folder or filename to use the New Plex TV Series Scanner. For Jellyfin/Emby: { Series TitleYear } [ imdbid- { ImdbId }] RESULT: The Series Title! (2010) [imdbid-tt1520211] Tip IMDb IDs are going to be very accurate and rarely change, TVDB/TMDB IDs, on the other hand, do change or are removed more frequently. Season Folder Format \u00b6 For this there's only one real option to use in my opinion. Season { season:00 } RESULT: Season 01 Multi-Episode Style \u00b6 Prefixed Range RESULTS: Original Title vs Original Filename \u00b6 Want to keep the original release name that holds like all the info of the file then I suggest to use {Original Title} over {Original Filename} Why? The filename can be Obscured where the Release naming isn't especially when you use Usenet. {Original Title} => The.Series.Title.S01E01.Episode.Title.1080p.AMZN.WEB-DL.DDP5.1.H.264-RlsGrp {Original Filename} => show episode 1-1080p or lchd-tkk1080p or t1i0p3s7i8yuti Thanks: A big Thanks to fryfrog , rg9400 and bakerboy448 for the suggestions. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Recommended naming scheme"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#recommended-naming-scheme","text":"Often on the Sonarr Discord people ask what's the recommended/best way to name your files. First off it's personal preference, but it's often recommended to add non-recoverable info. Why? If, for whatever reason, you ever need to do a re-install or re-import in Sonarr or Plex/Emby/JellyFin it's nice to have all that info in the filename so it gets imported correctly and isn't incorrectly matched as HDTV or WEB-DL etc. The Tokens not available in the release won't be used/shown.","title":"Recommended naming scheme"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#standard-episode-format","text":"Starting from v3.0.6.1431, Sonarr now supports recognizing Dolby Vision (DV) and High Dynamic Range (HDR) types. If you're using a lower version replace: {[MediaInfo VideoDynamicRangeType]} with {[MediaInfo VideoDynamicRange]} { Series TitleYear } - S { season:00 } E { episode:00 } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels ]}{ MediaInfo AudioLanguages }{[ MediaInfo VideoCodec ]}{ -Release Group } RESULTS: - [CLICK TO EXPAND] Single Episode: The Series Title! (2010) - S01E01 - Episode Title 1 [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp Multi Episode: The Series Title! (2010) - S01E01-E02-E03 - Episode Title [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp","title":"Standard Episode Format"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#daily-episode-format","text":"{ Series TitleYear } - { Air-Date } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRangeType ]}{[ Mediainfo AudioCodec }{ Mediainfo AudioChannels ]}{ MediaInfo AudioLanguages }{[ MediaInfo VideoCodec ]}{ -Release Group } RESULTS: - [CLICK TO EXPAND] The Series Title! (2010) - 2013-10-30 - Episode Title 1 [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp","title":"Daily Episode Format"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#anime-episode-format","text":"{ Series TitleYear } - S { season:00 } E { episode:00 } - { absolute:000 } - { Episode CleanTitle } [{ Preferred Words }{ Quality Full }]{[ MediaInfo VideoDynamicRangeType ]}[{ MediaInfo VideoBitDepth } bit ]{[ MediaInfo VideoCodec ]}[{ Mediainfo AudioCodec } { Mediainfo AudioChannels }]{ MediaInfo AudioLanguages }{ -Release Group } RESULTS: - [CLICK TO EXPAND] Single Episode: The Series Title! (2010) - S01E01 - 001 - Episode Title 1 [iNTERNAL HDTV-720p v2][HDR10][10bit][x264][DTS 5.1][JA]-RlsGrp Multi Episode: The Series Title! (2010) - S01E01-E02-E03 - 001-002-003 - Episode Title [iNTERNAL HDTV-720p v2][HDR10][10bit][x264][DTS 5.1][JA]-RlsGrp","title":"Anime Episode Format"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#series-folder-format","text":"{ Series TitleYear } RESULT: The Series Title! (2010)","title":"Series Folder Format"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#optional-series-folder-format-for-the-plex-tv-series-scanner-and-jellyfinemby","text":"This naming scheme is made to be compatible with the New Plex TV Series Scanner that now support IMDB and TVDB IDs in file names. For Plex: { Series TitleYear } [ imdb- { ImdbId }] RESULT: The Series Title! (2010) [imdb-tt1520211] Note The officially supported format is {imdb-{ImdbId}} but plex should also support (imdb-{ImdbId}) or [imdb-{ImdbId}] , though the above should work for now, It's actually not needed to add a ID to the folder or filename to use the New Plex TV Series Scanner. For Jellyfin/Emby: { Series TitleYear } [ imdbid- { ImdbId }] RESULT: The Series Title! (2010) [imdbid-tt1520211] Tip IMDb IDs are going to be very accurate and rarely change, TVDB/TMDB IDs, on the other hand, do change or are removed more frequently.","title":"Optional Series Folder Format for the Plex TV Series Scanner and Jellyfin/Emby"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#season-folder-format","text":"For this there's only one real option to use in my opinion. Season { season:00 } RESULT: Season 01","title":"Season Folder Format"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#multi-episode-style","text":"Prefixed Range RESULTS:","title":"Multi-Episode Style"},{"location":"Sonarr/Sonarr-recommended-naming-scheme/#original-title-vs-original-filename","text":"Want to keep the original release name that holds like all the info of the file then I suggest to use {Original Title} over {Original Filename} Why? The filename can be Obscured where the Release naming isn't especially when you use Usenet. {Original Title} => The.Series.Title.S01E01.Episode.Title.1080p.AMZN.WEB-DL.DDP5.1.H.264-RlsGrp {Original Filename} => show episode 1-1080p or lchd-tkk1080p or t1i0p3s7i8yuti Thanks: A big Thanks to fryfrog , rg9400 and bakerboy448 for the suggestions. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Original Title vs Original Filename"},{"location":"Sonarr/Sonarr-remote-path-mapping/","text":"Remote Path Mappings \u00b6 Seems that a lot of people don't understand how the remote path mapping works for Sonarr. I will try to explain it with some screenshots and a short description. Remote Path Mapping acts as a dumb find Remote Path and replace with Local Path Do I need Remote Path Mappings \u00b6 If Sonarr and your download client are not on the same server/system. If you use either merged local/remote setups using mergerfs or similar You run dockers and DON'T have Consistent and well planned paths. Note If you run dockers it would be smarter to fix the problem at the source what's causing the actual issue. Sonarr Wiki Servarr - Docker Guide TRaSH Guides How do I recognize that I need remote path mappings \u00b6 If your download client is on another system then Sonarr then you probably need to make use of Remote Path Mappings. You will get a error that looks a little bit like the following screenshot. So looking at this screenshot it seems we need to make use of Remote Path Mappings How \u00b6 First we navigate in Sonarr to the Settings => Download Clients Tab. At the bottom you choose Add new mapping A screen will popup with the following options. Host => This is the hostname or IP you set in your download client settings. Remote Path => The download path that you've set in your download client. Local Path => The path Sonarr needs to access the same path. Examples QBittorrent Host \u00b6 To find what you need to put in your host you navigate in Sonarr to the Settings => Download Clients Tab. There you open up the download client for this example I will be using QBittorrent This is what you put in your Host in Remote Path Mapping. Remote Path \u00b6 To find what you need to put in your remote path you need to open up your download client and look what you've used there as download location. In QBittorrent navigate to Tools => Options (or ALT+O) and navigate to the Download settings. This is what you add in your Remote Path in Remote Path Mapping. Local Path \u00b6 To find what you need to put in in your local path you need to know how Sonarr is able to access the files your download client downloaded. And this can be done in different ways. Mounting/Network share what ever but Sonarr needs to have local access to it so you need to figure this one out your self what's the best way for Sonarr to access the download clients downloaded files. The final result will look something like this. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Remote Path Mappings explained"},{"location":"Sonarr/Sonarr-remote-path-mapping/#remote-path-mappings","text":"Seems that a lot of people don't understand how the remote path mapping works for Sonarr. I will try to explain it with some screenshots and a short description. Remote Path Mapping acts as a dumb find Remote Path and replace with Local Path","title":"Remote Path Mappings"},{"location":"Sonarr/Sonarr-remote-path-mapping/#do-i-need-remote-path-mappings","text":"If Sonarr and your download client are not on the same server/system. If you use either merged local/remote setups using mergerfs or similar You run dockers and DON'T have Consistent and well planned paths. Note If you run dockers it would be smarter to fix the problem at the source what's causing the actual issue. Sonarr Wiki Servarr - Docker Guide TRaSH Guides","title":"Do I need Remote Path Mappings"},{"location":"Sonarr/Sonarr-remote-path-mapping/#how-do-i-recognize-that-i-need-remote-path-mappings","text":"If your download client is on another system then Sonarr then you probably need to make use of Remote Path Mappings. You will get a error that looks a little bit like the following screenshot. So looking at this screenshot it seems we need to make use of Remote Path Mappings","title":"How do I recognize that I need remote path mappings"},{"location":"Sonarr/Sonarr-remote-path-mapping/#how","text":"First we navigate in Sonarr to the Settings => Download Clients Tab. At the bottom you choose Add new mapping A screen will popup with the following options. Host => This is the hostname or IP you set in your download client settings. Remote Path => The download path that you've set in your download client. Local Path => The path Sonarr needs to access the same path. Examples QBittorrent","title":"How"},{"location":"Sonarr/Sonarr-remote-path-mapping/#host","text":"To find what you need to put in your host you navigate in Sonarr to the Settings => Download Clients Tab. There you open up the download client for this example I will be using QBittorrent This is what you put in your Host in Remote Path Mapping.","title":"Host"},{"location":"Sonarr/Sonarr-remote-path-mapping/#remote-path","text":"To find what you need to put in your remote path you need to open up your download client and look what you've used there as download location. In QBittorrent navigate to Tools => Options (or ALT+O) and navigate to the Download settings. This is what you add in your Remote Path in Remote Path Mapping.","title":"Remote Path"},{"location":"Sonarr/Sonarr-remote-path-mapping/#local-path","text":"To find what you need to put in in your local path you need to know how Sonarr is able to access the files your download client downloaded. And this can be done in different ways. Mounting/Network share what ever but Sonarr needs to have local access to it so you need to figure this one out your self what's the best way for Sonarr to access the download clients downloaded files. The final result will look something like this. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Local Path"},{"location":"Sonarr/Tips/Merge-quality/","text":"How to Merge Quality \u00b6 The Current logic on how downloads are compared is Quality Trumps All In some cases it might be preferred to not have Quality Trump All, and let it be handled via Preferred Words / Custom Formats. To accomplish this you will need to merge the quality's with each other. Current Logic \u00b6 Here you will see the current logic so you understand how the possible downloads are compared. As of 2021-11-06 the logic is as follows: Radarr current logic \u00b6 Radarr current logic- [CLICK TO EXPAND] Quality Custom Format Score Protocol Indexer Priority Indexer Flags Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use the Repack/Proper Custom Format Sonarr current logic \u00b6 Sonarr current logic- [CLICK TO EXPAND] Quality Language Preferred Word Score Protocol Episode Count Episode Number Indexer Priority Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use a preferred word regex of /\\b(repack|proper)\\b/i Merge the Qualities \u00b6 Go to your preferred Quality Profile or create a new one. Settings => Profiles In this example we will merge the following qualities together: Bluray-720p Bluray-1080p WEBDL/WEBRip-1080p To merge them you need to click on Edit Groups. When done Sonarr/Radarr upgrades will be handled via Preferred Words / Custom Formats. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"How to Merge Quality"},{"location":"Sonarr/Tips/Merge-quality/#how-to-merge-quality","text":"The Current logic on how downloads are compared is Quality Trumps All In some cases it might be preferred to not have Quality Trump All, and let it be handled via Preferred Words / Custom Formats. To accomplish this you will need to merge the quality's with each other.","title":"How to Merge Quality"},{"location":"Sonarr/Tips/Merge-quality/#current-logic","text":"Here you will see the current logic so you understand how the possible downloads are compared. As of 2021-11-06 the logic is as follows:","title":"Current Logic"},{"location":"Sonarr/Tips/Merge-quality/#radarr-current-logic","text":"Radarr current logic- [CLICK TO EXPAND] Quality Custom Format Score Protocol Indexer Priority Indexer Flags Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use the Repack/Proper Custom Format","title":"Radarr current logic"},{"location":"Sonarr/Tips/Merge-quality/#sonarr-current-logic","text":"Sonarr current logic- [CLICK TO EXPAND] Quality Language Preferred Word Score Protocol Episode Count Episode Number Indexer Priority Seeds/Peers (If Torrent) Age (If Usenet) Size Source: Wiki Servarr REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality. Settings => Media Management => File Management => Proper & Repacks Change to Do Not Prefer and use a preferred word regex of /\\b(repack|proper)\\b/i","title":"Sonarr current logic"},{"location":"Sonarr/Tips/Merge-quality/#merge-the-qualities","text":"Go to your preferred Quality Profile or create a new one. Settings => Profiles In this example we will merge the following qualities together: Bluray-720p Bluray-1080p WEBDL/WEBRip-1080p To merge them you need to click on Edit Groups. When done Sonarr/Radarr upgrades will be handled via Preferred Words / Custom Formats. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.","title":"Merge the Qualities"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/","text":"How to Sync 2 Radarr or Sonarr with each other \u00b6 In this Guide I will try to explain how you can sync two (or more) Radarr/Sonarr with each other. I'm going to show 2 different options how you can setup your sync with 2 Radarr/Sonarr. Option 1: This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances as it'll sync everything Option 2: This option is best used if you only want to have a subset of your library Movies/TV Shows as 4K/2160p (UHD) as it filters by quality profile I'm not going to explain how to set up 2 Radarr/Sonarr for your system, being it depends how you have it installed/running. Radarr Multiple Instance Information and Sonarr Multiple Instance Information Preparation \u00b6 For this you need to have prepared the following: 2 Radarr/Sonarr fully setup (Indexers, Custom Formats, Downloaders, etc). 1 download client ( 2 if you prefer Usenet and Torrents ). Your download client has 2 separate categories (movies-hd, movies-uhd, tv-hd, tv-uhd, etc) Attention You can't use the same root (media library) folder for both Radarr's/Sonarr's Make sure you use 2 separate root folders in Radarr/Sonarr (movies-hd, movies-uhd, tv-hd, tv-uhd, etc) Option 1 \u00b6 In this example I'm going to use 2 Radarr (The basics is the same for Sonarr). Radarr 1 = My main 4K/2160p (UHD) Radarr. Radarr 2 = My 1080p Radarr that I've setup for streaming optimized quality profile. 1 This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances Adding the Radarr Sync list \u00b6 In Radarr 2 go to Settings => Lists Click on the + to add a lists and select Radarr Then you get a screen with the following options. The name you want to call your Sync list. Enable to Enable the list. Enable so the movies will be automatically added. Enable so the movies will be added and monitored (if disabled then there will be no search done for the movies). Enable so when added Radarr will perform a search. When Radarr shall consider a movie is available. 2 The Quality Profile you want to use on Radarr 2 . Your Root location for your media library. The Full URL to Radarr 1 (Use local URL if they run on the same system). Your API Key of Radarr 1 . Which Profile of Radarr 1 you want to Sync with Radarr 2 . Test the connection to Radarr 1 . Save your settings. Radarr Download client setup \u00b6 You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client ( 2 if you prefer Usenet and Torrents ). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Radarr 2 Attention This can't and shouldn't be the same category you use for Radarr 1 but a separate Category . How does this Radarr Sync work \u00b6 You now only need to make use of Radarr 1 all movies your add to Radarr 1 will be synced to Radarr 2 at a scheduled time. Option 2 \u00b6 In this example I'm going to use 2 Sonarr (The basics is the same for Radarr). Sonarr 1 = My main 1080p WEB-DL Sonarr. Sonarr 2 = 4K/2160p (UHD) WEB-DL Sonarr. This option is best used if you only want to have a few TV shows (or a Movies if you use this option with Radarr) as 4K/2160p (UHD) Extra preparation \u00b6 In Sonarr 1 go to Settings => Profiles And Clone your used profile and rename your profile from Profilename - Copy to Profilename! Adding the Sonarr Sync list \u00b6 In Sonarr 2 go to Settings => Import Lists Click on the + to add a lists and select Sonarr Then you get a screen with the following options. The name you want to call your Sync list. Enable so the shows will be automatically added. Choose your monitoring options. 3 Your Root location for your media library. The Quality Profile you want to use on Sonarr 2 . Series Type. 4 If you want to use Season Folders. The Full URL to Sonarr 1 (Use local URL if they run on the same system). Your API Key of Sonarr 1 . The Cloned Profile of Sonarr 1 that we're going to use to Sync with Sonarr 2 . Test the connection to Sonarr 1 . Save your settings. Sonarr Download client setup \u00b6 You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client (2 if you prefer Usenet and Torrents). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Sonarr 2 Important This can't and shouldn't be the same category you use for Sonarr 1 but a separate Category . How does this Sonarr Sync work \u00b6 You now only need to make use of Sonarr 1 , When you got a TV Shows (or a Movie if you use this option with Radarr) that you also want as 4K/2160p (UHD) then you make sure you make use of the Cloned Quality Profile. And it will sync at a scheduled time. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. If you're interested in the 1080p streaming optimized quality profile you can contact me on discord This is a special quality profile i created for people who are really interested in it This release profile is fine tuned when you want to run a 2nd Radarr for 1080p, and want minimum to none transcoding and smaller sizes for the second copy's Why choose this quality profile? Streaming optimized (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) Small sizes Good quality Only AC3 Audio (Downmixed Lossless audio track to Dolby Digital 5.1 for optimal compatibility) You want maximum compatibility between all devices and still a HQ releases. You run 2 instances of Radarr and want both version or just for the 1080p ones. You want to have minimum till none transcoding for low powered devices or remote streaming. \u21a9 Announced : Radarr shall consider movies available as soon as they are added to Radarr. This setting is recommended if you have good private trackers that do not have fakes. In Cinemas : Radarr shall consider movies available as soon as movies they hit cinemas. This option is not recommended. Released : Radarr shall consider movies available as soon as the Blu-ray is released. This option is recommended if your indexers contain fakes often. \u21a9 All Episodes : Monitor all episodes except specials Future Episodes : Monitor episodes that have not aired yet Missing Episodes : Monitor episodes that do not have files or have not aired yet Existing Episodes : Monitor episodes that have files or have not aired yet First Season : Monitor all episodes of the first season. All other seasons will be ignored Latest Season : Monitor all episodes of the latest season and future seasons None : No episodes will be monitored \u21a9 Anime : Episodes released using an absolute episode number Daily : Episodes released daily or less frequently that use year-month-day (2017-05-25) Standard : Episodes released with SxxEyy pattern \u21a9","title":"How to Sync 2 Radarr or Sonarr with each other"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#how-to-sync-2-radarr-or-sonarr-with-each-other","text":"In this Guide I will try to explain how you can sync two (or more) Radarr/Sonarr with each other. I'm going to show 2 different options how you can setup your sync with 2 Radarr/Sonarr. Option 1: This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances as it'll sync everything Option 2: This option is best used if you only want to have a subset of your library Movies/TV Shows as 4K/2160p (UHD) as it filters by quality profile I'm not going to explain how to set up 2 Radarr/Sonarr for your system, being it depends how you have it installed/running. Radarr Multiple Instance Information and Sonarr Multiple Instance Information","title":"How to Sync 2 Radarr or Sonarr with each other"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#preparation","text":"For this you need to have prepared the following: 2 Radarr/Sonarr fully setup (Indexers, Custom Formats, Downloaders, etc). 1 download client ( 2 if you prefer Usenet and Torrents ). Your download client has 2 separate categories (movies-hd, movies-uhd, tv-hd, tv-uhd, etc) Attention You can't use the same root (media library) folder for both Radarr's/Sonarr's Make sure you use 2 separate root folders in Radarr/Sonarr (movies-hd, movies-uhd, tv-hd, tv-uhd, etc)","title":"Preparation"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#option-1","text":"In this example I'm going to use 2 Radarr (The basics is the same for Sonarr). Radarr 1 = My main 4K/2160p (UHD) Radarr. Radarr 2 = My 1080p Radarr that I've setup for streaming optimized quality profile. 1 This option is best used if you want a 1:1 copy of your Radarr/Sonarr instances","title":"Option 1"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#adding-the-radarr-sync-list","text":"In Radarr 2 go to Settings => Lists Click on the + to add a lists and select Radarr Then you get a screen with the following options. The name you want to call your Sync list. Enable to Enable the list. Enable so the movies will be automatically added. Enable so the movies will be added and monitored (if disabled then there will be no search done for the movies). Enable so when added Radarr will perform a search. When Radarr shall consider a movie is available. 2 The Quality Profile you want to use on Radarr 2 . Your Root location for your media library. The Full URL to Radarr 1 (Use local URL if they run on the same system). Your API Key of Radarr 1 . Which Profile of Radarr 1 you want to Sync with Radarr 2 . Test the connection to Radarr 1 . Save your settings.","title":"Adding the Radarr Sync list"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#radarr-download-client-setup","text":"You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client ( 2 if you prefer Usenet and Torrents ). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Radarr 2 Attention This can't and shouldn't be the same category you use for Radarr 1 but a separate Category .","title":"Radarr Download client setup"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#how-does-this-radarr-sync-work","text":"You now only need to make use of Radarr 1 all movies your add to Radarr 1 will be synced to Radarr 2 at a scheduled time.","title":"How does this Radarr Sync work"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#option-2","text":"In this example I'm going to use 2 Sonarr (The basics is the same for Radarr). Sonarr 1 = My main 1080p WEB-DL Sonarr. Sonarr 2 = 4K/2160p (UHD) WEB-DL Sonarr. This option is best used if you only want to have a few TV shows (or a Movies if you use this option with Radarr) as 4K/2160p (UHD)","title":"Option 2"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#extra-preparation","text":"In Sonarr 1 go to Settings => Profiles And Clone your used profile and rename your profile from Profilename - Copy to Profilename!","title":"Extra preparation"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#adding-the-sonarr-sync-list","text":"In Sonarr 2 go to Settings => Import Lists Click on the + to add a lists and select Sonarr Then you get a screen with the following options. The name you want to call your Sync list. Enable so the shows will be automatically added. Choose your monitoring options. 3 Your Root location for your media library. The Quality Profile you want to use on Sonarr 2 . Series Type. 4 If you want to use Season Folders. The Full URL to Sonarr 1 (Use local URL if they run on the same system). Your API Key of Sonarr 1 . The Cloned Profile of Sonarr 1 that we're going to use to Sync with Sonarr 2 . Test the connection to Sonarr 1 . Save your settings.","title":"Adding the Sonarr Sync list"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#sonarr-download-client-setup","text":"You don't need a separate download client for your 2 Radarr instances, this all can be done with 1 download client (2 if you prefer Usenet and Torrents). Settings => Download Clients Select your preferred download client. Only thing you need to change/create is a separate Category that you're going to use for Sonarr 2 Important This can't and shouldn't be the same category you use for Sonarr 1 but a separate Category .","title":"Sonarr Download client setup"},{"location":"Sonarr/Tips/Sync-2-radarr-sonarr/#how-does-this-sonarr-sync-work","text":"You now only need to make use of Sonarr 1 , When you got a TV Shows (or a Movie if you use this option with Radarr) that you also want as 4K/2160p (UHD) then you make sure you make use of the Cloned Quality Profile. And it will sync at a scheduled time. Questions or Suggestions? If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support. If you're interested in the 1080p streaming optimized quality profile you can contact me on discord This is a special quality profile i created for people who are really interested in it This release profile is fine tuned when you want to run a 2nd Radarr for 1080p, and want minimum to none transcoding and smaller sizes for the second copy's Why choose this quality profile? Streaming optimized (Optimized for PLEX, emby, Jellyfin, and other streaming platforms) Small sizes Good quality Only AC3 Audio (Downmixed Lossless audio track to Dolby Digital 5.1 for optimal compatibility) You want maximum compatibility between all devices and still a HQ releases. You run 2 instances of Radarr and want both version or just for the 1080p ones. You want to have minimum till none transcoding for low powered devices or remote streaming. \u21a9 Announced : Radarr shall consider movies available as soon as they are added to Radarr. This setting is recommended if you have good private trackers that do not have fakes. In Cinemas : Radarr shall consider movies available as soon as movies they hit cinemas. This option is not recommended. Released : Radarr shall consider movies available as soon as the Blu-ray is released. This option is recommended if your indexers contain fakes often. \u21a9 All Episodes : Monitor all episodes except specials Future Episodes : Monitor episodes that have not aired yet Missing Episodes : Monitor episodes that do not have files or have not aired yet Existing Episodes : Monitor episodes that have files or have not aired yet First Season : Monitor all episodes of the first season. All other seasons will be ignored Latest Season : Monitor all episodes of the latest season and future seasons None : No episodes will be monitored \u21a9 Anime : Episodes released using an absolute episode number Daily : Episodes released daily or less frequently that use year-month-day (2017-05-25) Standard : Episodes released with SxxEyy pattern \u21a9","title":"How does this Sonarr Sync work"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 3980a300b..04e7fb61b 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,372 +2,377 @@ https://trash-guides.info/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/thnx/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Bazarr/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Bazarr/After-install-configuration/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Bazarr/Setup-Guide/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Bazarr/Tips/Bazarr-suggested-scoring/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Bazarr/scripts/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/Deluge/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/Deluge/Deluge-Basic-Setup/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/Deluge/Deluge-how-to-add-labels/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/NZBGet/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/NZBGet/Basic-Setup/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/NZBGet/Paths-and-Categories/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/NZBGet/scripts/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/SABnzbd/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/SABnzbd/Basic-Setup/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/SABnzbd/Paths-and-Categories/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/SABnzbd/scripts/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/qBittorrent/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/qBittorrent/Basic-Setup/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/qBittorrent/How-to-add-categories/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/qBittorrent/Paths/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/qBittorrent/Port-forwarding/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/ruTorrent/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Downloaders/ruTorrent/ruTorrent-Basic-Setup/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Hardlinks/Check-if-hardlinks-are-working/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Hardlinks/Examples/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Hardlinks/Hardlinks-and-Instant-Moves/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Hardlinks/Replace-copies-with-hardlinks/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Hardlinks/How-to-setup-for/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Hardlinks/How-to-setup-for/Docker/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Hardlinks/How-to-setup-for/Dockstarter/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Hardlinks/How-to-setup-for/Native/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Hardlinks/How-to-setup-for/Synology/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Hardlinks/How-to-setup-for/Unraid/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/How-to-setup-for/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/How-to-setup-for/Docker/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/How-to-setup-for/Dockstarter/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/How-to-setup-for/Native/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/How-to-setup-for/Synology/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/How-to-setup-for/Unraid/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Misc/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Misc/How-to-setup-Torguard-for-port-forwarding/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Misc/how-to-provide-a-docker-compose/ - 2022-02-22 + 2022-02-27 + daily + + + https://trash-guides.info/Misc/trash-sync/ + 2022-02-27 daily https://trash-guides.info/Misc/x265-4k/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Plex/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Plex/Tips/4k-transcoding/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Plex/Tips/Plex-media-server/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Plex/profiles/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/Radarr-Quality-Settings-File-Size/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/Radarr-collection-of-custom-formats/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/Radarr-how-to-update-custom-formats/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/Radarr-import-custom-formats/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/Radarr-recommended-naming-scheme/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/Radarr-remote-path-mapping/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/Radarr-setup-custom-formats/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/Tips/Merge-quality/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/Tips/Radarr-add-a-movie-collection/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/Tips/Radarr-rename-your-folders/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/Tips/Radarr-show-unknown-movie-items/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Radarr/Tips/Sync-2-radarr-sonarr/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/SQP/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/SQP/1-1/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/SQP/1-2/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Sonarr/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Sonarr/Sonarr-Quality-Settings-File-Size/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Sonarr/Sonarr-Release-Profile-RegEx-Anime/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Sonarr/Sonarr-Release-Profile-RegEx/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Sonarr/Sonarr-recommended-naming-scheme/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Sonarr/Sonarr-remote-path-mapping/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Sonarr/Tips/Merge-quality/ - 2022-02-22 + 2022-02-27 daily https://trash-guides.info/Sonarr/Tips/Sync-2-radarr-sonarr/ - 2022-02-22 + 2022-02-27 daily \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 4ad6b2637dcf95f5025f16e3abedaff50172baf5..3e8dd157e8f709b5dcd3b9d1798b890984008764 100644 GIT binary patch literal 901 zcmV;01A6=)iwFo#mm6XN|8r?{Wo=<_E_iKh0M(jJbK4*ghVT6q9^cn;JpCTWnYc-s z9@0tT^wJxFwZs^K0?4xS>x({8JDpy7>aH$Gz-S&ZFYhjh`Pr^Cqb>TNojo0&Os3-z zTIrOw`RVw_!xelSpDo_ZYi|O^QR-~N>9~lo`kZA=(@cVnSc)o4oX@i$i}Vn(p)#9J zK8+V|M(Ju_(BE~}+&H;t-xAVmq8Finyw(cCMBBB?=2_c*++BoNI<=ThXET`2VD=$( z8S0L@$wJs1*B+l1N@%m6XGb+XNA?@!-;iQqcNDpn;#qi4nCyHV(Sx=j3S&SzyViN_ zMNE1lOufQbSMarMAWZq7t1#R{sPh~{Ljxf_@c{b!j(YBVog`qi-GuB*fpPzagrT1N-Gp zl$D|B8VAbj!@#EK{jJ?xNdmcXTk7EVSQ#M^q^puOL!)DHPzmud?}JO|c7~GWF{8b3 za)TV9leT?iNB&(zy+vlwtG#u`<$Gq>Kdcv;}@@|`2K!EDZE9IAEtwP=OU?Qap60)Q|&u>5@i@yHgLzh6{*)(M=@MVpaCqbswXtS^|Q#IM=!(Vz$jxBb#6J?ED@IJdgw3Qr%KRZjUQI*Xig bfaZ~%9mD>gINKE|^IrS{7|lK&&ocl3M|sDo literal 895 zcmV-_1AzP=iwFonQWatX|8r?{Wo=<_E_iKh0M(jJQ`;~QhVT6qOzsOB&B(&8v4;vS#Po${cOb2kq?HRvG1_1DZeIq%*Q(rcm@p@gE*3d2;}mCI&X*M8VtgjhK>&yVvQj&sQK z)MczY=q5{H3tV}8o-3ivZk8R?3>?{SkbgsprQK5GT8J0nJz=toRYVWkhA4~y>Fi1u zjTbTLjWG2RV^hP|u7NP+gRaAP51}av3=tIs>3o{Lgt>$Cx{iS&;gxHxaY7|Wq>gum zrYVpKeI=?2Wkv;qM zR#dg2=^A^=oBhD1=>4tRTuB1CbsOs7_gEVt5u~e=HAAaoxmOACF&~0U=y!&a~(94~5#uYne*pJo=O>&{g!ZR2-1vh_SLAH- zy&1=}%qW^_H#Fl^kDKPuN)uiA-U~(al*33i6!4=FM#o*ZNfVPa z1AIv%3QPTh^x35|24#0H1KbK^6QZlS5KxI2=+lpZpsAIJ$c|oDeZb|0?J>pK3avr~ zR#Zvx&>sOq4(OFjLa9Y8p%QgXG?2W79uhS+D(M5@E&2lCc`!!mu;Vy)Kad1eDW}8( zTVw+7F-=8;oojs3h@pCt=`ZA=Gx5f*t!wQ#`rScN^7v_~EFlL!euc9{bCuWvuywX diff --git a/thnx/index.html b/thnx/index.html index 38132e12f..f56f3d0c1 100644 --- a/thnx/index.html +++ b/thnx/index.html @@ -1602,6 +1602,20 @@ + + + + + +
  • + + TRaSH Sync + +
  • + + + +