docs: Wiki and other doc updates for 2.0 release

pull/64/head
Robert Dailey 2 years ago
commit 3c1ae692f4

@ -1,11 +1,11 @@
Special notes about behavior of Trash Updater with regards to the various services it supports will
be documented here.
Special notes about behavior of Recyclarr with regards to the various services it supports will be
documented here.
# Sonarr
## Sonarr
Each section below represents a topic covering certain behavior relevant to Sonarr.
## Release Profile Naming
### Release Profile Naming
The script procedurally generates a name for release profiles it creates. For the following example:
@ -15,8 +15,14 @@ The script procedurally generates a name for release profiles it creates. For th
The name is generated as follows:
- `[Trash]` is added by Trash Updater 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 Trash Updater will not touch).
- `[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/rcdailey/recyclarr/wiki/Migration-System

@ -1,4 +1,4 @@
Command line interface documentation for the `Trash` executable.
Command line interface documentation for the `recyclarr` executable.
## Subcommands
@ -18,20 +18,20 @@ These are optional arguments shared by *all* subcommands.
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 `trash.yml` will be used. It must be in the same directory as the
`trash` executable.
default configuration file named `recyclarr.yml` will be used. It must be in the same directory as the
`recyclarr` executable.
**Command Line Examples**:
```bash
# Default Config (trash.yml)
trash sonarr
# Default Config (recyclarr.yml)
recyclarr sonarr
# Single Config
trash sonarr --config ../myconfig.yml
recyclarr sonarr --config ../myconfig.yml
# Multiple Config
trash sonarr --config ../myconfig1.yml "files/my config 2.yml"
recyclarr sonarr --config ../myconfig1.yml "files/my config 2.yml"
```
### `--preview`
@ -90,3 +90,89 @@ Bluray-2160p Remux 204.4 400
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.
## 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 `trash.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 `trash.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 `trash.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

