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