Sonarr can´t import downloaded files, but paths seems correct

Sonarr version (exact version): 2.0.0.5344
Mono version (if Sonarr is not running on Windows):5.20.1.34
OS: OpenMediaVault > Portainer
Debug logs:
Description of issue: Import failed, path does not exist or is not accessible by Sonarr

Hi everyone,

So, i installed Sonarr in my NAS OpenMediaVault throw Portainer. I setup the folders like these:

  • /tv IS /srv/dev-disk-by-label-1TB/Media/TvShows

  • /downloads (Where Transmission drops the completed downloaded files) IS /srv/dev-disk-by-label-1TB/Media/Downloads/completed

  • Config IS /srv/dev-disk-by-label-1TB/Config/sonarr

In Sonarr > Series Editor > Root Folder, when i choose /downloads it can “see” the sub folders, altough it doesnt files files (avi, mkv, etc…)

In the logs i have this (just 2 example lines), full log in the below gdrive link:

  • DownloadedEpisodesImportService Import failed, path does not exist or is not accessible by Sonarr: /data/completed/NAME OF THE FILE.mkv 12:50

  • DownloadedEpisodesImportService Import failed, path does not exist or is not accessible by Sonarr: /data/completed/NAME OF THE FILE.mkv 12:50

It seems a permission files/folders problem, any sugestions on how i can solve this?

I have read other examples of similar problems on the internet and read this https://old.reddit.com/r/usenet/wiki/docker also, but dont think my paths are mixed up… or maybe ther are…

Can someone help please?

Thanks.

Full log: https://drive.google.com/file/d/1k7XCGUGKwm3wcZj1rqF7CV9pk4aCbnO1/view?usp=sharing

you have /downloads mapped in sonarr, not /data (and i think theyre mapped differently as well)

you need to do one of the following

  • add a remote path mapping in sonarr for your download client from /data/completed/ to /downloads/
  • in the sonarr container map /data to what its mapped to in the download client container, which is probably /srv/dev-disk-by-label-1TB/Media/Downloads, and remove the mapping for /downloads

if this was my system i’d just have your config mapping, and a mapping for /media to /srv/dev-disk-by-label-1TB/Media and use everything off that.

ie your download client would save to /media/Downloads/completed (preferably /media/clientname/completed instead so you can handle more than one) and sonarr would have a root path of /media/TvShows

its simpler to understand when working with containers, and it also allows moves to work (at the moment sonarr has to copy)

I got it! This is a little confused to understand…

I did a little of both what you said:

  1. In Portainer, i duplicate/edit the Sonarr container and changed the volume /srv/dev-disk-by-label-1TB/Media/Downloads/completed to /data/completed
  2. In Sonarr > settings > download client > Remote Path Mappings , i placed Remote Path /srv/dev-disk-by-label-1TB/Media/Downloads/ as local path /data/

And it´s working…

This is confused because in my inexperience, the paths Nas uses are not the same as Sonarr and other container uses…

I also don´t understand why in the linuxserver/sonarr documentation the refer a path downloads when it seems to me it should be data, like you also said.

Anyway it seems to be working. Thanks for the help.

Don’t worry, it’s a pet peeve of mine (and I suspect lots of people too). Separate mounts might make sense for other applications, but for containers working so closely together like sonarr/radarr/download clients, moving lots of files around… no. Just no.

sorry, youre still confused. you only needed to do one of them to make it simpler, instead you did both and made it complex. yes it works, but its not efficient.

the easiest way to think about this is if two containers need tell each other where files are they must have an identical mapping setup.

eg, transmission is setup to save to /downloads/completed/... and /downloads is mapped to /volume1/media/downloads

if you want it to talk to sonarr, and for sonarr to understand you must map /downloads in sonarr to the same place you did in transmission.

if you do that then when sonarr asks transmission where the file is, and it says /downloads/completed/video.mkv then sonarr can see that file in that location because it has the same mapping setup for that.

if for some reason you cannot use the exact same mapping then thats where the remote path mapping comes in. you can tell sonarr that when transmission says the file is in /downloads/completed/video.mkv it should actually look in /downloads/video.mkv

for containerised apps on the same host you have no real excuse for doing it that way - just map the volume the same and be done with it. its more useful with apps that are hosted on different servers or locations. you can tell sonarr (running on windows) that when transmission says the file is in /downloads/completed/video.mkv it should actually look in N:\downloads\video.mkv

the overall simplest method, especially if using a single host, is to use a common root level across all your containers for your media processing, eg i use /media. transmission saves to /media/downloads/transmission/completed, sab saves to /media/downloads/sab/completed, sonarr has root folders for /media/tv/current and /media/tv/ended, radar uses /media/video/movies-new, plex/emby/jellyfin/etc also have /media mapped and libraries set for each appropriate folder.

they all run under the same user, media (or are in the media management group) so they have the appropriate permissions to those locations

it can be a pain to reconfigure everything like this, but its worth it. sonarr can move files instead of copying them (and that may seem pointless but constantly copying 1-2gb files around for no reason is a waste of server/nas resources when hard linked moves are instant and take practically no resources to create). it also makes troubleshooting later on much simpler as well. its all under one volume, not a mishmash of volumes. permissions are simpler. the whole thing ends up making more sense to you.

because its an example for an isolated container so it makes sense. you need a path to pick up downloads from. thats a reminder to make sure you have one.

where it doesnt make sense is if you have a much more tightly integrated setup in mind that will run across several containerised applications on the same host.

think about the above. you can leave it as is but it would be better if you understood why its working that way, and that you have options if you do want to clean it up later.

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.