Files
Huntarr.io/docs/apps/sonarr.html
2026-01-30 12:45:53 -05:00

393 lines
27 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sonarr Documentation - Huntarr.io</title>
<link rel="stylesheet" href="../css/main.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<script src="../js/main.js" defer></script>
</head>
<body>
<div class="sidebar">
<div class="sidebar-logo">
<img src="../images/huntarr-logo.png" alt="Huntarr Logo">
<h2>Huntarr.io</h2>
</div>
<nav class="sidebar-nav">
<div class="sidebar-section">
<h3 class="sidebar-section-title">Getting Started</h3>
<ul>
<li><a href="../donate.html"><i class="fas fa-heart" style="color: #e91e63; font-size: 18px; width: 24px; height: 24px; margin-right: 8px; display: inline-flex; align-items: center; justify-content: center;"></i> Donate</a></li>
<li><a href="../getting-started/installation.html"><svg class="svg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"></path></svg> Installation</a></li>
</ul>
</div>
<div class="sidebar-section">
<h3 class="sidebar-section-title">Core</h3>
<ul>
<li><a href="../index.html"><svg class="svg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"></path></svg> Home</a></li>
<li class="active"><a href="index.html"><svg class="svg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"></path></svg> Apps</a></li>
<li><a href="../settings/settings.html"><svg class="svg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"></path></svg> Settings</a></li>
<li><a href="../features/index.html"><i class="fas fa-star" style="width: 24px; height: 24px; margin-right: 8px; display: inline-flex; align-items: center; justify-content: center;"></i> Features</a></li>
<li><a href="../faq.html"><i class="fas fa-question-circle" style="width: 24px; height: 24px; margin-right: 8px; display: inline-flex; align-items: center; justify-content: center;"></i> FAQ</a></li>
</ul>
</div>
<div class="sidebar-section">
<h3 class="sidebar-section-title">Resources</h3>
<ul>
<li><a href="https://github.com/plexguide/Huntarr.io" target="_blank"><svg class="svg-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg> GitHub</a></li>
<li><a href="https://discord.com/invite/PGJJjR5Cww" target="_blank"><i class="fab fa-discord" style="color: #5865F2; font-size: 18px; width: 24px; height: 24px; margin-right: 8px; display: inline-flex; align-items: center; justify-content: center;"></i> Discord</a></li>
<li><a href="https://www.reddit.com/r/huntarr/" target="_blank"><i class="fab fa-reddit-alien" style="color: #FF4500; font-size: 18px; width: 24px; height: 24px; margin-right: 8px; display: inline-flex; align-items: center; justify-content: center;"></i> Reddit</a></li>
</ul>
</div>
</nav>
</div>
<div class="main-content">
<div class="container">
<h1>Sonarr Documentation</h1>
<div style="text-align: center; margin: 20px auto;">
<img src="../images/arrs/sonarr.png" alt="Sonarr Logo" style="width: 80px; height: 80px; object-fit: contain;">
</div>
<div class="alert alert-info" style="margin: 20px 0; padding: 15px; background: rgba(13, 202, 240, 0.1); border-left: 4px solid #0dcaf0;">
<strong><i class="fas fa-info-circle" style="margin-right: 8px;"></i>What is Sonarr?</strong>
Sonarr is an automated TV series downloading and management application. It monitors for new episodes, searches indexers, and automatically downloads content using your preferred download clients.
</div>
<p>Sonarr automates the process of monitoring and downloading TV series. It integrates with popular download clients and uses indexers to search for and download episodes automatically, making it easy to build and maintain an organized TV library.</p>
<h2 id="overview">Overview</h2>
<h3><i class="fas fa-download" style="margin-right: 10px; color: #3498db;"></i>What Sonarr Does</h3>
<p>Sonarr provides automated content management for TV series by:</p>
<ul>
<li><strong>Automatic Searching:</strong> Monitors for new episodes and searches configured indexers</li>
<li><strong>Quality Management:</strong> Downloads content based on your quality preferences</li>
<li><strong>Library Organization:</strong> Automatically organizes downloaded episodes in your media library</li>
<li><strong>Upgrade Management:</strong> Can upgrade existing episodes to better quality when available</li>
<li><strong>Download Client Integration:</strong> Works with popular download clients like qBittorrent, Deluge, etc.</li>
</ul>
<h3><i class="fas fa-cogs" style="margin-right: 10px; color: #e67e22;"></i>How Huntarr Enhances Sonarr</h3>
<p>Huntarr adds intelligent automation on top of Sonarr:</p>
<ul>
<li><strong>Smart Search Timing:</strong> Prevents overwhelming indexers with too many requests</li>
<li><strong>Missing Episode Detection:</strong> Identifies and prioritizes missing episodes</li>
<li><strong>Upgrade Intelligence:</strong> Finds better quality versions of existing episodes</li>
<li><strong>Rate Limiting:</strong> Respects API limits to prevent bans or throttling</li>
<li><strong>Multi-Instance Support:</strong> Manage multiple Sonarr instances from one interface</li>
</ul>
<h2 id="connection-settings">Instance Configuration</h2>
<p>Configure your Sonarr instances to connect Huntarr with your Sonarr installation(s).</p>
<h3>Adding Your Sonarr Instance</h3>
<p>To connect your existing Sonarr instance to Huntarr:</p>
<ol>
<li>Navigate to the Sonarr section in Huntarr</li>
<li>Click "Add Sonarr Instance" if you don't have one configured</li>
<li>Fill in your Sonarr connection details</li>
<li>Test the connection to ensure Huntarr can communicate with Sonarr</li>
</ol>
<h3 id="connection-settings">Connection Settings</h3>
<p>Configure these settings to connect Huntarr to your Sonarr instance:</p>
<table>
<tr>
<th>Setting</th>
<th>Description</th>
<th>Example</th>
<th>Notes</th>
</tr>
<tr>
<td>Name</td>
<td>Friendly name for this Sonarr instance</td>
<td>Default, TV-4K, Anime</td>
<td>Useful when running multiple Sonarr instances</td>
</tr>
<tr>
<td>URL</td>
<td>Base URL for your Sonarr instance</td>
<td>http://10.0.0.10:8989</td>
<td>Include protocol (http/https) and port</td>
</tr>
<tr>
<td>API Key</td>
<td>Sonarr API key for authentication</td>
<td>a03c86b6292c4bd48cd5e3b84e5a470</td>
<td>Found in Sonarr Settings > General > Security</td>
</tr>
<tr>
<td>Enabled</td>
<td>Whether Huntarr should process this instance</td>
<td>On/Off toggle</td>
<td>Disable to temporarily stop processing</td>
</tr>
</table>
<h2 id="search-settings">Search Settings</h2>
<p>Configure how Huntarr searches for missing content and upgrades in your Sonarr instance. These settings control Huntarr's behavior when processing your TV show library.</p>
<h3 id="missing-search-mode"><i class="fas fa-search" style="margin-right: 10px; color: #3498db;"></i>Missing Search Mode</h3>
<p>Determines how Huntarr searches for missing episodes:</p>
<ul>
<li><strong>Season Packs (Default):</strong> Recommended for all users. Searches for entire season packs first, which is more efficient and better supported by most trackers</li>
<li><strong>Shows:</strong> Searches for all episodes in a show at once. Useful for comprehensive searches of entire series</li>
</ul>
<div class="alert alert-info">
<strong>Huntarr 7.5.0+ Migration:</strong> The "Episodes" mode has been deprecated and automatically migrated to "Season Packs" mode for improved efficiency and reliability. Season Packs mode provides better results with fewer API calls.
</div>
<h3 id="upgrade-mode"><i class="fas fa-arrow-up" style="margin-right: 10px; color: #2ecc71;"></i>Upgrade Mode</h3>
<p>Controls how Huntarr handles quality upgrades:</p>
<ul>
<li><strong>Season Packs (Default):</strong> Upgrades entire seasons at once when better quality becomes available. More efficient and recommended for most users</li>
<li><strong>Shows:</strong> Upgrades entire shows at once when better quality is found</li>
</ul>
<div class="alert alert-info">
<strong>Huntarr 7.5.0+ Migration:</strong> The "Episodes" upgrade mode has been deprecated and automatically migrated to "Season Packs" mode. This change improves search efficiency and provides better integration with modern torrent trackers.
</div>
<h3 id="upgrade-selection-method"><i class="fas fa-list-check" style="margin-right: 10px; color: #2ecc71;"></i>Upgrade Selection Method</h3>
<p>You can choose how Huntarr selects which series to consider for upgrades:</p>
<ul>
<li><strong>Cutoff unmet (default):</strong> Uses Sonarr's <strong>Wanted → Cutoff Unmet</strong> list. Only series/episodes that don't meet your quality/custom-format cutoff are eligible. Same behavior as before.</li>
<li><strong>Tags (Upgradinatorr-style):</strong> Huntarr finds series that <strong>DON'T</strong> have your specified tag (e.g. <code>upgradinatorr</code>), searches for upgrades, then <strong>ADDS</strong> the tag after processing to mark them as complete. This matches <a href="https://github.com/angrycuban13/Just-A-Bunch-Of-Starr-Scripts/blob/main/Upgradinatorr/README.md" target="_blank" rel="noopener">Upgradinatorr's</a> behavior: the tag tracks which series have already been processed, not which ones to search. The tag is automatically created in Sonarr if it doesn't exist.</li>
</ul>
<p>In both cases, Huntarr triggers <strong>SeriesSearch</strong> or <strong>SeasonSearch</strong> for the selected series; Sonarr still decides what to grab based on your quality profile and custom format scores (V4).</p>
<div class="alert alert-success">
<strong>💡 Tip:</strong> See <a href="https://trash-guides.info/" target="_blank" rel="noopener">TrashGuides</a> for comprehensive custom format scoring guides and best practices for quality upgrades.
</div>
<h4 id="upgrade-mode-comparison"><i class="fas fa-balance-scale" style="margin-right: 10px; color: #9b59b6;"></i>Cutoff Unmet vs Tags: Which Should I Use?</h4>
<p>Understanding the difference between these two modes will help you choose the right approach for your library:</p>
<table>
<tr>
<th>Feature</th>
<th>Cutoff Unmet (Huntarr Standard)</th>
<th>Tags (Upgradinatorr-style)</th>
</tr>
<tr>
<td><strong>How It Works</strong></td>
<td>Queries Sonarr's <code>Wanted → Cutoff Unmet</code> list every cycle</td>
<td>Searches series WITHOUT the tag, then ADDS tag after processing</td>
</tr>
<tr>
<td><strong>Re-processing</strong></td>
<td>Same series appear in every cycle until they meet cutoff</td>
<td>Once tagged, series are NEVER searched again (unless you manually remove tag)</td>
</tr>
<tr>
<td><strong>Best For</strong></td>
<td>Dynamic quality targets - continuously searching until perfect quality is found</td>
<td>One-time library upgrade - systematically process entire library once</td>
</tr>
<tr>
<td><strong>Indexer Impact</strong></td>
<td>Higher - searches same series repeatedly if upgrades not found</td>
<td>Lower - each series searched once, then marked complete</td>
</tr>
<tr>
<td><strong>Progress Tracking</strong></td>
<td>Based on cutoff status - series drop off list when upgraded</td>
<td>Visual tags in Sonarr UI - see which series have been processed</td>
</tr>
<tr>
<td><strong>Use Case Example</strong></td>
<td>"Keep searching until every episode reaches my quality target"</td>
<td>"I just set up TRaSH guides - process my entire 500 show library once"</td>
</tr>
<tr>
<td><strong>Stops When</strong></td>
<td>Series meets quality cutoff or custom format score threshold</td>
<td>Tag is applied (regardless of whether upgrade was found)</td>
</tr>
</table>
<div class="alert alert-info">
<strong>📊 Example Scenario:</strong><br>
<strong>Cutoff Unmet:</strong> You have 50 series below cutoff. Huntarr searches 3 per cycle, finds upgrades for 2. Next cycle, those 2 are gone (met cutoff), but the other 1 appears again along with 2 new ones from the remaining 47. This continues until all 50 meet cutoff or no more upgrades exist.<br><br>
<strong>Tags:</strong> You have 500 series with no <code>upgradinatorr</code> tag. Huntarr searches 3 per cycle, tags all 3 (whether upgrades found or not). Next cycle searches 3 different series. After ~167 cycles, all 500 series have been searched once and tagged - done forever.
</div>
<div class="alert alert-warning">
<strong>⚠️ Important:</strong> With <strong>Tags mode</strong>, series are marked as "processed" even if no upgrade was found. If you want to re-process series later (e.g., after adding new indexers), you must manually remove the tag in Sonarr.
</div>
<h3 id="custom-format-scores"><i class="fas fa-star" style="margin-right: 10px; color: #f1c40f;"></i>Custom Format Scores (TRaSH / Upgrade Until Score)</h3>
<div class="alert alert-info">
<strong>📋 Sonarr Configuration Required:</strong>
<ul style="margin-bottom: 0;">
<li><strong>Sonarr V3:</strong> No additional configuration required</li>
<li><strong>Sonarr V4:</strong> Sonarr → Settings → Profiles → Quality Profile → Upgrade Until Custom Format Score</li>
<li>Set <strong>Upgrade Until Custom Format Score</strong> to at least <code>10000</code></li>
</ul>
</div>
<h4>Why Custom Format Scores Matter</h4>
<p><strong>Huntarr does not decide what to upgrade—Sonarr does.</strong> When Huntarr triggers a search for upgrades, Sonarr evaluates the search results using your configured quality profile and custom format scores to determine whether a release is an upgrade worth grabbing.</p>
<p><strong>Key Points:</strong></p>
<ul>
<li><strong>Quality Cutoff:</strong> The minimum quality level you're willing to accept (e.g., 1080p WEBDL, 2160p Bluray)</li>
<li><strong>Custom Formats (Sonarr V4 only):</strong> Additional scoring criteria beyond basic quality (e.g., HDR formats, audio codecs, preferred release groups, streaming service tiers)</li>
<li><strong>Upgrade Until Custom Format Score:</strong> The score threshold at which Sonarr stops considering upgrades. Setting this to 10000 (or higher) ensures Sonarr will continue upgrading as long as better-scoring releases are found</li>
</ul>
<p><strong>How It Works:</strong></p>
<ol>
<li>Huntarr retrieves episodes/seasons from Sonarr's cutoff-unmet list</li>
<li>Huntarr triggers a <strong>SeasonSearch</strong> or <strong>SeriesSearch</strong> command in Sonarr</li>
<li>Sonarr searches indexers and scores each result using your quality profile + custom formats (V4 only)</li>
<li>Sonarr automatically grabs releases that score higher than your current file (up to your "Upgrade Until" threshold)</li>
<li>Without proper custom format scoring configured (V4), Sonarr may not grab upgrades even when better releases are available</li>
</ol>
<div class="alert alert-success">
<strong>💡 Tip:</strong> See <a href="https://trash-guides.info/Sonarr/sonarr-setup-quality-profiles/" target="_blank" rel="noopener">TrashGuides</a> for comprehensive custom format scoring guides (Sonarr V4), recommended scores for HDR formats, DV, audio codecs, and best practices for quality upgrades in Sonarr.
</div>
<h3 id="search-limits"><i class="fas fa-sliders-h" style="margin-right: 10px; color: #f39c12;"></i>Search Limits</h3>
<p>Control how many items Huntarr processes per cycle to avoid overwhelming your indexers:</p>
<table>
<tr>
<th>Setting</th>
<th>Description</th>
<th>Recommended</th>
<th>Notes</th>
</tr>
<tr>
<td>Missing Search</td>
<td>Number of missing items to search per cycle</td>
<td>2-5</td>
<td>Set to 0 to disable missing searches</td>
</tr>
<tr>
<td>Upgrade Search</td>
<td>Number of episodes to upgrade per cycle</td>
<td>1-3</td>
<td>Set to 0 to disable upgrade searches</td>
</tr>
<tr>
<td>Sleep Duration</td>
<td>Time in seconds between processing cycles</td>
<td>900 (15 min)</td>
<td>Longer intervals reduce indexer load</td>
</tr>
<tr>
<td>API Cap - Hourly</td>
<td>Maximum API requests per hour</td>
<td>400 or less</td>
<td>Prevents rate limiting from indexers</td>
</tr>
</table>
<div class="alert alert-warning">
<strong>Important:</strong> Setting API limits too high can result in your accounts being banned from indexers. Start with conservative values and adjust based on your indexer limits.
</div>
<h3 id="additional-options"><i class="fas fa-cogs" style="margin-right: 10px; color: #9b59b6;"></i>Additional Options</h3>
<p>Fine-tune Huntarr's behavior with these additional settings:</p>
<h4 id="monitored-only"><i class="fas fa-eye" style="margin-right: 8px; color: #3498db;"></i>Monitored Only</h4>
<p>When enabled, Huntarr will only search for content that is marked as "Monitored" in Sonarr. This prevents searches for shows you've intentionally unmonitored.</p>
<h4 id="skip-future-episodes"><i class="fas fa-clock" style="margin-right: 8px; color: #e74c3c;"></i>Skip Future Episodes</h4>
<p>When enabled, Huntarr will skip episodes with future air dates. This prevents unnecessary searches for content that hasn't been released yet.</p>
<h2 id="swaparr-integration">Swaparr Integration</h2>
<p>Enable Swaparr monitoring for this Sonarr instance to automatically clean up stalled downloads.</p>
<div class="alert alert-info" style="margin: 15px 0; padding: 15px; background: rgba(13, 202, 240, 0.1); border-left: 4px solid #0dcaf0;">
<strong><i class="fas fa-info-circle" style="margin-right: 8px;"></i>What is Swaparr?</strong>
Swaparr monitors your download queues and automatically removes stalled, failed, or problematic downloads to keep your automation running smoothly.
<a href="swaparr.html" style="color: #0dcaf0;">Learn more about Swaparr configuration</a>.
</div>
<h3><i class="fas fa-broom" style="margin-right: 8px; color: #e67e22;"></i>When to Enable Swaparr</h3>
<ul>
<li>You frequently have stalled TV show downloads</li>
<li>Your download queue gets clogged with failed episode downloads</li>
<li>You want hands-off automation for your TV library</li>
<li>You use public trackers where quality varies</li>
<li>You download season packs that sometimes fail</li>
</ul>
<h3><i class="fas fa-exclamation-triangle" style="margin-right: 8px; color: #f39c12;"></i>When to Be Cautious</h3>
<ul>
<li>You use private trackers with strict ratio requirements</li>
<li>You prefer manual control over your TV downloads</li>
<li>You have very slow internet where downloads take a long time</li>
<li>You're building ratio on specific torrent trackers</li>
</ul>
<h2 id="troubleshooting">Troubleshooting</h2>
<h3>Common Issues</h3>
<h4>Connection Failed</h4>
<p>If Huntarr can't connect to your Sonarr instance:</p>
<ul>
<li>Verify the URL is correct and includes the protocol (http/https)</li>
<li>Check that the port number is correct (default: 8989)</li>
<li>Ensure the API key is copied correctly from Sonarr Settings > General > Security</li>
<li>Confirm Sonarr is running and accessible from Huntarr's network</li>
<li>Check firewall settings if Huntarr and Sonarr are on different machines</li>
</ul>
<h4>No Missing Content Found</h4>
<p>If Huntarr reports no missing content but you know there are gaps:</p>
<ul>
<li>Ensure "Monitored Only" is configured correctly for your needs</li>
<li>Check that shows are marked as "Monitored" in Sonarr</li>
<li>Verify "Skip Future Episodes" isn't preventing searches for available content</li>
<li>Review your Missing Search Mode setting (Season Packs vs Episodes)</li>
</ul>
<h4>API Rate Limiting</h4>
<p>If you're getting rate limited by indexers:</p>
<ul>
<li>Reduce the "API Cap - Hourly" setting to a lower value</li>
<li>Increase the "Sleep Duration" between processing cycles</li>
<li>Lower the "Missing Search" and "Upgrade Search" limits</li>
<li>Check your indexer's specific rate limits and adjust accordingly</li>
</ul>
<h4>Searches Not Triggering</h4>
<p>If Huntarr isn't searching for content:</p>
<ul>
<li>Ensure the Sonarr instance is enabled in Huntarr</li>
<li>Check that search limits aren't set to 0 (which disables searches)</li>
<li>Verify Huntarr is running and not paused</li>
<li>Review the logs for any error messages or API issues</li>
</ul>
<div class="section-nav">
<a href="index.html">← Back to Apps</a>
<a href="radarr.html">Radarr Documentation →</a>
</div>
<footer>
Huntarr.io | Sonarr Documentation | Thanks 4 Using Huntarr - Admin9705
</footer>
</div>
</div>
</body>
</html>