Helping with Sonarr on Synology: Root Issues

Okay, this is kind of a noob issue. I purchased a DS1515+ recently to use as my media hub. I am trying to add series by importing them from the local disk. This local disk is volume1 on my Synology NAS. The path is “/volume1/Media/TV Shows”, but everything I try to add this location I get an error “Path is already configured as a root folder”. How exactly do I fix this issue? I was using this setup on a windows laptop, but needed a more reliable solution. I have installed mono and most of the process has been harder than normal because Synocommunity is down. Thanks for any help that you can provide. I just wanted to get my system back up and running smoothly.

Where are you trying to use that path?

Given that message it was already added on the add series : add existing screen.

When I click on “Add Series” I first get an “Internal Server Error: /api/rootfolder” and I haven’t added the path via “Import existing series on disk”.

I also get another internal error.

Okay, an update to the statement above. Sonarr allowed me to add “/volume1/Media”, but I need to go to “/volume1/Media/TV”.

There should be an error in the logs corresponding to that UI error, what do the logs show?

NzbDroneErrorPipeline ->

Invalid request Validation failed:
– Path does not exist

That looks like a permissions issue. If I recall correctly others had issues due to how the user permissions are handled so they had to use a different folder (there was another post on these forums about it).

1 Like

Thank you for your help. With that information I managed to resolved the issue without having to use a different folder. I determined that Sonarr needs read/write permission (read only would probably work, but I decided to go all the way) from the Users group over the share. Once I gave the Users group the appropriate permissions. I was able to located the correct folder and everything started working.

Hi AdelCain

Are you able to elaborate on the permissions issue? What did you change on the Synology?

I am having the same issue with Sonarr and my Synology box. Both Sonarr and Synology are running the latest versions. Basically since I changed from Sickbeard to Sonarr - I have been unable to setup new TV shows without a real battle. It seemed to import the existing show folders OK. Basically I have to muck around with creating the folder first and then trying several things to get it to accept the path.

My path is similar to yours - volume1/Media/TV/

/Media is a shared folder on the Synology.

/Media/TV has R/W permissions for owner - group and everyone. So - Sonarr should not have any issues with read/write to any of the folders.

When I click on +Add Series - I get Internal Server error: /api/rootfolder display in the lower right of the window.

I then type the name of the show and that displays OK.
Looking at the selected show - Path is set to ‘Select Path’. My options are ‘Select Path’ or ‘Add a different Path’.
If I press the add button with ‘Select Path’ - I get Invalid Path display in red.
If I select ‘Add a different Path’ it shows a new window with Select Folder.
Enter the path that contains some or all of your TV series, you will be able to choose which series you want to import.

I’m not trying to add an existing show - I’m trying to add a new one. It does this whether I choose ‘Import existing series on disk’ or ‘Add new Series’. Either way gives me the same window.

Within that window I start typing the path -
/volumes1/Media/TV/
(This shows all of my TV show folders within this folder)

When I press the green select button I get ‘Path is already configured as a root folder’

Looking at the folder permissions for TV - R/W owner&group&everyone

I create a folder and set the permissions for everyone as R/W - still cannot select the folder as the path.

So - what permissions did you set or change? Who is the owner and group for your Media folder?
Did you change the permissions on the Media folder or just the TV folder?

Do you know what Sonarr runs as on the Synology box. Does it run as root or admin?

Any help would be great. If I can’t get this going - I’ll have to return back to using sickbeard.

Thanks

Hello Computersange,

Sonarr appears to responded to the User Group. After changing the User Group permissions to read/write for the Media share I was able to locate the folders. Currently, in my Groups I have Administrators, HTTP, and Users.

If it’s not an issue, please post a photo of your user and group permissions for the Media share on your Synology NAS. I would like to help you resolve this issue, because I think Sonarr is the way to go.

Thanks AbelCain

Here are my permissions on my Media folder for group users-

Just to add some more info -

I don’t think it’s a permissions issue - so I looked at the api/root error I’m getting. Reading some other forums about this issue it appears to be an issue with the RootFolder being an invalid path stored in Sonarr’s db.
I copied the /volume1/@appstore/nzbdrone/share/NzbDrone/nzbdrone.db file from my Synology box to my desktop to have a look at it. Using ‘DB Browser for SQLite’ application I got it to open the db on my desktop. In there is a lot of stuff but under RootFolders is this -

The correct root folder for me should just be /volumes1/Media/TV/

All the other paths are not correct. Interestingly - the TV shows I tried to add that failed are listed in the root folder.

Maybe markus101 might have a better idea - but - I assume I just need to delete the id’s 2-6 out of the table RootFolder. This would leave just one root path of /volumes1/Media/TV/

