The documentation here is for an unreleased version of Recyclarr.
Visit the documentation site for the Current Version instead.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
sonarrtemplates) - 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 in Radarr
Check these locations in Radarr 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.
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
- Configuration Reference — All available settings
- Configuration Examples — Real-world configuration patterns
- Quick Setup Templates — Browse all available templates
- Secrets — Store API keys securely
- Docker Guide — Cron mode for automatic daily syncs
- CLI Reference — All commands and options
- File Structure — Where Recyclarr stores data