@ -11,7 +11,7 @@ Various scenarios supported using flexible configuration structure:
## Update as much as possible in both Sonarr and Radarr with a single config
Create a single configuration file (use the default `trash.yml` if you want to simplify your CLI
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:
@ -21,14 +21,12 @@ sonarr:
api_key: f7e74ba6c80046e39e076a27af5a8444
quality_definition: hybrid
release_profiles:
- type: anime
strict_negative_scores: true
tags:
- anime
- type: series
- trash_ids:
- EBC725268D687D588A20CBC5F97E538B # Low Quality Groups
- 1B018E0C53EC825085DD911102E2CA36 # Release Sources (Streaming Service)
- 71899E6C303A07AF0E4746EFF9873532 # P2P Groups + Repack/Proper
strict_negative_scores: false
tags:
- tv
tags: [tv]
radarr:
- base_url: http://localhost:7878
@ -38,11 +36,11 @@ radarr:
preferred_ratio: 0.5
```
Even though it's all in one file, Radarr settings are ignored when you run `trash sonarr` and vice
versa. To update both, just chain them together in your terminal, like so:
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
trash sonarr && trash radarr
recyclarr sonarr && recyclarr radarr
```
This scenario is pretty ideal for a cron job you have running regularly and you want it to update
@ -62,9 +60,10 @@ sonarr:
- base_url: http://localhost:8989
api_key: f7e74ba6c80046e39e076a27af5a8444
release_profiles:
- type: anime
tags:
- anime
- trash_ids:
- d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile
- 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile
tags: [anime]
```
`sonarr-quality-definition.yml`:
@ -79,7 +78,7 @@ sonarr:
Then run the following command:
```bash
trash sonarr --config sonarr-release-profiles.yml
recyclarr sonarr --config sonarr-release-profiles.yml
```
This will only update release profiles since you have essentially moved the `quality_definition`
@ -87,7 +86,7 @@ property to its own file. When you want to update both, you just specify both fi
you run the program:
```bash
trash sonarr --config sonarr-release-profiles.yml sonarr-quality-definition.yml
recyclarr sonarr --config sonarr-release-profiles.yml sonarr-quality-definition.yml
```
## Update multiple Sonarr instances in a single YAML config
@ -101,20 +100,25 @@ sonarr:
api_key: f7e74ba6c80046e39e076a27af5a8444
quality_definition: anime
release_profiles:
- type: anime
- trash_ids:
- d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile
- 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile
- base_url: http://instance_two:8989
api_key: bf99da49d0b0488ea34e4464aa63a0e5
quality_definition: series
release_profiles:
- type: series
- 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.
When you run `trash sonarr` (specify `--config` if you aren't using the default `trash.yml`) it will
update both instances.
When you run `recyclarr sonarr` (specify `--config` if you aren't using the default `recyclarr.yml`)
it will update both instances.
You can also split theses two instances across different YAML files if you do not want both to
update at the same time. There's an example of how to do that in a different section of this page.
@ -256,11 +260,11 @@ radarr:
```
However, especially in the case of DoVi, there are actually two custom formats with this name in the
guide. You'll get a warning from Trash Updater stating that it couldn't pick which one you wanted,
so it was skipped. To fix this, simply use `trash_ids` and refer to it by an ID. IDs are never
duplicated in the guide and also never change, so it's a robust and effective way to identify custom
formats. The downside is that they are less readable than a name, but using comments can help with
that. The example below demonstrates how to do this.
guide. You'll get a warning from Recyclarr stating that it couldn't pick which one you wanted, so it
was skipped. To fix this, simply use `trash_ids` and refer to it by an ID. IDs are never duplicated
in the guide and also never change, so it's a robust and effective way to identify custom formats.
The downside is that they are less readable than a name, but using comments can help with that. The
example below demonstrates how to do this.
```yml
radarr:
@ -279,7 +283,7 @@ custom format in the guide.
## Scores in a quality profile should be set to zero if it wasn't listed in config
Scenario: *"I completely rely on Trash Updater to set scores on my quality profiles. I never plan to
Scenario: *"I completely rely on Recyclarr to set scores on my quality profiles. I never plan to
manually set scores on those profiles. If I alter which custom format scores get assigned to a
quality profile, the old scores should be set back to 0 automatically for me."*
@ -309,9 +313,9 @@ be different:
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 `names` 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 Trash Updater will not alter the value.
`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 Trash Updater to have. If you
use Trash Updater 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.
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.

@ -3,7 +3,7 @@ Examples]] page.
# Summary
The Trash Updater program utilizes YAML for its configuration files. The configuration can be set up
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
@ -13,10 +13,11 @@ multiple ways, offering a lot of flexibility:
- 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.
`trash sonarr` will only read the Sonarr config in the file, even if Radarr config is present)
`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 `trash.yml`
> in the same directory where the executable lives.
> **Remember**: If you do not specify the `--config` argument, the program will look for
> `recyclarr.yml` in the same directory where the executable lives.
# YAML Reference
@ -43,16 +44,23 @@ sonarr:
# Release Profile Settings
release_profiles:
- type: anime
- trash_ids:
- d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile
- 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile
strict_negative_scores: true
tags:
- anime
- type: series
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_optional: true
tags:
- tv
include:
- 436f5a7d08fbf02ba25cb5e5dfe98e55 # Ignore Dolby Vision without HDR10 fallback
- f3f0f3691c6a1988d4a02963e69d11f2 # Ignore The Group -SCENE
tags: [tv]
```
### Basic Settings
@ -62,7 +70,7 @@ sonarr:
page.
- `api_key` **(Required)**<br>
The API key that Trash Updater should use to synchronize settings to your instance. You can obtain
The API key that Recyclarr should use to synchronize settings to your instance. You can obtain
your API key by going to `Sonarr > Settings > General` and copy & paste the "API Key" under the
"Security" group/header.
@ -91,11 +99,8 @@ sonarr:
A list of release profiles to parse from the guide. Each object in this list supports the below
properties.
- `type` **(Required)**<br>
Must be one of the following values:
- `anime`: Parse the [Anime Release Profile][sonarr_profile_anime] page from the TRaSH Guide.
- `series`: Parse the [WEB-DL Release Profile][sonarr_profile_series] page from the TRaSH Guide.
- `trash_ids` **(Required)**<br>
A list of one or more Trash IDs taken from [the Trash Guide Sonarr JSON files][sonarrjson].
- `strict_negative_scores` (Optional; *Default: `false`*)<br>
Enables preferred term scores less than 0 to be instead treated as "Must Not Contain" (ignored)
@ -108,16 +113,23 @@ sonarr:
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; *Default: Determined by child properties*)<br>
- `filter` (Optional)<br>
Defines various ways that release profile terms from the guide are synchronized with Sonarr. Any
combination of the below properties may be specified here:
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`<br>
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.
- `include_optional` (Optional; *Default: `false`*)<br>
Set to `true` to include terms marked "Optional" in the guide. If set to `false`, optional
terms are *not* synchronized to Sonarr.
- `exclude`<br>
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.
[sonarr_profile_anime]: https://trash-guides.info/Sonarr/Sonarr-Release-Profile-RegEx-Anime/
[sonarr_profile_series]: https://trash-guides.info/Sonarr/Sonarr-Release-Profile-RegEx/
[sonarrjson]: https://github.com/TRaSH-/Guides/tree/master/docs/json/sonarr
## Radarr
@ -158,7 +170,7 @@ radarr:
page.
- `api_key` **(Required)**<br>
The API key that Trash Updater should use to synchronize settings to your instance. You can obtain
The API key that Recyclarr should use to synchronize settings to your instance. You can obtain
your API key by going to `Radarr > Settings > General` and copy & paste the "API Key" under the
"Security" group/header.
@ -194,8 +206,8 @@ Synchronization]] page.
- `delete_old_custom_formats` (Optional; *Default: `false`*)<br>
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 Trash Updater has synchronized to Radarr. Custom formats that you have added manually
in Radarr **will not be deleted** if you enable this setting.
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*)<br>
A list of one or more sets of custom formats (by name and/or trash_id), each with an optional set
@ -233,7 +245,7 @@ Synchronization]] page.
>
> - 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 `names`. Trash Updater will
> - It's OK for the same custom format to exist in multiple lists of `names`. 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.
@ -252,12 +264,12 @@ Synchronization]] page.
rare cases where you might prefer (or need) to use the ID instead:
- Sometimes there are custom formats in the guide with the same name, such as "DoVi". In this
case, Trash Updater will issue you a warning instructing you to use the Trash ID instead of
the name to resolve the ambiguity.
- Trash IDs never change. Custom format names can change. Trash Updater keeps an internal cache
of every custom format its seen to reduce the need for your config names to be updated. But
it's not 100% fool proof. Using the ID could mean less config maintenance for you in the long
run at the expense of readability.
case, Recyclarr will issue you a warning instructing you to use the Trash ID instead of the
name to resolve the ambiguity.
- Trash IDs never change. Custom format names can change. Recyclarr keeps an internal cache of
every custom format its seen to reduce the need for your config names to be updated. But it's
not 100% fool proof. Using the ID could mean less config maintenance for you in the long run
at the expense of readability.
Most of the rules and semantics are identical to the `names` property, which is documented
above. Just apply that logic to the ID instead of the name.

@ -8,26 +8,26 @@ Custom format synchronization is broken up into three categories:
> **Important**
>
> Trash Updater will *never* touch custom formats that you create by hand, unless they share a name
> with a custom format in the guide. In general, Trash Updater must have been the one to create a
> custom format in order to do anything to it (update or delete).
> 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 Trash Updater allows it to more accurately detect changes to custom
formats in the TRaSH guides. This mainly helps cover changes like renames.
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 Trash Updater 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:
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%/trash-updater/cache`
- Linux: `~/.config/trash-updater/cache`
- MacOS: `~/Library/Application Support/trash-updater/cache`
- 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.
Trash Updater will manage it for you. However, sometimes a bug may cause an issue where deleting the
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

