homelab-blueprint/docs/RECYCLARR.md
Claude a155ca54e9 docs: reorganize documentation and add recyclarr config template
## Major Changes

### 1. Complete README.md Rewrite
Replaced minimal, disorganized README with comprehensive documentation:

**New Sections:**
- Quick start guide
- Available stacks overview (Media, Database, Secrets)
- Security features comparison table
- Prerequisites and requirements
- Detailed configuration guide
- Multiple deployment options
- Verification and testing procedures
- Resource allocation overview
- Common tasks (update, logs, restart)
- Troubleshooting quick reference
- Migration guide
- Best practices
- Contributing guidelines

**Removed:**
- Random pgAdmin permission notes
- Paperless-ngx Caddy configuration (not relevant to this repo)
- Scattered external links

### 2. Documentation Reorganization

**Created docs/ directory:**
```
docs/
├── IMPROVEMENTS.md      (was DOCKER_COMPOSE_IMPROVEMENTS.md)
├── SOCKET_PROXY.md      (was SOCKET_PROXY_GUIDE.md)
├── TROUBLESHOOTING.md   (was TROUBLESHOOTING.md)
└── RECYCLARR.md         (NEW - comprehensive guide)
```

**Benefits:**
- Cleaner root directory
- Logical organization
- Consistent naming
- Easy to navigate

### 3. Recyclarr Configuration Template

