From 37ffa36ff9224ace81a2fc4878d369b4e5ce487d Mon Sep 17 00:00:00 2001 From: Robert Dailey Date: Tue, 20 Sep 2022 10:49:12 -0500 Subject: [PATCH] docs(wiki): Delete all wiki pages except Home.md This is to force the wiki workflow to remove most of the pages on the wiki site. --- wiki/.markdownlint.json | 5 - wiki/Behavior.md | 74 -------- wiki/Command-Line-Reference.md | 287 ------------------------------- wiki/Configuration-Examples.md | 288 -------------------------------- wiki/Configuration-Reference.md | 273 ------------------------------ wiki/Docker.md | 191 --------------------- wiki/Features.md | 37 ---- wiki/File-Structure.md | 25 --- wiki/Migration-System.md | 54 ------ wiki/Settings-Reference.md | 95 ----------- wiki/Troubleshooting.md | 85 ---------- wiki/Upgrade-Guide.md | 101 ----------- 12 files changed, 1515 deletions(-) delete mode 100644 wiki/.markdownlint.json delete mode 100644 wiki/Behavior.md delete mode 100644 wiki/Command-Line-Reference.md delete mode 100644 wiki/Configuration-Examples.md delete mode 100644 wiki/Configuration-Reference.md delete mode 100644 wiki/Docker.md delete mode 100644 wiki/Features.md delete mode 100644 wiki/File-Structure.md delete mode 100644 wiki/Migration-System.md delete mode 100644 wiki/Settings-Reference.md delete mode 100644 wiki/Troubleshooting.md delete mode 100644 wiki/Upgrade-Guide.md diff --git a/wiki/.markdownlint.json b/wiki/.markdownlint.json deleted file mode 100644 index a993c564..00000000 --- a/wiki/.markdownlint.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": "../.markdownlint.json", - "first-line-heading": false, - "single-h1": false -} diff --git a/wiki/Behavior.md b/wiki/Behavior.md deleted file mode 100644 index e1a13841..00000000 --- a/wiki/Behavior.md +++ /dev/null @@ -1,74 +0,0 @@ -Special notes about behavior of Recyclarr with regards to the various services it supports will be -documented here. - -## Sonarr - -Each section below represents a topic covering certain behavior relevant to Sonarr. - -### Release Profile Naming - -The script procedurally generates a name for release profiles it creates. For the following example: - -```txt -[Trash] Anime - First Release Profile -``` - -The name is generated as follows: - -- `[Trash]` is added by Recyclarr to indicate that this Release Profile is created and managed by - it. This prefix exists to separate it from any Release Profiles the user may have manually - created (which Recyclarr will not touch). -- `Anime - First Release Profile` is the name of the Release Profile (taken from the `name` property - of its corresponding JSON file). - -### Migration System - -See the [Migration System] page. - -[Migration System]: https://github.com/recyclarr/recyclarr/wiki/Migration-System - -## Radarr - -### Custom Format Synchronization - -Custom format synchronization is broken up into three categories - -- Creation: Custom formats that are in the guide but do not exist in Radarr are **created**. -- Updates: Custom formats that already exist in both the guide and in Radarr are **updated**. -- Deletions: If deletions are allowed by having the `delete_old_custom_formats` configuration - setting set to `true`, then custom formats in Radarr are deleted if they are removed from the - guide **or** removed from your configuration file. - -> **Important** -> -> Recyclarr will *never* touch custom formats that you create by hand, unless they share a name with -> a custom format in the guide. In general, Recyclarr must have been the one to create a custom -> format in order to do anything to it (update or delete). - -### Cache - -#### Summary - -The synchronization cache in Recyclarr allows it to more accurately detect changes to custom formats -in the TRaSH guides. This mainly helps cover changes like renames. - -Once Recyclarr creates or updates a custom format in Radarr, it records information about it in a -cache file located on disk. The location varies depending on platform: - -- Windows: `%APPDATA%/recyclarr/cache` -- Linux: `~/.config/recyclarr/cache` -- MacOS: `~/Library/Application Support/recyclarr/cache` - -The cache files are not meant to be edited by users. In general I recommend leaving them alone. -Recyclarr will manage it for you. However, sometimes a bug may cause an issue where deleting the -cache directory will be a good way to recover. - -#### Custom Format Identification Behavior - -The cache stores and remembers the last known valid name for a custom format. If a custom format -gets renamed in the Trash Guide, you don't need to immediately rename it in your YAML config. Trash -Updater will issue a warning in console output when the names become outdated. This gives you plenty -of time to fix the issue. - -Note that if the cache gets deleted, custom formats with outdated names will no longer synchronize -to Radarr and you will need to either remove it or fix the name. diff --git a/wiki/Command-Line-Reference.md b/wiki/Command-Line-Reference.md deleted file mode 100644 index 7699176c..00000000 --- a/wiki/Command-Line-Reference.md +++ /dev/null @@ -1,287 +0,0 @@ -Command line interface documentation for the `recyclarr` executable. - -## Subcommands - -Each service (Sonarr, Radarr) has a subcommand that must be specified in order to perform operations -related to that service, such as parsing relevant TRaSH guides and invoking API endpoints to modify -settings on that instance. As always, the `--help` option may be specified following a subcommand to -see more information directly in your terminal. - -| Subcommand | Description | -| --------------- | ------------------------------------------------------------------------------- | -| `sonarr` | Update release profiles and quality definitions on configured Sonarr instances. | -| `radarr` | Update custom formats and quality definitions on configured Radarr instances. | -| `create-config` | Create a starter `recyclarr.yml` config file. | -| `migrate` | Perform migration steps that may be needed after upgrades. | - -## Common Arguments - -These are optional arguments shared by *all* service subcommands. At the moment, this includes: - -- `radarr` -- `sonarr` - -Other non-service subcommands, like `create-config`, will not accept these arguments. - -### `--config` - -One or more paths to YAML configuration files. Only the relevant configuration section for the -specified subcommand will be read from each file. If this argument is not specified, a single -default configuration file named `recyclarr.yml` will be used. It must be in the [application data -directory][appdata]. - -**Command Line Examples**: - -```bash -# Default Config (recyclarr.yml) -recyclarr sonarr - -# Single Config -recyclarr sonarr --config ../myconfig.yml - -# Multiple Config -recyclarr sonarr --config ../myconfig1.yml "files/my config 2.yml" -``` - -### `--preview` - -Performs a "dry run" by parsing the guide and printing the parsed data in a readable format to the -user. This does *not* perform any API calls to Radarr or Sonarr. You may want to run a preview if -you'd like to see if the guide is parsed correctly before updating your instance. - -Example output for Sonarr Release Profile parsing - -```txt -First Release Profile - Include Preferred when Renaming? - CHECKED - - Must Not Contain: - /(\[EMBER\]|-EMBER\b|DaddySubs)/i - - Preferred: - 100 /\b(amzn|amazon)\b(?=[ ._-]web[ ._-]?(dl|rip)\b)/i - 90 /\b(dsnp|dsny|disney)\b(?=[ ._-]web[ ._-]?(dl|rip)\b)/i - -Second Release Profile - Include Preferred when Renaming? - NOT CHECKED - - Preferred: - 180 /(-deflate|-inflate)\b/i - 150 /(-AJP69|-BTN|-CasStudio|-CtrlHD|-KiNGS)\b/i - 150 /(-monkee|-NTb|-NTG|-QOQ|-RTN)\b/i -``` - -Example output for Sonarr Quality Definition parsing - -```txt -Quality Min Max -------- --- --- -HDTV-720p 2.3 67.5 -HDTV-1080p 2.3 137.3 -WEBRip-720p 4.3 137.3 -WEBDL-720p 4.3 137.3 -Bluray-720p 4.3 137.3 -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 -``` - -### `--debug` - -By default, Info, Warning and Error log levels are displayed in the console. This option enables -Debug level logs to be displayed. This is designed for debugging and development purposes and -generally will be too noisy for normal program usage. - -### `--app-data` - -Overrides the normal, default location of the [[application data directory|File-Structure]]. Note -that this option is mainly intended for usage in the official Docker image. It is not intended for -normal use outside of that. - -If you'd like this behavior globally for all commands without having to specify this option, define -an environment variable named `RECYCLARR_APP_DATA` with the same path. Note that if you have both -set, `--app-data` always takes precedence. - -## Subcommand: `sonarr` - -### `--list-release-profiles` - -Prints a list of all [available Sonarr Release Profiles][sonarrjson] from the TRaSH Guides in YAML -format, ready to be copied & pasted directly into your `recyclarr.yml` file. Here is an example of the -output you will see: - -```txt -./trash sonarr --list-release-profiles - -List of Release Profiles in the TRaSH Guides: - - - EBC725268D687D588A20CBC5F97E538B # Low Quality Groups - - 76e060895c5b8a765c310933da0a5357 # Optionals - - 71899E6C303A07AF0E4746EFF9873532 # P2P Groups + Repack/Proper - - 1B018E0C53EC825085DD911102E2CA36 # Release Sources (Streaming Service) - - d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile - - 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile - -The above Release Profiles are in YAML format and ready to be copied & pasted under the `trash_ids:` property. -``` - -You can copy & paste these directly into your `recyclarr.yml` like this: - -```yml -sonarr: - - base_url: http://127.0.0.1:8989/sonarr - api_key: 2424b3643507485ea2e06382d3f0b8a3 - release_profiles: - - trash_ids: - - d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile - - 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile -``` - -### `--list-terms` - -Prints a list of all terms (that have been assigned their own Trash IDs) for the Release Profile -with the specified Trash ID. Use the `--list-release-profiles` option to first get a list of the -[available Sonarr Release Profiles][sonarrjson] from the TRaSH Guides. Copy one of the Trash ID -values from there and provide it as the argument to this command to get its list of terms. The terms -are printed in YAML format, ready to be copied & pasted directly into your `recyclarr.yml` file. -Here is an example of the output you will see: - -```txt -./trash sonarr --list-terms 76e060895c5b8a765c310933da0a5357 - -List of Terms for the 'Optionals' Release Profile that may be filtered: - -Ignored Terms: - - - cec8880b847dd5d31d29167ee0112b57 # Golden rule - - 436f5a7d08fbf02ba25cb5e5dfe98e55 # Ignore Dolby Vision without HDR10 fallback. - - f3f0f3691c6a1988d4a02963e69d11f2 # Ignore The Group -SCENE - - 5bc23c3a055a1a5d8bbe4fb49d80e0cb # Ignore so called scene releases - -Preferred Terms: - - - ea83f4740cec4df8112f3d6dd7c82751 # Prefer Season Packs - - bc7a6383cbe88c3ee2d6396e1aacc0b3 # Prefer HDR - - fa47da3377076d82d07c4e95b3f13d07 # Prefer Dolby Vision - - 6f2aefa61342a63387f2a90489e90790 # Dislike retags: rartv, rarbg, eztv, TGx - - 19cd5ecc0a24bf493a75e80a51974cdd # Dislike retagged groups - - 6a7b462c6caee4a991a9d8aa38ce2405 # Dislike release ending: en - - 236a3626a07cacf5692c73cc947bc280 # Dislike release containing: 1- - -The above Term Filters are in YAML format and ready to be copied & pasted under the `include:` or `exclude:` filter properties. -``` - -You can copy & paste the lists above directly into your YAML under the desired `include:` or -`exclude:` filter sections. See the example below. - -```yml -sonarr: - - base_url: http://127.0.0.1:8989/sonarr - api_key: 2424b3643507485ea2e06382d3f0b8a3 - release_profiles: - - trash_ids: [76e060895c5b8a765c310933da0a5357] # Optionals - filter: - include: - - 436f5a7d08fbf02ba25cb5e5dfe98e55 # Ignore Dolby Vision without HDR10 fallback - - f3f0f3691c6a1988d4a02963e69d11f2 # Ignore The Group -SCENE -``` - -[sonarrjson]: https://github.com/TRaSH-/Guides/tree/master/docs/json/sonarr - -### `--list-qualities` - -Print a list of all available types of quality definitions. The "type" of a quality definition comes -from JSON files in the guide and this type is used in the configuration YAML for the -`quality_definition` property: - -```yml -quality_definition: series -``` - -Above, `series` would only be valid if that type appeared in the list output by the `sonarr` -subcommand run with this argument. - -## Subcommand: `radarr` - -### `--list-custom-formats` - -Prints a list of all [available Radarr Custom Formats][radarrjson] from the TRaSH Guides in YAML -format, ready to be copied & pasted directly into your `recyclarr.yml` file. Here is an example of -the output you will see: - -```txt -./trash radarr --list-custom-formats - -List of Custom Formats in the TRaSH Guides: - - - b124be9b146540f8e62f98fe32e49a2a # 1.0 Mono - - 820b09bb9acbfde9c35c71e0e565dad8 # 1080p - - 89dac1be53d5268a7e10a19d3c896826 # 2.0 Stereo - - fb392fb0d61a010ae38e49ceaa24a1ef # 2160p - - 205125755c411c3b8622ca3175d27b37 # 3.0 Sound - -The above Custom Formats are in YAML format and ready to be copied & pasted under the `trash_ids:` property. -``` - -You can copy & paste these directly into your `recyclarr.yml` like this: - -```yml -radarr: - - base_url: http://127.0.0.1:7878 - api_key: 2424b3643507485ea2e06382d3f0b8a3 - custom_formats: - - trash_ids: - - b124be9b146540f8e62f98fe32e49a2a # 1.0 Mono - - 820b09bb9acbfde9c35c71e0e565dad8 # 1080p -``` - -### `--list-qualities` - -Print a list of all available types of quality definitions. The "type" of a quality definition comes -from JSON files in the guide and this type is used in the configuration YAML for the -`quality_definition` property: - -```yml -quality_definition: - type: movie -``` - -Above, `movie` would only be valid if that type appeared in the list output by the `radarr` -subcommand run with this argument. - -## Subcommand: `create-config` - -Create a starter `recyclarr.yml` config file. The location of this file the [application data -directory][appdata]. - -### `--path` - -The absolute or relative path to the YAML file you want to create. The contents will be the same, -the only difference is where the data gets written. - -Example: - -```sh -./recyclarr create-config --path ~/myconfig.yml -``` - -## Subcommand: `migrate` - -Used to perform migration steps that may be needed after upgrades. Visit the [[Migration System]] -page to read more about it. - -### `--debug` - -By default, Info, Warning and Error log levels are displayed in the console. This option enables -Debug level logs to be displayed. This is designed for debugging and development purposes and -generally will be too noisy for normal program usage. - -[appdata]: https://github.com/recyclarr/recyclarr/wiki/File-Structure diff --git a/wiki/Configuration-Examples.md b/wiki/Configuration-Examples.md deleted file mode 100644 index e4531667..00000000 --- a/wiki/Configuration-Examples.md +++ /dev/null @@ -1,288 +0,0 @@ -Various scenarios supported using flexible configuration structure: - -- [Update as much as possible in both Sonarr and Radarr with a single config](#update-as-much-as-possible-in-both-sonarr-and-radarr-with-a-single-config) -- [Selectively update different parts of Sonarr v3](#selectively-update-different-parts-of-sonarr-v3) -- [Update Sonarr v3 and v4 instances in a single YAML config](#update-sonarr-v3-and-v4-instances-in-a-single-yaml-config) -- [Synchronize a lot of custom formats for a single quality profile](#synchronize-a-lot-of-custom-formats-for-a-single-quality-profile) -- [Manually assign different scores to multiple custom formats](#manually-assign-different-scores-to-multiple-custom-formats) -- [Assign custom format scores the same way to multiple quality profiles](#assign-custom-format-scores-the-same-way-to-multiple-quality-profiles) -- [Scores in a quality profile should be set to zero if it wasn't listed in config](#scores-in-a-quality-profile-should-be-set-to-zero-if-it-wasnt-listed-in-config) - -## Update as much as possible in both Sonarr and Radarr with a single config - -Create a single configuration file (use the default `recyclarr.yml` if you want to simplify your CLI -usage by not being required to specify `--config`) and put all of the configuration in there, like -this: - -```yml -sonarr: - - base_url: http://localhost:8989 - api_key: f7e74ba6c80046e39e076a27af5a8444 - quality_definition: hybrid - release_profiles: - - trash_ids: - - EBC725268D687D588A20CBC5F97E538B # Low Quality Groups - - 1B018E0C53EC825085DD911102E2CA36 # Release Sources (Streaming Service) - - 71899E6C303A07AF0E4746EFF9873532 # P2P Groups + Repack/Proper - strict_negative_scores: false - tags: [tv] - -radarr: - - base_url: http://localhost:7878 - api_key: bf99da49d0b0488ea34e4464aa63a0e5 - quality_definition: - type: movie - preferred_ratio: 0.5 -``` - -Even though it's all in one file, Radarr settings are ignored when you run `recyclarr sonarr` and -vice versa. To update both, just chain them together in your terminal, like so: - -```bash -recyclarr sonarr && recyclarr radarr -``` - -This scenario is pretty ideal for a cron job you have running regularly and you want it to update -everything possible in one go. - -## Selectively update different parts of Sonarr v3 - -***NOTE:** The official Docker container does not support multiple configuration files* - -Say you want to update Sonarr release profiles from the guide, but not the quality definitions. -There's no command line option to control this, so how do you do it? - -Simply create two YAML files: - -`sonarr-release-profiles.yml`: - -```yml -sonarr: - - base_url: http://localhost:8989 - api_key: f7e74ba6c80046e39e076a27af5a8444 - release_profiles: - - trash_ids: - - d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile - - 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile - tags: [anime] -``` - -`sonarr-quality-definition.yml`: - -```yml -sonarr: - - base_url: http://localhost:8989 - api_key: f7e74ba6c80046e39e076a27af5a8444 - quality_definition: hybrid -``` - -Then run the following command: - -```bash -recyclarr sonarr --config sonarr-release-profiles.yml -``` - -This will only update release profiles since you have essentially moved the `quality_definition` -property to its own file. When you want to update both, you just specify both files the next time -you run the program: - -```bash -recyclarr sonarr --config sonarr-release-profiles.yml sonarr-quality-definition.yml -``` - -## Update Sonarr v3 and v4 instances in a single YAML config - -If you have two instances of Sonarr, one v3 and one v4, that you'd like to update from a single run -using one YAML file, you can do that by simply specifying both in the list under the `sonarr` -property: - -```yml -sonarr: - - base_url: http://sonarr_v4:8989 - api_key: f7e74ba6c80046e39e076a27af5a8444 - quality_definition: anime - custom_formats: - - trash_ids: - - 949c16fe0a8147f50ba82cc2df9411c9 # Anime BD Tier 01 (Top SeaDex Muxers) - - ed7f1e315e000aef424a58517fa48727 # Anime BD Tier 02 (SeaDex Muxers) - - 096e406c92baa713da4a72d88030b815 # Anime BD Tier 03 (SeaDex Muxers) - quality_profiles: - - name: Anime Subs - - base_url: http://sonarr_v3:8989 - api_key: bf99da49d0b0488ea34e4464aa63a0e5 - quality_definition: series - release_profiles: - - trash_ids: - - EBC725268D687D588A20CBC5F97E538B # Low Quality Groups - - 1B018E0C53EC825085DD911102E2CA36 # Release Sources (Streaming Service) - - 71899E6C303A07AF0E4746EFF9873532 # P2P Groups + Repack/Proper -``` - -In the example above, two separate instances, each with its own API key, will be updated. One -instance is for Anime only. The other is for Series (TV) only. And since I'm using two instances, I -don't bother with tags, so I am able to leave those elements out. Recyclarr knows when it's talking -to either a v3 or v4 instance of Sonarr and will correctly anticipate either `release_profiles` or -`custom_formats` (respectively). - -When you run `recyclarr sonarr` (specify `--config` if you aren't using the default `recyclarr.yml`) -it will update both instances. - -## Synchronize a lot of custom formats for a single quality profile - -Scenario: *"I want to be able to synchronize a list of custom formats to Radarr. In addition, I want -the scores in the guide to be applied to a single quality profile."* - -Solution: - -```yml -radarr: - - base_url: http://localhost:7878 - api_key: 87674e2c316645ed85696a91a3d41988 - - custom_formats: - # Advanced Audio from the guide - - trash_ids: - - 496f355514737f7d83bf7aa4d24f8169 # TrueHD ATMOS - - 2f22d89048b01681dde8afe203bf2e95 # DTS X - - 417804f7f2c4308c1f4c5d380d4c4475 # ATMOS (undefined) - - 1af239278386be2919e1bcee0bde047e # DD+ ATMOS - - 3cafb66171b47f226146a0770576870f # TrueHD - - dcf3ec6938fa32445f590a4da84256cd # DTS-HD MA - - a570d4a0e56a2874b64e5bfa55202a1b # FLAC - - e7c2fcae07cbada050a0af3357491d7b # PCM - - 8e109e50e0a0b83a5098b056e13bf6db # DTS-HD HRA - - 185f1dd7264c4562b9022d963ac37424 # DD+ - - f9f847ac70a0af62ea4a08280b859636 # DTS-ES - - 1c1a4c5e823891c75bc50380a6866f73 # DTS - - 240770601cc226190c367ef59aba7463 # AAC - - c2998bd0d90ed5621d8df281e839436e # DD - quality_profiles: - - name: SD -``` - -## Manually assign different scores to multiple custom formats - -Scenario: *"I want to synchronize custom formats to Radarr or Sonarr. I also do not want to use the -scores in the guide for some of the CFs. Instead, I want to assign my own distinct score to some -custom formats in a single quality profile."* - -Solution: - -```yml -radarr: - - base_url: http://localhost:7878 - api_key: 87674e2c316645ed85696a91a3d41988 - - custom_formats: - # Take scores in the guide for these 3 - - trash_ids: - - 3cafb66171b47f226146a0770576870f # TrueHD - - dcf3ec6938fa32445f590a4da84256cd # DTS-HD MA - - a570d4a0e56a2874b64e5bfa55202a1b # FLAC - quality_profiles: - - name: SD - - # Assign manual scores to the 3 below CFs, each added to the same profile - - trash_ids: [496f355514737f7d83bf7aa4d24f8169] # TrueHD ATMOS - quality_profiles: - - name: SD - score: 100 - - trash_ids: [2f22d89048b01681dde8afe203bf2e95] # DTS X - quality_profiles: - - name: SD - score: 200 - - trash_ids: [417804f7f2c4308c1f4c5d380d4c4475] # ATMOS (undefined) - quality_profiles: - - name: SD - score: 300 -``` - -The configuration is structured around assigning multiple custom formats the same way to just a few -quality profiles. It starts to look more redundant and ugly when you want fine-grained control over -the scores, especially if its on a per-single-custom-format basis. - -## Assign custom format scores the same way to multiple quality profiles - -You can assign custom format scores (from the guide) to multiple profiles (all the same way): - -```yml -radarr: - - base_url: http://localhost:7878 - api_key: 87674e2c316645ed85696a91a3d41988 - - custom_formats: - - trash_ids: - - 496f355514737f7d83bf7aa4d24f8169 # TrueHD ATMOS - - 2f22d89048b01681dde8afe203bf2e95 # DTS X - - 417804f7f2c4308c1f4c5d380d4c4475 # ATMOS (undefined) - - 1af239278386be2919e1bcee0bde047e # DD+ ATMOS - - 3cafb66171b47f226146a0770576870f # TrueHD - quality_profiles: - - name: SD - - name: Ultra-HD -``` - -Quality profiles named `HD` and `Ultra-HD` will all receive the same scores for the same custom -formats. - -You can also choose to override the score (for all custom formats!) in one profile: - -```yml -radarr: - - base_url: http://localhost:7878 - api_key: 87674e2c316645ed85696a91a3d41988 - - custom_formats: - - trash_ids: - - 496f355514737f7d83bf7aa4d24f8169 # TrueHD ATMOS - - 2f22d89048b01681dde8afe203bf2e95 # DTS X - - 417804f7f2c4308c1f4c5d380d4c4475 # ATMOS (undefined) - - 1af239278386be2919e1bcee0bde047e # DD+ ATMOS - - 3cafb66171b47f226146a0770576870f # TrueHD - quality_profiles: - - name: SD - score: 100 # This score is assigned to all 5 CFs in this profile - - name: Ultra-HD # Still uses scores from the guide -``` - -## Scores in a quality profile should be set to zero if it wasn't listed in config - -Scenario: *"I want only the custom formats I assign to a quality profile to be assigned scores. -Scores for other custom formats, **including those I manually assign**, should be reset back to -zero."* - -```yml -radarr: - - base_url: http://localhost:7878 - api_key: 87674e2c316645ed85696a91a3d41988 - - custom_formats: - - trash_ids: - - 1c7d7b04b15cc53ea61204bebbcc1ee2 # HQ - - - trash_ids: - - 2f22d89048b01681dde8afe203bf2e95 # DTS X - - 3cafb66171b47f226146a0770576870f # TrueHD - quality_profiles: - - name: SD - reset_unmatched_scores: true - - name: Ultra-HD -``` - -Let's say you have three custom formats added to Radarr: "DTS X", "TrueHD", and "HD". Since only the -first two are listed in the `trash_ids` array, what happens to "HD"? Since two quality profiles are -specified above, each with a different setting for `reset_unmatched_scores`, the behavior will be -different: - -- The `SD` quality profile will always have the score for "HD" set to zero (`0`). -- The `Ultra-HD` quality profile's score for "HD" will never be altered. - -The `reset_unmatched_scores` setting basically determines how scores are handled for custom formats -that exist in Radarr but are not in the list of `trash_ids` in config. As shown in the example -above, you set it to `true` which results in unmatched scores being set to `0`, or you can set it to -`false` (or leave it omitted) in which case Recyclarr will not alter the value. - -Which one should you use? That depends on how much control you want Recyclarr to have. If you use -Recyclarr to supplement manual changes to your profiles, you probably want it set to `false` so it -doesn't clobber your manual edits. Otherwise, set it to `true` so that scores aren't left over when -you add/remove custom formats from a profile. diff --git a/wiki/Configuration-Reference.md b/wiki/Configuration-Reference.md deleted file mode 100644 index c2247151..00000000 --- a/wiki/Configuration-Reference.md +++ /dev/null @@ -1,273 +0,0 @@ -Reference documentation for the YAML configuration. For various examples, see the [Configuration -Examples] page. - -[Configuration Examples]: https://github.com/recyclarr/recyclarr/wiki/Configuration-Examples - -# Summary - -The Recyclarr program utilizes YAML for its configuration files. The configuration can be set up -multiple ways, offering a lot of flexibility: - -- You may use one or more YAML files simultaneously, allowing you to divide your configuration - properties up in such a way that you can control what gets updated based on which files you - specify. - -- Each YAML file may have one or more service configurations. This means you can have one file - define settings for just Sonarr, Radarr, or both services. The program will only read the - configuration from the file relevant for the specific service subcommand you specified (e.g. - `recyclarr sonarr` will only read the Sonarr config in the file, even if Radarr config is - present). - -> **Remember**: If you do not specify the `--config` argument, the program will look for -> `recyclarr.yml` in the [application data directory][FileStructure]. - -[FileStructure]: https://github.com/recyclarr/recyclarr/wiki/File-Structure - -# YAML Reference - -Table of Contents - -- [All Services](#all-services) - - [Basic Settings](#basic-settings) - - [Custom Format Settings](#custom-format-settings) -- [Sonarr](#sonarr) - - [Custom Format Settings](#custom-format-settings-1) - - [Quality Definition Settings](#quality-definition-settings) - - [Release Profile Settings](#release-profile-settings) -- [Radarr](#radarr) - - [Custom Format Settings](#custom-format-settings-2) - - [Quality Definition Settings](#quality-definition-settings-1) - -## All Services - -The below settings are applicable to both Sonarr and Radarr. - -### Basic Settings - -- `base_url` **(Required)**
- The base URL of your instance. Basically this is the URL you bookmark to get to the front page. - -- `api_key` **(Required)**
- The API key that Recyclarr should use to synchronize settings to your instance. You can obtain - your API key by going to `Settings > General` and copy & paste the "API Key" under the "Security" - group/header. - -### Custom Format Settings - -> ❗ **Notice** ❗
-> For Sonarr: version 4 or greater is **required** for Custom Format support to work. - -For details on the way Custom Formats are synchronized, visit the [[Custom Format Synchronization]] -page. - -- `delete_old_custom_formats` (Optional; *Default: `false`*)
- If enabled, custom formats that you remove from your YAML configuration OR that are removed from - the guide will be deleted from your Radarr instance. Note that this *only* applies to custom - formats that Recyclarr has synchronized to Radarr. Custom formats that you have added manually in - Radarr **will not be deleted** if you enable this setting. - -- `custom_formats` (Optional; *Default: No custom formats are synced*)
- A list of one or more sets of custom formats each with an optional set of quality profiles names - that identify which quality profiles to assign the scores for those custom formats to. The child - properties documented below apply to each element of this list. - - - `trash_ids` (Optional; *`names` is required if not used*)
- A list of one or more Trash IDs of custom formats to synchronize to Radarr. The IDs *must* be - taken from the value of the `"trash_id"` property in the JSON itself. It will look like the - following: - - ```json - { - "trash_id": "496f355514737f7d83bf7aa4d24f8169", - } - ``` - - **TIP:** To ease the readability concerns of using IDs instead of names, leave a comment beside - the Trash ID in your configuration so it can be easily identified later. For example: - - ```yml - trash_ids: - - 5d96ce331b98e077abb8ceb60553aa16 # dovi - - a570d4a0e56a2874b64e5bfa55202a1b # flac - ``` - - > **A Few Things to Remember** - > - > - If `delete_old_custom_formats` is set to true, custom formats are **deleted** in Radarr if - > you remove them from this list. - > - It's OK for the same custom format to exist in multiple lists of `trash_ids`. Recyclarr will - > only ever synchronize it once. Allowing it to be specified multiple times allows you to - > assign it to different profiles with different scores. - - - `quality_profiles` (Optional; *Default: No quality profiles are changed*)
- One or more quality profiles to update with the scores from the custom formats listed above. - Scores are taken from the guide by default, with an option to override the score for all of - them. Each object in the list must use the properties below. - - - `name` **(Required)**
- The name of one of the quality profiles in Radarr. - - - `score` (Optional; *Default: Use scores from the guide*)
- A positive or negative number representing the score to apply to *all* custom formats listed - in the `names` list. A score of `0` is also acceptable, which effectively disables the custom - formats without having to delete them. - - - `reset_unmatched_scores` (Optional; *Default: `false`*)
- If set to `true`, enables setting scores to `0` in quality profiles where either a name was - not mentioned in the `names` array *or* it was in that list but did not get a score (e.g. no - score in guide). If `false`, scores are never altered unless it is listed in the `names` array - *and* has a valid score to assign. - -## Sonarr - -```yml -sonarr: - - base_url: http://localhost:8989 - api_key: f7e74ba6c80046e39e076a27af5a8444 - - # Quality Definition Settings - quality_definition: hybrid - - # Release Profile Settings - release_profiles: - - trash_ids: - - d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile - - 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile - strict_negative_scores: true - tags: [anime] - - trash_ids: - - EBC725268D687D588A20CBC5F97E538B # Low Quality Groups - - 1B018E0C53EC825085DD911102E2CA36 # Release Sources (Streaming Service) - - 71899E6C303A07AF0E4746EFF9873532 # P2P Groups + Repack/Proper - strict_negative_scores: false - tags: [tv] - - trash_ids: [76e060895c5b8a765c310933da0a5357] # Optionals - filter: - include: - - 436f5a7d08fbf02ba25cb5e5dfe98e55 # Ignore Dolby Vision without HDR10 fallback - - f3f0f3691c6a1988d4a02963e69d11f2 # Ignore The Group -SCENE - tags: [tv] -``` - -### Custom Format Settings - -> ❗ **Notice** ❗
-> Sonarr version 4 or greater is **required** for Custom Format support to work. - -See the [Custom Format Settings](#custom-format-settings) section under "All Services" at the top -for more information. - -### Quality Definition Settings - -- `quality_definition` (Optional)
- A quality definition type found by running the `recyclarr sonarr --list-qualities` command that - identifies the quality size settings that should be parsed and uploaded to Sonarr. - - There's one special case type here that won't appear in the output of the above command, nor is it - one that exists in the guide: `hybrid`. It is a combination of both the `anime` and `series` - quality definitions that is calculated by comparing each quality and taking both the smallest - minimum and largest maximum values. The purpose of the `hybrid` type is to build the most - permissive quality definition that the guide will allow. It's a good idea to use this one if you - want more releases to be blocked by your release profiles instead of quality. - -### Release Profile Settings - -> 💀 **Deprecation Notice** 💀
-> Release Profiles are deprecated and may not be used in Sonarr version 4 or greater! - -- `release_profiles` (Optional; *Default: No release profiles are synced*)
- A list of release profiles to parse from the guide. Each object in this list supports the below - properties. - - - `trash_ids` **(Required)**
- A list of one or more Trash IDs taken from [the Trash Guide Sonarr JSON files][sonarrjson]. - - - `strict_negative_scores` (Optional; *Default: `false`*)
- Enables preferred term scores less than 0 to be instead treated as "Must Not Contain" (ignored) - terms. For example, if something is "Preferred" with a score of `-10`, it will instead be put in - the "Must Not Contains" section of the uploaded release profile. Must be `true` or `false`. - - - `tags` (Optional; *Default: Empty list*)
- A list of one or more strings representing tags that will be applied to this release profile. - Tags are created in Sonarr if they do not exist. All tags on an existing release profile (if - present) are removed and replaced with only the tags in this list. If no tags are specified, no - tags will be set on the release profile. - - - `filter` (Optional)
- Defines various ways that release profile terms from the guide are synchronized with Sonarr. Any - filters below that takes a list of `trash_id` values, those values come, again, from the [Sonarr - JSON Files][sonarrjson]. There is a `trash_id` field next to each `term` field; that is what you - use. - - - `include`
- A list of `trash_id` values representing terms (Required, Ignored, or Preferred) that should - be included in the created Release Profile in Sonarr. Terms that are NOT specified here are - excluded automatically. Not compatible with `exclude` and will take precedence over it. - - - `exclude`
- A list of `trash_id` values representing terms (Required, Ignored, or Preferred) that should - be excluded from the created Release Profile in Sonarr. Terms that are NOT specified here are - included automatically. Not compatible with `include`; this list is not used if it is present. - -[sonarrjson]: https://github.com/TRaSH-/Guides/tree/master/docs/json/sonarr - -## Radarr - -```yml -radarr: - - base_url: http://localhost:7878 - api_key: bf99da49d0b0488ea34e4464aa63a0e5 - - # Quality Definition Settings - quality_definition: - type: movie - preferred_ratio: 0.5 - - # Custom Format Settings - delete_old_custom_formats: false - custom_formats: - - trash_ids: - - ed38b889b31be83fda192888e2286d83 #BR-DISK - - 90cedc1fea7ea5d11298bebd3d1d3223 #EVO (no WEBDL) - - 90a6f9a284dff5103f6346090e6280c8 #LQ - - dc98083864ea246d05a42df0d05f81cc #x265 (720/1080p) - - b8cd450cbfa689c0259a01d9e29ba3d6 #3D - - ae9b7c9ebde1f3bd336a8cbd1ec4c5e5 #No-RlsGroup - - 7357cf5161efbf8c4d5d0c30b4815ee2 #Obfuscated - - 5c44f52a8714fdd79bb4d98e2673be1f #Retags - - b6832f586342ef70d9c128d40c07b872 #Bad Dual Groups - - 923b6abef9b17f937fab56cfcf89e1f1 #DV (WEBDL) - quality_profiles: - - name: HD-1080p - - name: HD-720p2 - score: -1000 - - trash_ids: - - 496f355514737f7d83bf7aa4d24f8169 #TrueHD ATMOS - - 2f22d89048b01681dde8afe203bf2e95 #DTS X - quality_profiles: - - name: SD -``` - -### Custom Format Settings - -See the [Custom Format Settings](#custom-format-settings) section under "All Services" at the top -for more information. - -### Quality Definition Settings - -- `quality_definition` (Optional)
- Specify information related to Radarr quality definition processing here. Only the following child - properties are permitted. If not specified, no quality definitions will be synced. - - - `type` **(Required)**
- A quality definition type found by running the `recyclarr radarr --list-qualities` command that - identifies the quality size settings that should be parsed and uploaded to Radarr. - - - `preferred_ratio` (Optional; *Default: `1.0`*)
- A value `0.0` to `1.0` that represents the percentage (interpolated) position of that middle - slider you see when you enable advanced settings on the Quality Definitions page in Radarr. A - value of `0.0` means the preferred quality will match the minimum quality. Likewise, `1.0` will - match the maximum quality. A value such as `0.5` will keep it halfway between the two. - - Any value less than `0` or greater than `1` will result in a warning log printed and the value - will be clamped. diff --git a/wiki/Docker.md b/wiki/Docker.md deleted file mode 100644 index bce5906d..00000000 --- a/wiki/Docker.md +++ /dev/null @@ -1,191 +0,0 @@ -Recyclarr has an official Docker image hosted by the Github Container Registry (GHCR). The image -name is `ghcr.io/recyclarr/recyclarr`. - -## Docker Compose Example - -Before we get into the details of how to use the Docker image, I want to start with an example. I -personally hardly ever run `docker` commands directly. Instead, I use `docker compose` mainly -because the `docker-compose.yml` file is a fantastic way to keep configuration details in one place. -Thus, for the remainder of this page, all instruction and advice will be based on the example YAML -below. I highly recommend you set up your own `docker-compose.yml` this way. - -Note that the below example should not be used verbatim. It's meant for example purposes only. Copy -& paste it but make the appropriate and necessary changes to it for your specific use case. - -```yml -version: '3' - -networks: - recyclarr: - name: recyclarr - external: true - -services: - recyclarr: - image: ghcr.io/recyclarr/recyclarr - container_name: recyclarr - init: true - user: 1000:1000 - networks: [recyclarr] - volumes: - - ./config:/config - environment: - - TZ=America/Santiago -``` - -Here is a breakdown of the above YAML: - -- `networks`
- You are going to ultimately want Recyclarr to be able to connect to your Sonarr and Radarr - instances. How you have Radarr and Sonarr hosted on your system will greatly impact how this part - gets set up. In my case, I have a dedicated docker bridge network (in this example, named - `recyclarr`) for those services. Naturally, that means I want Recyclarr to also run on that bridge - network so it can access those services without going out and back in through my reverse proxy. -- `image`
- The official Recyclarr image, hosted on Github. -- `container_name`
- Optional, but I don't want the funky `prefix_recyclarr` name that Docker Compose uses for services - by default. -- `init`
- **Required**: This will ensure that the container can be stopped without terminating it when you - run `docker compose down` or `docker compose stop`. Internally, this runs Recyclarr using - [tini](https://github.com/krallin/tini). Please visit that repo to understand the benefits in - detail, if you're interested. -- `user`
- Optional User and Group ID you want to run the container as. Recyclarr will run using this UID:GID - and any files it creates in your `/config` volume will also be owned by this user and group. The - default for this, if not specified, is `1000:1000`. - -## Tags - -Tags for the docker image are broken down into the various components of the semantic version number -following the format of `X.Y.Z`, where: - -- `X`: Represents a *major* release containing breaking changes. -- `Y`: Represents a *feature* release. -- `Z`: Represents a *bugfix* release. - -The structure of the tags are described by the following table. Assume for example purposes we're -talking about `v2.1.2`. The table is sorted by *risk* in descending order. In other words, if you -value *stability* the most, you want the bottom row. If you value being on *the bleeding edge* -(highest risk), you want the top row. - -| Tag | Description | -| -------- | ----------------------------------------------------------------------- | -| `edge` | Docker and Recyclarr changes on `master`. **Potentially unstable!** | -| `latest` | Latest stable release, no matter what, including breaking changes | -| `2` | Latest *feature* and *bugfix* release; manual update for major releases | -| `2.1` | Latest *bugfix* release; manual update if you want new features | -| `2.1.2` | Exact release; no automatic updates | - -## Configuration - -### Volumes - -- `/config`
- This is the application data directory for Recyclarr. In this directory, files like - `recyclarr.yml` and `settings.yml` exist, as well as `logs`, `cache`, and other directories. - -### Environment - -- `CRON_SCHEDULE` (Default: `@daily`)
- Standard cron syntax for how often you want Recyclarr to run (see [Cron Mode](#cron-mode)). - -- `TZ` (Default: `UTC`)
- The time zone you want to use for Recyclarr's local time in the container. - -## Modes - -The docker container can operate in one of two different ways, which are documented below. - -**NOTE:** `recyclarr.yml` does not exist the first time you run the container. You will get an error -until you either copy it manually into the volume or run `recyclarr create-config` manually. - -### Manual Mode - -In manual mode, the container starts up, runs a user-specified operation, and then exits. This is -semantically identical to running Recyclarr directly on your host machine, but without all of the -set up requirements. - -The general syntax is: - -```txt -docker compose run --rm recyclarr [subcommand] [options] -``` - -Where: - -- `[subcommand]` is one of the supported Recyclarr subcommands, such as `sonarr` and `radarr`. -- `[options]` are any options supported by that subcommand (e.g. `--debug`, `--preview`). - -Examples: - -```sh -# Sync Sonarr with debug logs -docker compose run --rm recyclarr sonarr --debug - -# Do a preview (dry run) sync for Radarr -docker compose run --rm recyclarr radarr --preview --debug -``` - -**TIP:** The `--rm` option ensures the container is deleted after it runs (without it, your list of -stopped containers will start to grow the more often you run it manually). - -#### Warning about `docker exec` - -I will not support any usage of `docker exec`, for now. It's far too error prone and can result in -mixed file permissions in Recyclarr's app data directory (the `/config` volume). Please use `docker -run --rm` instead (documented in the previous section). - -When you run `docker exec` without the `--user` option, commands are executed as the default -internal user, which is `1000:1000`. If you absolutely insist on using this command, ensure you -specify the `--user` option using the same UID:GID that you use in `docker run` and that matches -your volume's file ownership. - -### Cron Mode - -In this mode, no immediate action is performed. Rather, the container remains alive and continuously -runs both Sonarr and Radarr sync at whatever `CRON_SCHEDULE` you set (default is daily). - -If either the Sonarr or Radarr sync operations fail, they will not prevent each other from -proceeding. In other words, if the order the sync happens is first Sonarr and then Radarr, if Sonarr -fails, the Radarr sync will still proceed after. From a linux shell perspective, it effectively runs -this command: - -```sh -recyclarr sonarr; recyclarr radarr -``` - -To enter Cron Mode, you simply start the container in background mode: - -```sh -docker compose up -d -``` - -This runs it without any subcommand or options, which will result in this mode being used. - -## Troubleshooting - -### Permission Issues - -The `/config` volume is very sensitive to user changes in the container. For example, if you first -run the container using `user: 1000:1000` and then run a second time using `user: 1500:1500`, you -are likely to get errors. This is because files that Recyclarr creates are owned by the user & group -you specify. Not all files can be used by multiple users. - -If you change your user and/or group IDs, it is your responsibility to update the ownership of files -in the `/config` volume so that they match the UID and GID you are specifying. This can be done -through the `chown` command and may require root permissions on your host system. - -### Error Messages - -Below is a list of error messages you may encounter along with possible solutions. - -- Permission Denied on `FETCH_HEAD` - - ```txt - LibGit2Sharp.LockedFileException: failed open - '/config/repo/.git/FETCH_HEAD' is locked: Permission denied - ``` - - This is due to inconsistent permissions in your `/config` volume. See the "Permission Issues" - section at the start of the Troubleshooting section for the solution. diff --git a/wiki/Features.md b/wiki/Features.md deleted file mode 100644 index a01cda84..00000000 --- a/wiki/Features.md +++ /dev/null @@ -1,37 +0,0 @@ -A comprehensive list of features in Recyclarr. - -## Sonarr Features - -### Release Profiles - -- "Preferred", "Must Not Contain", and "Must Contain" terms from guides are reflected in - corresponding release profile fields in Sonarr. -- "Include Preferred when Renaming" is properly checked/unchecked depending on explicit mention of - this in the guides. -- Release Profiles get created if they do not exist, or updated if they already exist. -- Tags can be added to any updated or created profiles. Tags are created for you if they do not - exist. -- Ability to convert preferred with negative scores to "Must not contain" terms. -- Terms mentioned as "optional" in the guide can be selectively included or excluded; based entirely - on user preference. -- Convenient command line options to get information from the guide to more easily add it to your - YAML configuration. - -### Quality Definitions - -- Anime and Series (Non-Anime) quality definitions from the guide. -- "Hybrid" type supported that is a mixture of both. - -## Radarr Features - -### Quality Definitions - -- Movie quality definition from the guide - -### Custom Formats - -- A user-specified list of custom formats are synchronized to Radarr from the TRaSH guides. -- Scores from the guides can be synchronized to quality profiles of your choosing. -- User can specify their own scores for custom formats (instead of using the guide score). -- Option to enable automatic deletion custom formats in Radarr when they are removed from config or - the guide. diff --git a/wiki/File-Structure.md b/wiki/File-Structure.md deleted file mode 100644 index 41f87586..00000000 --- a/wiki/File-Structure.md +++ /dev/null @@ -1,25 +0,0 @@ -This page describes the general file structure used by Recyclarr for its data. Many of these are -platform-specific. - -## Application Data Directory - -The application data directory is the root location for Recyclarr's files. With the exception of the -main `recyclarr.yml` file, everything that Recyclarr reads or writes, by default, starts with this -path. - -| Platform | Location | -| -------- | ----------------------------------------- | -| Windows | `%APPDATA%\recyclarr` | -| Linux | `~/.config/recyclarr` | -| MacOS | `~/Library/Application Support/recyclarr` | - -## Default YAML Configuration File - -The default YAML configuration file is named `recyclarr.yml` and it is always located in the -application data directory (listed above, listed for your platform). - -For backward compatibility, if the `recyclarr.yml` file is located adjacent to your `recyclarr` -executable, that will be loaded *first* and a warning is printed to the console. In this scenario, -even if a `recyclarr.yml` file exists in your application data directory, *it will not be loaded!* - -The solution is to delete or move the `recyclarr.yml` sitting next to the executable. diff --git a/wiki/Migration-System.md b/wiki/Migration-System.md deleted file mode 100644 index fd882b8a..00000000 --- a/wiki/Migration-System.md +++ /dev/null @@ -1,54 +0,0 @@ -The Migration System allows Recyclarr to attempt certain automatic actions for the user. These -actions, referred to as Migration Steps, are usually in response to certain changes between releases -of Recyclarr (mostly major releases, which represent breaking changes). The overall goal of this -system is to reduce the amount of manual action a user must take. - -## Behavior - -1. When Recyclarr is executed, it first runs through all of the Migration Steps in a specific, - pre-determined order. -1. Each Migration Step is checked if it needs to run or not. - - If it needs to run, its actions are performed immediately. - - Otherwise, it is skipped and the next Migration Step is processed. - -Migration Steps can fail. When this happens, instructions are provided to the user on how to recover -and/or perform those steps manually. Regardless of the reason, Recyclarr will immediately exit and -cannot proceed until the advice output during the previous execution is followed. - -## Failure & Recovery - -When a Migration Step fails, processing of further steps is halted and the program exits. The -failure also results in diagnostic information and remediation steps being printed to the console: - -- A description of the Migration Step that failed. This is usually a description of what the step - was trying to do. -- A failure reason. Explains why the step failed and could not be processed. -- Remediation steps. One or more ways to solve the problem. Will likely either ask you to perform - the steps by hand or take some action to allow the migration step to succeed the next time - Recyclarr is executed. - -## Current Migration Steps - -The list below describes the migration steps that are performed today, under what conditions they -will be executed, and reasons why they might fail. Most of this information is already printed in -real time by Recyclarr in response to failures. - -### Rename app data directory from `trash-updater` to `recyclarr` - -- **When**: `v2.0` -- **What**: Renames your `trash-updater` app data directory to `recyclarr` automatically. -- **Why**: The application was renamed from Trash Updater to Recyclarr. Thus, the app data directory - name needed to follow suit. -- **How can it fail?** - - The `recyclarr` directory already exists. - - User lacks sufficient permissions on the filesystem. - -### Rename default `trash.yml` file to `recyclarr.yml` - -- **When**: `v2.0` -- **What**: Renames your `trash.yml` file to `recyclarr.yml` automatically. -- **Why**: The application was renamed from Trash Updater to Recyclarr. Thus, the app data directory - name needed to follow suit. -- **How can it fail?** - - The `recyclarr.yml` file already exists. - - User lacks sufficient permissions on the filesystem. diff --git a/wiki/Settings-Reference.md b/wiki/Settings-Reference.md deleted file mode 100644 index 3e2d8cbd..00000000 --- a/wiki/Settings-Reference.md +++ /dev/null @@ -1,95 +0,0 @@ -This page contains the YAML reference for Recyclarr settings. Settings support was introduced in -version `1.7.0`. - -The `settings.yml` file is located in the following locations (by default) depending on your -platform: - -| Platform | Location | -| -------- | ------------------------------------------------------ | -| Windows | `%APPDATA%\recyclarr\settings.yml` | -| Linux | `~/.config/recyclarr/settings.yml` | -| MacOS | `~/Library/Application Support/recyclarr/settings.yml` | - -Settings in this file affect the behavior of Recyclarr regardless of instance-specific configuration -for Radarr and Sonarr. - -If this file does not exist, Recyclarr will create it for you. Starting out, this file will be empty -and default behavior will be used. There is absolutely no need to touch this file unless you have a -specific reason to. It is recommended that you only add the specific properties for the -customizations you need and leave the rest alone. - -# Schema Validation - -A schema file is provided for `settings.yml` to help assist in editing the file. To use it, simply -add the below snippet to the first line in your `settings.yml` file: - -```yml -# yaml-language-server: $schema=https://raw.githubusercontent.com/recyclarr/recyclarr/master/schemas/settings-schema.json -``` - -If you use VS Code to edit your settings file and install the [YAML extension][yaml], it will -suggest properties you can use and show you documentation for each without having to reference this -page. - -[yaml]: https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml - -# YAML Reference - -Table of Contents - -- [Global Settings](#global-settings) -- [Repository Settings](#repository-settings) - -## Global Settings - -```yml -enable_ssl_certificate_validation: true -``` - -- `enable_ssl_certificate_validation`
- If set to `false`, SSL certificates are not validated. This is useful if you are connecting to a - Sonarr or Radarr instance using `https` and it is set up with self-signed certificates. Note that - disabling this setting is a **security risk** and should be avoided unless you are absolutely sure - what you are doing. - -## Repository Settings - -**NOTE**: Never edit files in the locally cloned repo managed by Recyclarr. It will always destroy -local changes in that repository. - -```yml -repository: - clone_url: https://github.com/TRaSH-/Guides.git - branch: master - sha1: e27659e3f90d9b60c1f0b0f204b2530bb2299b41 -``` - -- `clone_url` *(Default: `https://github.com/TRaSH-/Guides.git`)*
- A URL compatible with `git clone` that is used to clone the [Trash Guides - repository][official_repo]. This setting exists for enthusiasts that may want to instead have - Recyclarr pull data from a fork instead of the official repository. - -- `branch` *(Default: `master`)*
- The name of a branch to check out in the repository. - -- `sha1` *(Default: empty)*
- A SHA1 (commit hash) in Git to use. If specified, it overrides the `branch` setting. This SHA1 is - passed to `git reset --hard` to force your local clone to this specific revision in the - repository. If not specified, only the `branch` controls what revision is used in the repo. - -[official_repo]: https://github.com/TRaSH-/Guides - -## Log Janitor Settings - -The log janitor is responsible for cleaning up logs generated by Recyclarr each time a command is -executed. These settings allow the user to alter the default cleanup behavior. For example, you may -want logs to be cleaned up sooner or keep log files around longer. - -```yml -log_janitor: - max_files: 20 -``` - -- `max_files` *(Default: `20`)*
- The maximum number of log files to keep. If there are more log files than the max allowed here, - Log Janitor will remove the oldest log files. diff --git a/wiki/Troubleshooting.md b/wiki/Troubleshooting.md deleted file mode 100644 index 2301eece..00000000 --- a/wiki/Troubleshooting.md +++ /dev/null @@ -1,85 +0,0 @@ -The troubleshooting steps documented here are for the non-docker version of Recyclarr (running it -directly on a host machine). The [Docker] page has troubleshooting steps as well. - -[Docker]: https://github.com/recyclarr/recyclarr/wiki/Docker - -# Obtaining Debug Logs - -Recyclarr always outputs logs as files in a directory on your filesystem. Each execution of -Recyclarr yields a new file and those files always contain verbose (debug) logs. When reporting -issues, I ask that you always include logs from the file rather than the command line output since -Recyclarr will not include debug logs by default in the console output. - -Below is a list of locations where you can find the log directory depending on platform. - -| Platform | Location | -| -------- | ---------------------------------------------- | -| Windows | `%APPDATA%\recyclarr\logs` | -| Linux | `~/.config/recyclarr/logs` | -| MacOS | `~/Library/Application Support/recyclarr/logs` | - -# Errors & Solutions - -* On Mac or Linux OS, you may see the following error when you run `recyclarr`: - - ```txt - Failed to map file. open(/Users/foo/Downloads/recyclarr) failed with error 13 - Failure processing application bundle. - Couldn't memory map the bundle file for reading. - A fatal error occurred while processing application bundle - ``` - - This cryptic message is actually a permissions error, likely because your executable does not have - read permissions set. Simply run `chmod u+rx recyclarr` to add read + execute permissions on the - `recyclarr` executable. - -* When communicating with Radarr or Sonarr, you get the following exception message: - - > FlurlParsingException: Response could not be deserialized to JSON: `GET - > http://hostname:6767/api/v3/customformat?apikey=SNIP` ---> - > Newtonsoft.Json.JsonSerializationException: Deserialized JSON type - > 'Newtonsoft.Json.Linq.JArray' is not compatible with expected type - > 'Newtonsoft.Json.Linq.JObject'. Path '', line 1, position 2. - - This means your Base URL is missing from the URL you specified in the YAML. See issue [#42] for - more details. - -* On Ubuntu 22.04 or derivatives when you run `recyclarr radarr` you will get the following error: - - ```txt - [ERR] An exception occurred during git operations on path: /home/REDACTED/.config/recyclarr/repo - LibGit2Sharp.LibGit2SharpException: could not load ssl libraries - ------ - [INF] Deleting local git repo and retrying git operation... - [1] 257872 segmentation fault (core dumped) ./recyclarr radarr - ``` - - Ubuntu and Fedora moved from libssl 1.1 to libssl 3.0 in version 22.04 and 36 respectively. This - currently breaks Recyclarr. See issue [#54] for more details. - - As a workaround, you can install libssl-1.1 from an earlier version, however, this might impact - other applications. Instructions are below for various platforms. Choose the one that best fits - your scenario. - - * On Ubuntu 22.04 x64 (64-bit) run the following commands in the shell - - ```sh - wget http://mirrors.kernel.org/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.2_amd64.deb - sudo dpkg -i libssl1.1_1.1.1l-1ubuntu1.2_amd64.deb - ``` - - * On Ubuntu 22.04 x86 (32-bit) run the following commands in the shell - - ```sh - wget http://mirrors.kernel.org/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.2_i386.deb - sudo dpkg -i libssl1.1_1.1.1l-1ubuntu1.2_i386.deb - ``` - - * On Fedora 36 you can simply install the compatibility package included in the default repo - - ```sh - sudo dnf install openssl1.1 - ``` - -[#42]: https://github.com/recyclarr/recyclarr/issues/42 -[#54]: https://github.com/recyclarr/recyclarr/issues/54 diff --git a/wiki/Upgrade-Guide.md b/wiki/Upgrade-Guide.md deleted file mode 100644 index ee84d7e9..00000000 --- a/wiki/Upgrade-Guide.md +++ /dev/null @@ -1,101 +0,0 @@ -# Version 2.0 - -This version introduces changes to the way Sonarr Release Profiles are specified in your YAML -configuration (`trash.yml`). As such, changes are required to your YAML to avoid errors. First, -visit the "Series Types" section to replace the `type` attribute with `trash_ids` as needed. Then -check out the "Term Filters" section to see about removing the `include_optionals` property. - -## Series Types - -The `type` property under `release_profiles` has been removed. Replaced by a new `trash_ids` -property. - -### Drop-In Replacement for Series - -For `series`, replace this: - -```yml -release_profiles: - - type: series -``` - -With this (or you can customize it if you want less): - -```yml -release_profiles: - - trash_ids: - - EBC725268D687D588A20CBC5F97E538B # Low Quality Groups - - 1B018E0C53EC825085DD911102E2CA36 # Release Sources (Streaming Service) - - 71899E6C303A07AF0E4746EFF9873532 # P2P Groups + Repack/Proper -``` - -### Drop-In Replacement for Anime - -For `series`, replace this: - -```yml -release_profiles: - - type: anime -``` - -With this (or you can customize it if you want less): - -```yml -release_profiles: - - trash_ids: - - d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile - - 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile -``` - -## Term Filters - -The following changes apply to YAML under the `filter` property. - -- Property `include_optional` removed. -- `include` and `exclude` properties added to explicitly choose terms to include or exclude, - respectively. - -### Replacement Examples - -If you are coming from YAML like this: - -```yml -release_profiles: - - trash_ids: [EBC725268D687D588A20CBC5F97E538B] - strict_negative_scores: false - filter: - include_optional: true - tags: - - tv -``` - -Simply remove the `include_optional` property above, to get this: - -```yml -release_profiles: - - trash_ids: [EBC725268D687D588A20CBC5F97E538B] - strict_negative_scores: false - tags: - - tv -``` - -## Files & Directories Renamed - -Since "Trash Updater" is now known as "Recyclarr", the v2.0 release will attempt to perform the -following each time you run it: - -- Rename the default `trash.yml` to `recyclarr.yml` (ignore this if you don't use it) -- Rename the app data directory from `trash-updater` to `recyclarr` - -These are explained in more detail on the [Migration System] page. - -## Other Notes - -- In this release, since you now have the ability to specifically include optionals that you want, I - recommend visiting the [Configuration Reference] and learning more about the `include` and - `exclude` filter lists. -- Migration steps have been added. See the `v2.0` migration steps documented on the [Migration - System] page. - -[Configuration Reference]: https://github.com/recyclarr/recyclarr/wiki/Configuration-Reference -[Migration System]: https://github.com/recyclarr/recyclarr/wiki/Migration-System