Downloads and Importing
Troubleshooting Downloads and Importing
Downloading and importing is where most people experience issues. From a high level perspective, Sonarr needs to be able to communicate with your download client and have access to the files it downloads. There is a large variety of supported download clients and an even bigger variety of setups. This means that while there are some common setups, there isn't one right setup and everyone's setup can be a little different.
Start by using the Logging and Log Files article to turn logging up to trace, it is likely you're going to need to look at them to figure out what is wrong. And if you can't, anyone you ask for help will need to see them for sure. Remember to get them from the actual log file, put them in a pastebin and show us context around what we need to see. Nobody wants to dig through the whole trace log (it is huge!), but just a line or two is unlikely to help.
When you reach out for help, be sure to read Asking for Help so that you can provide us with the details we'll need.
Testing the Download Client
Start by testing the download client, if it doesn't work you'll be able to see details in the trace level logs. You should find a URL you can put into your browser and see if it works. It could be a connection problem, which could indicate a wrong ip, hostname, port or even a firewall blocking access. It might be obvious, like an authentication problem where you've gotten the username, password or apikey wrong.
Testing a Download
Now we'll try a download, pick a show and do a manual episode search. Pick one of those episodes and attempt to download it. Does it get sent to the download client? Does it end up with the correct category? Does it end up in the trace level logs during the Check For Finished Download task which runs roughly every minute? Does it get correctly parsed during that task? Does the queued up download have a reasonable name? Since Sonarr searches by tvdbid, season and episode on most indexers/trackers, it can queue one up with a name that it can't recognize.
Testing an Import
Import issues should almost always manifest as an item in Activity with an orange icon you can hover to see the error. If they're not showing up in Activity, this is the issue you need to focus on first so go back and figure that out. Most import errors are permissions issues, remember that Sonarr needs to be able to read and write in the download folder. Sometimes, permissions in the library folder can be at fault too, so be sure to check both.
Incorrect path issues are possible too, though less common in normal setups. The key to understanding path issues is knowing that Sonarr gets the path to the download from the download client, via its API. This becomes a problem in more unique use cases, like the download client running on a different system (maybe even OS!). It can also occur in a Docker setup, when volumes are not done well. A remote path map is a good solution where you don't have control, like a seedbox setup. On a Docker setup, fixing the paths is a better option.
Can't see share on Windows
The default user for a Windows service is SYSTEM which typically doesn't have access to your shares. Edit the service and set it up to run as your own user, see the FAQ entry why can't Sonarr see my files on a remote server for details.
Mapped network drives are not reliable
While mapped network drives like
X:\ are convenient, they aren't as reliable as UNC paths like
\\server\share and they're also not available before login. Setup Sonarr and your download client(s) so that they user UNC paths as needed. If your library is on a share, you'd make sure your root folders are using UNC paths. If your download client sends to a share, that is where you'll need to configure UNC paths since Sonarr gets the download path from the download client. It is fine to keep your mapped network drives to use yourself, just don't use them for automation.
Docker and user, group, ownership, permissions and paths
Docker adds another layer of complexity that is easy to get wrong, but still end up with a setup that functions, but has various problems. Instead of going over them here, read this wiki article for these automation software and Docker which is all about user, group, ownership, permissions and paths. It isn't specific to any Docker system, instead it goes over things at a high level so that you can implement them in your own environment.