Can I just stop Sonarr - edit the db file - start Sonarr again?

Thanks

Yes, remove them. Thats how I would do it.

Ladies and Gentlemen - we have a winner!

I deleted the entries within the table for RootFolder and restarted Sonarr.

Now when I try and add a show the Path is displaying the correct path AND it added the show just fine.

markus101 - maybe if this is such an important thing within Sonarr - there should be an easier way you correct it - when you have stuffed it up as badly as I have. Have no idea how that happened - but I did it. If people have to do what I did and edit the nzbdrone.db file - they are probably not going to. They are either going to delete the whole thing and start again or give up. Judging from the amount of posts about the /api/rootfolder - I don’t think I’m the only one.

Maybe in the System Info section it could show you the entries for RootFolder and maybe an option to remove/delete incorrect entries.

Failing that - maybe a warning before Sonarr adds another entry into RootFolders table. Do you really want to add this path and stuff up Sonarr Yes/No
:smile:

Thanks

I don’t think a prompt to confirm makes sense, people will click yes anyways and its just annoying (its only purpose is to be annoying). People don’t read unless they have to and even then its selective.

You can remove them from that dialog, but some underlying error prevented them from being visible to remove, not knowing what that error was we can’t do anything to prevent it from happening (if you have the error in your logs still please let us know what it is).

Why? Thats just annoying and its not like anyone would read the message before clicking yes. Otherwise there wouldn’t be people adding paths to actual series in that dialog.

I think we should do two things:

  1. Prevent people from adding a path that may cause issues later (likely permissions as I’d hazard a guess that adding /volume1 was the issue here)
  2. Prevent permission errors from preventing root folders from loading (assuming thats the issue).

Yes - I think the /volume1 as one of the root paths was my issue. Sonarr would not have access to that folder. All the other folders it should of had R/W access.

How to prevent it … getting Sonarr to check permission access before adding it would be a good idea.

Just to clarify - are you saying that you can edit the Root folder path in System Info now? Because my System info window looks like this -

Maybe I need multiple root paths for it to be visible - or are you talking about a different location within Sonarr?

Thanks

No. You can remove them from the same place you add them (when they load properly).

Not knowing exactly what error you were getting means we can’t really do anything, do you still have those logs?

Yes I do. Just flicked through them and saw this -

I can send you a copy if you like. Is it the nzbdrone.txt file you need?

If you click on the event it should show you the full message, just need that I think.

Thanks.

Message -
Request Failed: Access to the path “/volume1/Media/Restricted TV” is denied.

Exception - 
System.UnauthorizedAccessException: Access to the path "/volume1/Media/Restricted TV" is denied.
at System.IO.Directory.GetFileSystemEntries (string,string,System.IO.FileAttributes,System.IO.FileAttributes) <0x00117>
at System.IO.Directory.GetDirectories (string,string) <0x0001b>
at System.IO.Directory.GetDirectories (string) <0x00017>
at NzbDrone.Common.Disk.DiskProviderBase.GetDirectories (string) <0x000f3>
at NzbDrone.Core.RootFolders.RootFolderService.GetUnmappedFolders (string) <0x001d0>
at NzbDrone.Core.RootFolders.RootFolderService.<AllWithUnmappedFolders>b__0 (NzbDrone.Core.RootFolders.RootFolder) <0x00097>
at System.Collections.Generic.List`1<NzbDrone.Core.RootFolders.RootFolder>.ForEach (System.Action`1<NzbDrone.Core.RootFolders.RootFolder>) <0x0004b>
at NzbDrone.Core.RootFolders.RootFolderService.AllWithUnmappedFolders () <0x000cb>
at NzbDrone.Api.NzbDroneRestModule`1<NzbDrone.Api.RootFolders.RootFolderResource>.ToListResource<NzbDrone.Core.RootFolders.RootFolder> (System.Func`1<System.Collections.Generic.IEnumerable`1<NzbDrone.Core.RootFolders.RootFolder>>) <0x0001e>
at NzbDrone.Api.RootFolders.RootFolderModule.GetRootFolders () <0x00067>
at NzbDrone.Api.REST.RestModule`1<NzbDrone.Api.RootFolders.RootFolderResource>.<set_GetResourceAll>b__c (object) <0x0001a>
at (wrapper dynamic-method) object.CallSite.Target (System.Runtime.CompilerServices.Closure,System.Runtime.CompilerServices.CallSite,System.Func`2<object, object>,object) <0x000a0>
at Nancy.Routing.Route/<>c__DisplayClass4.<Wrap>b__3 (object,System.Threading.CancellationToken) <0x0013b>