Skip to main content

Getting Started

This guide walks you through setting up Recyclarr to sync TRaSH Guide quality profiles to Radarr. By the end, you'll have a working quality profile with custom formats and proper media naming. No YAML expertise required.

Prerequisitesโ€‹

  • Radarr is running and accessible (Sonarr setup is similar โ€” just use sonarr templates)
  • You know where to find your API key (Settings โ†’ General โ†’ Security)

Step 1: Install Recyclarrโ€‹

Add the Recyclarr service to your existing docker-compose.yml file, or create a new one:

services:
recyclarr:
image: ghcr.io/recyclarr/recyclarr:8
container_name: recyclarr
user: 1000:1000
restart: unless-stopped
environment:
- TZ=America/New_York
volumes:
- ./config:/config

For detailed installation options (networking, tags, native install), see the Installation Guide.

Step 2: Choose a Quality Profileโ€‹

Recyclarr provides ready-to-use templates that match TRaSH Guide quality profiles. List them with:

docker compose run --rm recyclarr config list templates

You'll see available templates:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Sonarr โ”‚ Radarr โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ web-1080p โ”‚ hd-bluray-web โ”‚
โ”‚ web-2160p โ”‚ uhd-bluray-web โ”‚
โ”‚ anime-remux-1080p โ”‚ remux-web-1080p โ”‚
โ”‚ ... โ”‚ remux-web-2160p โ”‚
โ”‚ โ”‚ anime-remux-1080p โ”‚
โ”‚ โ”‚ ... โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

These correspond to profiles on the TRaSH Guides Radarr Quality Profiles page.

Step 3: Create Your Configurationโ€‹

Generate a config file from your chosen template. For example, to use the HD Bluray + WEB profile:

docker compose run --rm recyclarr config create --template hd-bluray-web

This creates config/configs/hd-bluray-web.yml with everything pre-configured. Open it and update base_url and api_key:

radarr:
hd-bluray-web:
base_url: http://radarr:7878 # Your Radarr URL
api_key: your_api_key_here # Radarr โ†’ Settings โ†’ General โ†’ API Key

Optionally, add this line if you want Recyclarr to delete custom formats it previously synced but are no longer in your configuration:

delete_old_custom_formats: true

That's it. The template already includes the quality definition, quality profile, and custom formats from the TRaSH Guide.

Step 4: Run Your First Syncโ€‹

docker compose run --rm recyclarr sync

You should see output like:

===========================================
Processing Radarr Server: [hd-bluray-web]
===========================================

[INF] Created 34 New Custom Formats
[INF] Total of 34 custom formats were synced
[INF] Created 1 Profiles: ["HD Bluray + WEB"]
[INF] A total of 1 profiles were synced. 1 contain quality changes and 1 contain updated scores
[INF] Total of 14 sizes were synced for quality definition movie
[INF] Completed at 12/16/2025 10:55:42

Step 5: Verify the Syncโ€‹

Check these locations in the service to confirm the sync worked:

  • Settings โ†’ Profiles โ€” Your new quality profile appears ("HD Bluray + WEB")
  • Settings โ†’ Custom Formats โ€” New custom formats with scores assigned
  • Settings โ†’ Quality โ€” Size ranges updated for each quality level

Adding More Profilesโ€‹

Want multiple quality profiles (e.g., both 1080p and 4K)? Add more guide-backed profiles to your existing config file.

Edit your hd-bluray-web.yml (or create a new config file) and add additional trash_id entries under quality_profiles. Here's an example with four profiles:

radarr:
main:
base_url: http://radarr:7878
api_key: your_api_key_here
delete_old_custom_formats: true

quality_definition:
type: movie

quality_profiles:
# HD Bluray + WEB (1080p)
- trash_id: d1d67249d3890e49bc12e275d989a7e9 # HD Bluray + WEB
reset_unmatched_scores:
enabled: true

# UHD Bluray + WEB (4K)
- trash_id: 64fb5f9858489bdac2af690e27c8f42f # UHD Bluray + WEB
reset_unmatched_scores:
enabled: true

# Remux + WEB 1080p
- trash_id: 9ca12ea80aa55ef916e3751f4b874151 # Remux + WEB 1080p
reset_unmatched_scores:
enabled: true

# Remux + WEB 2160p
- trash_id: fd161a61e3ab826d3a22d53f935696dd # Remux + WEB 2160p
reset_unmatched_scores:
enabled: true

Each guide-backed profile pulls its quality profile settings and custom format scores directly from the TRaSH Guides, so a single trash_id is all you need per profile.

tip

Each template also includes commented-out custom_format_groups for optional CF groups like streaming services and movie versions. See the Quick Setup Templates page for the full template contents, or run recyclarr config create --template to generate a file with all available groups.

Run docker compose run --rm recyclarr sync again, and all profiles will be created.

Adding Media Namingโ€‹

To sync TRaSH Guide naming formats, first see what's available:

docker compose run --rm recyclarr list naming radarr

Then add a media_naming section to your config:

radarr:
main:
base_url: http://radarr:7878
api_key: your_api_key_here

quality_definition:
type: movie

quality_profiles:
- trash_id: d1d67249d3890e49bc12e275d989a7e9 # HD Bluray + WEB
reset_unmatched_scores:
enabled: true

# Results visible in: Radarr โ†’ Settings โ†’ Media Management
media_naming:
folder: plex-tmdb
movie:
rename: true
standard: plex-tmdb

When to Customizeโ€‹

The templates provide the full TRaSH Guide recommendation. For most users, that's everything you need.

You only need a custom_formats: section if you want to:

  • Override a score โ€” Change the default score for a specific custom format
  • Add optional custom formats โ€” Include CFs marked as "optional" in the TRaSH Guides

For customization examples, see the Configuration Examples page.

Next Stepsโ€‹