Files
homelab-optimized/docs/arr-suite-language-configuration.md
Gitea Mirror Bot 2fcf09efcf
Some checks failed
Documentation / Build Docusaurus (push) Failing after 4m57s
Documentation / Deploy to GitHub Pages (push) Has been skipped
Sanitized mirror from private repository - 2026-03-21 05:42:25 UTC
2026-03-21 05:42:25 +00:00

140 lines
5.9 KiB
Markdown

# Arr Suite Language Configuration - Trash Guides Implementation
## Overview
Implemented Trash Guides recommendations for language preferences in Radarr and Sonarr to optimize content selection based on language preferences while maintaining flexibility for international content.
**Implementation Date:** 2025-02-12
**Services Modified:** Radarr, Sonarr
**Configuration Method:** API-based custom formats and quality profile updates
## Objectives
- **Always prefer English content** for general media consumption
- **Accept Japanese and dual audio for anime** to support anime viewing preferences
- **Allow foreign films in their original language** (e.g., "Cold War" in Polish)
- **Prioritize multi-language releases** when available
## Custom Formats Implemented
### 1. Language: Not English
- **Score:** -10000 (strongly discourage non-English content)
- **Purpose:** Ensures English content is always preferred over non-English alternatives
- **Implementation:**
- Field: `language` (negated)
- Value: English (ID: 1)
- Applied to both Radarr and Sonarr
### 2. Anime Dual Audio
- **Score:** +500 (prefer dual audio anime)
- **Purpose:** Prioritizes anime releases with both English and Japanese audio tracks
- **Implementation:**
- Field 1: `releaseTitle` with regex `\b(dual.audio|dual.lang|dual.language|multi.audio|multi.lang|multi.language)\b`
- Field 2: `language` requiring English (ID: 1)
- Field 3: `language` allowing Japanese (ID: 8, negated for optional)
- Applied to both Radarr and Sonarr
### 3. Multi
- **Score:** +500 (prefer multi-language releases)
- **Purpose:** Prioritizes releases with multiple language tracks
- **Implementation:**
- Field: `releaseTitle` with regex `\b(MULTi)(\b|\d)`
- Applied to both Radarr and Sonarr
### 4. Language: Not Original
- **Score:** 0 (neutral)
- **Purpose:** Allows foreign films in their original language without penalty
- **Implementation:**
- Field: `language` (negated)
- Value: Original (ID: -2)
- Applied to both Radarr and Sonarr
## Quality Profile Changes
### Radarr "Any" Profile (ID: 1)
- **Language preference:** Changed from "English" to "Any" to allow foreign films
- **Custom format scores:** Applied as specified above
- **Result:** Enables downloading of foreign films like "Cold War" in Polish while maintaining English preference
### Sonarr "Any" Profile (ID: 1)
- **Custom format scores:** Applied as specified above
- **Language preference:** Maintained existing configuration
- **Result:** Supports international TV content with proper language prioritization
## Expected Behavior
| Content Type | Behavior | Score Impact |
|--------------|----------|--------------|
| **English Content** | Always preferred | Non-English gets -10000 penalty |
| **Anime (Dual Audio)** | Preferred over Japanese-only | +500 bonus for dual audio |
| **Anime (Japanese-only)** | Acceptable if no English available | No penalty due to anime exception |
| **Foreign Films** | Original language acceptable | 0 penalty for "Not Original" |
| **Multi-language Releases** | Preferred when available | +500 bonus |
## Technical Implementation Details
### API Endpoints Used
- `POST /api/v3/customformat` - Create custom formats
- `PUT /api/v3/qualityprofile/{id}` - Update quality profiles with scoring
### Configuration Files Modified
- **Radarr:** Quality Profile ID 1 ("Any")
- **Sonarr:** Quality Profile ID 1 ("Any")
- **Custom Formats:** 4 new formats added to each service
### Service Configuration Locations
- **Radarr Config:** `/volume2/metadata/docker2/radarr:/config`
- **Sonarr Config:** `/volume2/metadata/docker2/sonarr:/config`
- **Container Network:** `media2_net` (172.24.0.0/24)
- **Radarr IP:** 172.24.0.8:7878
- **Sonarr IP:** 172.24.0.7:8989
## Validation and Testing
### Verification Commands
```bash
# Check custom formats
curl -s -H "X-Api-Key: API_KEY" "http://localhost:7878/api/v3/customformat"
curl -s -H "X-Api-Key: API_KEY" "http://localhost:8989/api/v3/customformat"
# Check quality profile scores
curl -s -H "X-Api-Key: API_KEY" "http://localhost:7878/api/v3/qualityprofile/1"
curl -s -H "X-Api-Key: API_KEY" "http://localhost:8989/api/v3/qualityprofile/1"
```
### Test Cases
1. **English Movie:** Should be preferred over non-English versions
2. **Foreign Film (e.g., "Cold War"):** Should download in Polish without penalty
3. **Anime with Dual Audio:** Should prefer dual audio over Japanese-only
4. **Multi-language Release:** Should get priority over single-language versions
## Maintenance and Updates
### Backup Considerations
- Custom formats are stored in service databases within config volumes
- Quality profiles are part of the service configuration
- Changes persist through container restarts due to volume mounts
### Future Enhancements
- Consider adding more specific anime detection patterns
- Implement region-specific language preferences
- Add custom formats for specific quality groups or release patterns
## References
- [Trash Guides](https://trash-guides.info/) - Source of configuration recommendations
- [Radarr Custom Formats Documentation](https://wiki.servarr.com/radarr/settings#custom-formats-2)
- [Sonarr Custom Formats Documentation](https://wiki.servarr.com/sonarr/settings#custom-formats-2)
- [Servarr API Documentation](https://wiki.servarr.com/radarr/api)
## Troubleshooting
### Common Issues
1. **Custom formats not applying:** Check API keys and service accessibility
2. **Scoring not working:** Verify quality profile has been updated with format scores
3. **Foreign films not downloading:** Ensure "Language: Not Original" score is 0 or positive
### Rollback Procedure
1. Remove custom formats via API: `DELETE /api/v3/customformat/{id}`
2. Reset quality profile language preference to "English"
3. Clear custom format scores from quality profiles
---
*This configuration implements Trash Guides best practices for language handling in the arr suite, balancing English preference with international content flexibility.*