@ -13,4 +13,4 @@ This wiki is auto-generated from the main repository. If you want to contribute
here, please clone the main repo and edit files in the [wiki directory][1]. Pull request the changes
and when they are merged, a workflow will run that updates the wiki.
[1]: https://github.com/rcdailey/trash-updater/tree/master/wiki
[1]: https://github.com/rcdailey/recyclarr/tree/master/wiki

@ -0,0 +1,54 @@
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.

@ -1,20 +1,20 @@
This page contains the YAML reference for Trash Updater settings. Settings support was introduced in
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 depending on your platform:
| Platform | Location |
| -------- | ---------------------------------------------------------- |
| Windows | `%APPDATA%\trash-updater\settings.yml` |
| Linux | `~/.config/trash-updater/settings.yml` |
| MacOS | `~/Library/Application Support/trash-updater/settings.yml` |
| 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 Trash Updater regardless of instance-specific
configuration for Radarr and Sonarr.
Settings in this file affect the behavior of Recyclarr regardless of instance-specific configuration
for Radarr and Sonarr.
If this file does not exist, Trash Updater 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
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
@ -23,7 +23,7 @@ A schema file is provided for `settings.yml` to help assist in editing the file.
add the below snippet to the first line in your `settings.yml` file:
```yml
# yaml-language-server: $schema=https://raw.githubusercontent.com/rcdailey/trash-updater/master/schemas/settings-schema.json
# yaml-language-server: $schema=https://raw.githubusercontent.com/rcdailey/recyclarr/master/schemas/settings-schema.json
```
If you use VS Code to edit your settings file and install the [YAML extension][yaml], it will
@ -60,6 +60,6 @@ repository:
- `clone_url`<br>
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
Trash Updater pull data from a fork instead of the official repository.
Recyclarr pull data from a fork instead of the official repository.
[official_repo]: https://github.com/TRaSH-/Guides

@ -1,32 +1,32 @@
# Obtaining Debug Logs
Trash Updater always outputs logs as files in a directory on your filesystem. Each execution of
Trash Updater yields a new file and those files always contain verbose (debug) logs. When reporting
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
Trash Updater will not include debug logs by default in the console output.
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%\trash-updater\logs` |
| Linux | `~/.config/trash-updater/logs` |
| MacOS | `~/Library/Application Support/trash-updater/logs` |
| 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 `trash`:
* On Mac or Linux OS, you may see the following error when you run `recyclarr`:
```txt
Failed to map file. open(/Users/foo/Downloads/trash) failed with error 13
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 trash` to add read + execute permissions on the
`trash` executable.
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:
@ -39,14 +39,14 @@ Below is a list of locations where you can find the log directory depending on p
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:
* 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/trash-updater/repo
[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) ./trash radarr
[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

@ -0,0 +1,91 @@
# 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
```
## 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/rcdailey/recyclarr/wiki/Configuration-Reference
[Migration System]: https://github.com/rcdailey/recyclarr/wiki/Migration-System
Loading…
Cancel
Save