10 KiB
Recyclarr - TRaSH Guides Sync
Automatically sync TRaSH Guides recommendations to your Radarr and Sonarr instances.
Overview
Recyclarr keeps your Radarr and Sonarr configurations in sync with TRaSH Guides best practices:
- ✅ Quality Profiles: Optimal quality settings
- ✅ Custom Formats: Release group scoring
- ✅ Quality Definitions: File size recommendations
- ✅ Naming Formats: Consistent file naming
- ✅ Automated Sync: Runs on schedule (every 6 hours by default)
- ✅ Multi-Instance: Support multiple Radarr/Sonarr instances
Quick Start
1. Get API Keys
Radarr API Key:
# Visit https://radarr.fig.systems
# Settings → General → Security → API Key
Sonarr API Key:
# Visit https://sonarr.fig.systems
# Settings → General → Security → API Key
2. Create Configuration
cd ~/homelab/compose/media/automation/recyclarr
# Create config directory
mkdir -p config
# Copy example config
cp recyclarr.yml.example config/recyclarr.yml
# Edit with your API keys
nano config/recyclarr.yml
Update these values:
radarr:
radarr-main:
api_key: YOUR_RADARR_API_KEY_HERE # <- Replace this
sonarr:
sonarr-main:
api_key: YOUR_SONARR_API_KEY_HERE # <- Replace this
3. Deploy
docker compose up -d
4. Verify
Check the logs to see sync results:
docker logs recyclarr
You should see:
Processing configuration...
Syncing Radarr: radarr-main
Syncing Sonarr: sonarr-main
Sync completed successfully
Configuration
Basic Configuration
The config/recyclarr.yml file controls what gets synced.
Minimal example:
radarr:
radarr-main:
base_url: http://radarr:7878
api_key: abc123...
sonarr:
sonarr-main:
base_url: http://sonarr:8989
api_key: xyz789...
Quality Profiles
Radarr - HD Bluray + WEB:
radarr:
radarr-main:
quality_profiles:
- name: HD Bluray + WEB
upgrade:
allowed: true
until_quality: Bluray-1080p
qualities:
- name: Bluray-1080p
- name: WEB 1080p
- name: Bluray-720p
- name: WEB 720p
Sonarr - WEB-1080p:
sonarr:
sonarr-main:
quality_profiles:
- name: WEB-1080p
upgrade:
allowed: true
until_quality: WEB 1080p
qualities:
- name: WEB 1080p
- name: HDTV-1080p
- name: WEB 720p
Custom Formats
Custom formats score releases based on quality, source, and release group.
High-quality release groups (+10000 points):
custom_formats:
- trash_ids:
- 3a3ff47579026e76d6504ebea39390de # Remux Tier 01
- 9f98181fe5a3fbeb0cc29340da2a468a # Remux Tier 02
quality_profiles:
- name: HD Bluray + WEB
score: 10000
Unwanted formats (-10000 points):
custom_formats:
- trash_ids:
- ed38b889b31be83ffc192888e2286d83 # BR-DISK
- 90a6f9a284dff5103f6346090e6280c8 # LQ
- b8cd450cbfa689c0259a01d9e29ba3d6 # 3D
quality_profiles:
- name: HD Bluray + WEB
score: -10000
Find trash_ids:
Sync Schedule
Change sync frequency:
Edit .env:
# Every 6 hours (default)
CRON_SCHEDULE=0 */6 * * *
# Daily at 3 AM
CRON_SCHEDULE=0 3 * * *
# Every 12 hours
CRON_SCHEDULE=0 */12 * * *
# Every hour
CRON_SCHEDULE=0 * * * *
Manual sync:
docker exec recyclarr recyclarr sync
Common Configurations
1. HD Quality (1080p)
Good balance of quality and file size.
Radarr:
- Bluray-1080p preferred
- WEB-1080p as fallback
- Scores high-quality release groups
Sonarr:
- WEB-1080p preferred
- HDTV-1080p as fallback
2. Maximum Quality (Remux)
Best possible quality, large file sizes.
radarr:
radarr-main:
quality_profiles:
- name: Remux-1080p
upgrade:
allowed: true
until_quality: Remux-1080p
qualities:
- name: Remux-1080p
- name: Bluray-1080p
3. 4K / UHD
For 4K content:
radarr:
radarr-4k:
base_url: http://radarr:7878
api_key: abc123...
quality_profiles:
- name: UHD Bluray + WEB
upgrade:
until_quality: Remux-2160p
qualities:
- name: Remux-2160p
- name: Bluray-2160p
- name: WEB 2160p
4. Anime
Special settings for anime:
sonarr:
sonarr-anime:
base_url: http://sonarr:8989
api_key: xyz789...
quality_profiles:
- name: Anime
qualities:
- name: Bluray-1080p
- name: WEB 1080p
custom_formats:
- trash_ids:
- 064af5f084a0a24458cc8ecd3220f93f # Uncensored
quality_profiles:
- name: Anime
score: 10000
Integration with Radarr/Sonarr
How It Works
- Recyclarr reads your
recyclarr.ymlconfiguration - Connects to Radarr/Sonarr via API
- Syncs settings:
- Creates/updates quality profiles
- Adds custom formats with scores
- Sets quality definitions
- Configures naming formats
- Your instances now use TRaSH Guides best practices
What Gets Changed
Recyclarr modifies:
- Quality profile settings
- Custom format definitions
- Quality definitions (file sizes)
- Naming formats (if configured)
Recyclarr does NOT touch:
- Your media files
- Download client settings
- Indexer configurations
- Root folder locations
- Existing downloads/monitoring
Multiple Instances
Run separate Radarr/Sonarr instances for different purposes:
radarr:
radarr-1080p:
base_url: http://radarr:7878
api_key: abc123...
radarr-4k:
base_url: http://radarr-4k:7878
api_key: def456...
sonarr:
sonarr-shows:
base_url: http://sonarr:8989
api_key: ghi789...
sonarr-anime:
base_url: http://sonarr-anime:8989
api_key: jkl012...
Troubleshooting
Recyclarr won't start
Check logs:
docker logs recyclarr
Common issues:
- Missing API keys in
config/recyclarr.yml - Radarr/Sonarr not accessible at
base_url - Invalid YAML syntax
"Unable to connect to Radarr/Sonarr"
Verify connectivity:
# From recyclarr container
docker exec recyclarr curl http://radarr:7878
docker exec recyclarr curl http://sonarr:8989
Check:
- Radarr/Sonarr containers are running
- Both on
homelabnetwork - API keys are correct
"Profile not found"
The quality profile name in recyclarr.yml must match exactly.
Check existing profiles:
- Go to Radarr → Settings → Profiles
- Note the exact profile name
- Use that name in
recyclarr.yml
Or let Recyclarr create the profile (it will if it doesn't exist).
Changes not appearing
Force a sync:
docker exec recyclarr recyclarr sync --preview
docker exec recyclarr recyclarr sync
Check:
- Look for errors in logs
- Verify API key has write permissions
- Check Radarr/Sonarr system logs
Invalid trash_id
If you see "invalid trash_id" errors:
- Visit TRaSH Guides
- Find the custom format you want
- Copy the exact trash_id from the guide
- Update
recyclarr.yml
Advanced Usage
Preview Mode
See what would change without applying:
docker exec recyclarr recyclarr sync --preview
Sync Specific Instance
# Sync only Radarr
docker exec recyclarr recyclarr sync radarr
# Sync only Sonarr
docker exec recyclarr recyclarr sync sonarr
# Sync specific instance
docker exec recyclarr recyclarr sync radarr-main
Validate Configuration
docker exec recyclarr recyclarr config list
docker exec recyclarr recyclarr config check
Debug Mode
Enable debug logging in .env:
LOG_LEVEL=Debug
Then restart:
docker compose restart
Best Practices
Start Simple
- First sync: Use default quality profiles
- Test: Download a movie/show
- Verify: Check quality and file size
- Adjust: Modify scores and profiles as needed
Quality Profile Strategy
For most users:
- Radarr: HD Bluray + WEB (1080p)
- Sonarr: WEB-1080p
For quality enthusiasts:
- Radarr: Remux-1080p or UHD Bluray + WEB
- Sonarr: Bluray-1080p
For storage-conscious:
- Lower minimum quality
- Add file size limits
- Score smaller releases higher
Custom Format Scores
Scoring guide:
- +10000: Highest priority (preferred release groups)
- +5000: High priority (good quality)
- +1000: Moderate preference
- -10000: Never download (BR-DISK, CAM, etc.)
- -5000: Avoid unless no alternative
Sync Frequency
Recommended schedules:
- Every 6 hours: Default, good balance
- Daily: If you rarely update settings
- Every hour: If actively tuning configurations
TRaSH Guides Resources
Comparison: Recyclarr vs Profilarr
| Feature | Recyclarr | Profilarr |
|---|---|---|
| Interface | CLI / Automated | Web UI |
| Configuration | YAML file | Web interface |
| Source | TRaSH Guides | Custom + Community |
| Automation | Scheduled sync | Manual/scheduled |
| Version Control | Via Git (manual) | Built-in |
| Learning Curve | Moderate | Easy |
| Best For | Set-and-forget | Active management |
Use both together:
- Recyclarr for automated TRaSH sync
- Profilarr for custom tweaks and management
Next Steps
- ✅ Deploy Recyclarr
- ✅ Configure API keys
- ✅ Run first sync
- ✅ Check Radarr/Sonarr profiles
- ✅ Test download quality
- ⬜ Fine-tune custom format scores
- ⬜ Set up Profilarr for additional management
- ⬜ Monitor sync logs periodically
Automate quality, maintain consistency! 🎬