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

412 lines
8.8 KiB
Markdown

# 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
```bash
# 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`!
```yaml
# ✅ 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
```
```yaml
# ❌ 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
```yaml
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
```bash
# 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)
```bash
# Preview changes without applying
docker exec recyclarr recyclarr sync --preview
```
This shows what would change without actually modifying anything.
### 3. Actually Sync
```bash
# Apply changes to Sonarr and Radarr
docker exec recyclarr recyclarr sync
```
### 4. Check Logs
```bash
# 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:
```bash
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:**
```yaml
# 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:**
```bash
# 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:**
```bash
# 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:
```yaml
custom_formats:
- trash_ids:
- 9f6cbff8cfe4ebbc1bde14c7b7bec0de # IMAX Enhanced
assign_scores_to:
- name: UHD Bluray + WEB
score: 100 # Higher score = higher priority
```
---
## Maintenance
### Manual Sync
```bash
# 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:
```bash
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:
```yaml
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:
```yaml
sonarr:
web-1080p:
include:
- template: sonarr-v4-quality-profile-web-1080p
web-2160p:
include:
- template: sonarr-v4-quality-profile-web-2160p
```
---
## Resources
- **TRaSH Guides:** https://trash-guides.info/
- **Recyclarr Wiki:** https://recyclarr.dev/
- **Recyclarr GitHub:** https://github.com/recyclarr/recyclarr
- **TRaSH Discord:** https://trash-guides.info/discord
---
## 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