**Created RECYCLARR_CONFIG_TEMPLATE.yml:**
- Fixed base_url to use service names (http://sonarr:8989)
- Removed localhost references (they don't work in Docker)
- Added clear placeholders for API keys
- Included comprehensive comments
- Added examples for custom formats
- Both 1080p and 4K profiles included

**Key fix - Service names instead of localhost:**
```yaml
#  Correct
base_url: http://sonarr:8989

#  Wrong (doesn't work in Docker)
base_url: http://localhost:8989
```

### 4. New RECYCLARR.md Documentation

Comprehensive guide covering:
- Quick start with clear steps
- How to get API keys
- Configuration examples
- Testing and validation
- Common issues and fixes
- Quality profiles explained
- Custom formats guide
- Maintenance procedures
- Advanced configuration
- Troubleshooting checklist

## Repository Structure Improvements

### Before (Disorganized)
```
.
├── README.md (minimal, random notes)
├── DOCKER_COMPOSE_IMPROVEMENTS.md
├── SOCKET_PROXY_GUIDE.md
├── TROUBLESHOOTING.md
└── docker-compose-files/
```

### After (Organized)
```
.
├── README.md (comprehensive, professional)
├── RECYCLARR_CONFIG_TEMPLATE.yml (ready to use)
├── docs/
│   ├── IMPROVEMENTS.md
│   ├── SOCKET_PROXY.md
│   ├── TROUBLESHOOTING.md
│   └── RECYCLARR.md
└── docker-compose-files/
```

## Documentation Highlights

### README.md Features
- Professional structure with emoji icons
- Clear table of contents
- Quick start in 4 commands
- Service comparison tables
- Security features highlighted
- Multiple deployment patterns
- Comprehensive troubleshooting
- External resources section
- Credits and support info

### RECYCLARR.md Features
- Step-by-step configuration
- Visual examples (/)
- Common errors explained
- Testing procedures
- Quality profile guide
- TRaSH Guides integration

## User Feedback Addressed

User requested:
1.  Fix recyclarr config (localhost → service names)
2.  Improve folder structure
3.  Consolidate documentation into one main README

All addressed:
- Recyclarr template with correct URLs
- Docs organized in docs/ directory
- Comprehensive README.md as single entry point
- Supporting docs in logical subdirectory

## Benefits

### For New Users
- Clear getting started guide
- Examples for everything
- Troubleshooting in README
- Links to detailed docs

### For Existing Users
- Migration guide provided
- Backward compatible
- Clear upgrade path
- Better troubleshooting

### For Maintainers
- Organized structure
- Consistent formatting
- Easy to update
- Professional presentation

## Breaking Changes

None - This is pure documentation reorganization:
- Old file paths still work (git tracks renames)
- No code changes
- Template additions only
- README links updated

## Stats

- README.md: ~500 lines of comprehensive documentation
- RECYCLARR.md: ~300 lines of detailed guide
- RECYCLARR_CONFIG_TEMPLATE.yml: Working configuration template
- docs/ directory: 4 organized documentation files

## Related

- Addresses recyclarr localhost issue
- Improves repository professionalism
- Makes project more accessible
- Follows documentation best practices
2025-11-23 12:25:55 +00:00

8.8 KiB

Recyclarr Configuration Guide

Recyclarr automatically synchronizes TRaSH Guides quality profiles and custom formats to your Sonarr and Radarr instances.

Quick Start

1. Copy Configuration Template

# Copy the template to your recyclarr config directory
cp RECYCLARR_CONFIG_TEMPLATE.yml /volume1/docker/appdata/recyclarr/recyclarr.yml

# Edit with your API keys
nano /volume1/docker/appdata/recyclarr/recyclarr.yml

2. Get API Keys

Sonarr:

  1. Open Sonarr web interface: http://your-nas-ip:8989
  2. Go to: Settings → General → Security
  3. Copy the API Key

Radarr:

  1. Open Radarr web interface: http://your-nas-ip:7878
  2. Go to: Settings → General → Security
  3. Copy the API Key

3. Configure Base URLs

CRITICAL: Use Docker service names, NOT localhost!

# ✅ Correct - Uses service name
sonarr:
  web-1080p-v4:
    base_url: http://sonarr:8989
    api_key: your_sonarr_api_key_here

radarr:
  uhd-bluray-web:
    base_url: http://radarr:7878
    api_key: your_radarr_api_key_here
# ❌ Wrong - localhost doesn't work in Docker
sonarr:
  web-1080p-v4:
    base_url: http://localhost:8989  # Won't work!

Why? Inside the recyclarr container, localhost refers to itself, not the host or other containers.


Configuration Example

Complete Working Configuration

sonarr:
  web-1080p-v4:
    base_url: http://sonarr:8989
    api_key: abc123def456...  # Your actual API key
    delete_old_custom_formats: true
    replace_existing_custom_formats: true
    include:
      - template: sonarr-quality-definition-series
      - template: sonarr-v4-quality-profile-web-1080p
      - template: sonarr-v4-custom-formats-web-1080p

  web-2160p-v4:
    base_url: http://sonarr:8989
    api_key: abc123def456...  # Same API key
    delete_old_custom_formats: true
    replace_existing_custom_formats: true
    include:
      - template: sonarr-quality-definition-series
      - template: sonarr-v4-quality-profile-web-2160p
      - template: sonarr-v4-custom-formats-web-2160p

radarr:
  uhd-bluray-web:
    base_url: http://radarr:7878
    api_key: xyz789ghi012...  # Your actual API key
    delete_old_custom_formats: true
    replace_existing_custom_formats: true
    include:
      - template: radarr-quality-definition-movie
      - template: radarr-quality-profile-uhd-bluray-web
      - template: radarr-custom-formats-uhd-bluray-web

  hd-bluray-web:
    base_url: http://radarr:7878
    api_key: xyz789ghi012...  # Same API key
    delete_old_custom_formats: true
    replace_existing_custom_formats: true
    include:
      - template: radarr-quality-definition-movie
      - template: radarr-quality-profile-hd-bluray-web
      - template: radarr-custom-formats-hd-bluray-web

Testing Configuration

1. Validate Config File

# List configured instances
docker exec recyclarr recyclarr config list

Expected output:

Sonarr Instances:
  - web-1080p-v4
  - web-2160p-v4

Radarr Instances:
  - uhd-bluray-web
  - hd-bluray-web

2. Preview Sync (Dry Run)

# Preview changes without applying
docker exec recyclarr recyclarr sync --preview

This shows what would change without actually modifying anything.

3. Actually Sync

# Apply changes to Sonarr and Radarr
docker exec recyclarr recyclarr sync

4. Check Logs

# View recyclarr logs
docker logs recyclarr

# Follow logs in real-time
docker logs -f recyclarr

Automatic Sync Schedule

Recyclarr runs on a cron schedule defined in the container. By default, it syncs daily.

To modify the schedule, you would need to customize the container configuration (advanced).

For manual syncs:

docker exec recyclarr recyclarr sync

Common Issues

Issue: "base_url must start with 'http' or 'https'"

Cause: The base_url is empty or malformed.

Fix:

# Wrong
base_url: localhost:8989
base_url:  # Empty

# Correct
base_url: http://sonarr:8989

Issue: "Connection refused" or "Cannot connect"

Possible causes:

  1. Service names are wrong
  2. Containers not on same network
  3. Sonarr/Radarr not running

Fix:

# Check containers are running
docker ps | grep -E "sonarr|radarr|recyclarr"

# Check network connectivity
docker exec recyclarr ping sonarr
docker exec recyclarr ping radarr

# Check Sonarr is responding
docker exec recyclarr wget -qO- http://sonarr:8989/ping

Issue: "Unauthorized" or "Invalid API key"

Cause: Wrong API key or permissions issue.

Fix:

  1. Get correct API key from Sonarr/Radarr (Settings → General → Security)
  2. Copy-paste carefully (no extra spaces)
  3. Ensure API key has full permissions

Issue: Config file not found

Cause: File not in correct location.

Fix:

# Check file exists
docker exec recyclarr ls -la /config

# Expected location inside container
/config/recyclarr.yml

On host, this maps to:

{{DOCKERCONFDIR}}/recyclarr/recyclarr.yml

Quality Profiles

What Recyclarr Syncs

For Sonarr:

  • Quality definitions (file size limits)
  • Quality profiles (which qualities to allow)
  • Custom formats (preferences for releases)
  • Custom format scores (prioritization)

For Radarr:

  • Quality definitions
  • Quality profiles
  • Custom formats
  • Custom format scores

Available TRaSH Templates

Sonarr:

  • sonarr-quality-definition-series - File size limits
  • sonarr-v4-quality-profile-web-1080p - 1080p WEB profile
  • sonarr-v4-quality-profile-web-2160p - 4K WEB profile
  • sonarr-v4-custom-formats-web-1080p - 1080p custom formats
  • sonarr-v4-custom-formats-web-2160p - 4K custom formats

Radarr:

  • radarr-quality-definition-movie - File size limits
  • radarr-quality-profile-hd-bluray-web - HD Bluray/WEB
  • radarr-quality-profile-uhd-bluray-web - 4K Bluray/WEB
  • radarr-custom-formats-hd-bluray-web - HD custom formats
  • radarr-custom-formats-uhd-bluray-web - 4K custom formats

Custom Formats

Common Custom Formats

Recyclarr applies TRaSH Guide custom formats to improve release selection:

Quality Improvements:

  • Prefer proper/repack releases
  • Avoid bad dual audio groups
  • Prefer streaming optimized releases

HDR/Audio:

  • DV (Dolby Vision) handling
  • HDR10+ support
  • Audio codec preferences

Release Groups:

  • Prefer scene/p2p groups
  • Avoid obfuscated releases
  • Filter low-quality encodes

Customizing Scores

In your config, you can adjust scores:

custom_formats:
  - trash_ids:
      - 9f6cbff8cfe4ebbc1bde14c7b7bec0de # IMAX Enhanced
    assign_scores_to:
      - name: UHD Bluray + WEB
        score: 100  # Higher score = higher priority

Maintenance

Manual Sync

# Sync all instances
docker exec recyclarr recyclarr sync

# Sync specific instance
docker exec recyclarr recyclarr sync sonarr web-1080p-v4

Update Recyclarr

Recyclarr is updated automatically by Watchtower (if enabled).

Manual update:

docker-compose -f docker-compose.arr-stack.yml pull recyclarr
docker-compose -f docker-compose.arr-stack.yml up -d recyclarr

View Current Settings

Check what's currently configured in Sonarr/Radarr:

  • Settings → Profiles → Quality Profiles
  • Settings → Profiles → Custom Formats

Best Practices

  1. Start with Templates

    • Use TRaSH templates as baseline
    • Customize only if needed
  2. Test with Preview

    • Always preview before syncing
    • Review changes carefully
  3. Backup Before Syncing

    • Backup Sonarr/Radarr databases
    • Easy rollback if needed
  4. Monitor First Sync

    • Watch logs during initial sync
    • Verify profiles in UI after sync
  5. Keep It Simple

    • Don't over-customize initially
    • TRaSH defaults work well for most

Advanced Configuration

Multiple Instances

You can configure multiple Sonarr/Radarr instances:

sonarr:
  instance-1:
    base_url: http://sonarr:8989
    api_key: key1

  instance-2:
    base_url: http://sonarr-4k:8989
    api_key: key2

Instance-Specific Templates

Different quality settings per instance:

sonarr:
  web-1080p:
    include:
      - template: sonarr-v4-quality-profile-web-1080p

  web-2160p:
    include:
      - template: sonarr-v4-quality-profile-web-2160p

Resources


Troubleshooting Checklist

  • Config file exists at correct location
  • Base URLs use service names (not localhost)
  • API keys are correct and complete
  • Sonarr/Radarr are running and healthy
  • Containers are on same Docker network
  • No typos in configuration
  • YAML syntax is valid (proper indentation)

Last Updated: 2025-11-23