If you’re running a homelab media server, you’ve probably used Radarr and Sonarr to automate your movie and TV libraries. But keeping them tuned with the latest recommended quality profiles and naming standards from TRaSH-Guides can be a chore. That’s where Recyclarr comes in, it automatically syncs your Radarr and Sonarr settings with TRaSH-Guides so your setup stays clean and consistent.

This guide assumes you already have a media server stack (e.g., Sonarr/Radarr + Docker) up and running.

📑 Table of Contents

🤔 What is Recyclarr? (and why run it in Docker)

Recyclarr is an open-source tool that keeps your Sonarr and Radarr settings in sync with the latest recommendations from TRaSH-Guides. Instead of manually copying quality profiles, custom formats, and naming schemes, Recyclarr automatically pulls the newest configs from TRaSH-Guides and applies them to your apps. That means less time tweaking settings and more time enjoying a clean, consistent media library.

Updates happen on two levels:

  • The tool itself: updated by the Recyclarr project (easy to pull new versions via Docker).
  • The configs: fetched from TRaSH-Guides every time you run a sync, so you always get the latest community best practices.

Running Recyclarr in Docker makes it even easier:

  • Deploy with a single docker-compose up -d
  • Update by pulling the latest image and restarting the container
  • Keep everything isolated and reproducible, just like the rest of your media stack

For anyone already using Docker for Plex/Jellyfin, Sonarr, Radarr, or other homelab apps, Recyclarr slots right in with minimal effort.

🛠️ Docker Compose: config setup

1. Create the config folder

First, create a folder for Recyclarr’s configuration. This is where your recyclarr.yml file will live:

mkdir recyclarr

2. Add docker-compose.yml

Create a docker-compose.yml in the same directory with the following content:

version: "3.9"

# Optional: only needed if Sonarr/Radarr are in a different compose file
networks:
  media-server:
    external: true

services:
  recyclarr:
    image: ghcr.io/recyclarr/recyclarr:latest
    container_name: recyclarr
    networks:
      - media-server   # Optional (see explanation below)
    environment:
      - TZ=Europe/Amsterdam
    volumes:
      - ./config:/config   # Holds your recyclarr.yml
    restart: unless-stopped

In this example I’ve chosen to use a custom network. This is the approach I recommend if Radarr and Sonarr run in a different docker-compose.yml, since each Compose file creates its own private network by default. Containers in separate files can’t see each other unless you attach them to a shared external network.

Now to create that network (if you haven't already):

docker network create media-server

Then attach Sonarr, Radarr, and Recyclarr to it (even across different Compose projects).

Start recyclarr

Bring it up with:

docker compose up -d

This will start Recyclarr and automatically create the ./config folder on your host (if it doesn’t already exist). Inside that folder, you’ll add your recyclarr.yml configuration file in the next step.

📦 Configuration basics (`recyclarr.yml`)

The easiest way to get started with Recyclarr is by using the prebuilt configuration files. These come directly from the Recyclarr project and are aligned with TRaSH-Guides. For most setups, these configs “just work” with minimal effort.

You can find them here:

Example config

Place this file in ./recyclarr/recyclarr.yml:

radarr: 
  remux-web-1080p:
    base_url: http://radarr:7878
    api_key: YOUR_RADARR_API_KEY
    include:
      - template: radarr-quality-definition-movie
      - template: radarr-quality-profile-remux-web-1080p
      - template: radarr-custom-formats-remux-web-1080p

sonarr:
  web-1080p-v4:
    base_url: http://sonarr:8989
    api_key: YOUR_SONARR_API_KEY
    include:
      - template: sonarr-quality-definition-series
      - template: sonarr-v4-quality-profile-web-1080p
      - template: sonarr-v4-custom-formats-web-1080p

How the templates work

Each include: line pulls in a prebuilt block of settings. For example:

  • radarr-quality-profile-remux-web-1080p → creates a quality profile for Remux + WEB 1080p.
  • radarr-custom-formats-remux-web-1080p → applies the correct TRaSH-Guides custom formats and scores.

You don’t have to define points or custom formats yourself, Recyclarr fetches the latest rules directly from TRaSH-Guides and applies them to your profiles.

API keys

Recyclarr needs API keys to talk to your apps:

  • Sonarr → Settings → General → Security → API Key
  • Radarr → Settings → General → Security → API Key

Copy the keys and paste them into your config.

Recyclarr api key.png

Syncing Recyclarr

Once your recyclarr.yml is in place, run a sync:

docker-compose exec recyclarr recyclarr sync

This will connect to Sonarr and Radarr, update the quality profiles, and apply the custom formats from TRaSH-Guides.
Once the container is running with docker compose up -d, it will sync automatically on a schedule (daily by default), so you don’t need to trigger it manually.
If you prefer one-off runs, add the --rm flag so the container is removed after the sync finishes.

After the sync, you should now see the new quality profiles and custom formats inside Radarr and Sonarr, automatically created and linked to TRaSH-Guides.

And that’s it, at this point, Recyclarr is up and running and your profiles are ready for use! 🎉

💾 Optional: Customizing Recyclarr

The prebuilt configurations are designed to be simple and opinionated. For example, the Radarr profiles often only include two qualities (e.g., Remux and WEB). That’s perfectly fine if you want to keep things minimal, but in reality many people like to include more options (Blu-ray, HDTV, etc.) or add their own rules.

You can do this by extending the prebuilt templates with your own settings.

Example: adding qualities and a custom format

radarr:
  remux-web-1080p:
    base_url: http://radarr:7878
    api_key: YOUR_RADARR_API_KEY
    include:
      - template: radarr-quality-definition-movie
      - template: radarr-quality-profile-remux-web-1080p
      - template: radarr-custom-formats-remux-web-1080p

    quality_profiles:
      - name: Remux + WEB 1080p
        qualities:
          - name: Remux-1080p
          - name: WEB 1080p
            qualities:
              - WEBDL-1080p
              - WEBRip-1080p
          - name: Bluray-1080p
          - name: HDTV-1080p

    custom_formats:
      - trash_ids:
          - 90a6f9a284dff5103f6346090e6280c8
        assign_scores_to:
          - name: Remux + WEB 1080p
            score: -100000

In this example:

  • We override the quality profile to add more qualities beyond the two defaults from the template (Blu-ray and HDTV in addition to Remux/WEB).
  • We add a custom format for “Low Quality releases” and apply it to the same profile, so Radarr avoids grabbing those.

Note: If you already have a custom format with the same name in Radarr/Sonarr, Recyclarr will skip updating it. To ensure the new settings are applied, delete the existing custom format first and then run a sync.

The full list of available TRaSH IDs (custom formats you can add) can be found here:


For most users, the defaults from the templates are plenty. But if you want extra control over which qualities are allowed, or you want to filter out certain release types, this kind of customization gives you the flexibility to tailor everything to your preferences.

Also make sure after every change to run docker-compose exec recyclarr recyclarr sync

✅ Final Thoughts

Setting up quality profiles and custom formats in Sonarr and Radarr can be tedious, especially if you want to follow all the recommendations from TRaSH-Guides. Recyclarr takes that whole process off your plate. With a single sync, it creates the profiles for you, applies the right custom formats, and keeps everything updated as TRaSH-Guides evolves.

Running it in Docker makes the setup even easier, no manual installs, simple updates, and it just runs quietly in the background. Instead of spending time tweaking settings, you get a media server that’s always in line with community best practices, without the extra work.

Thanks for reading!

Recyclarr + Docker: Easy TRaSH-Guides Sync for Your Media Server