Another, path does not exist or is not accessible by Sonarr

I did not.

Its the same at 999

There don’t appear to be any further controls over ‘Completed Download Handling’ other than an On/Off switch. I wondered if there was any further controls.

I created a new folder for sonarr to monitor:

volume1/downloads/tv

NZBGet is moving completed episodes into:

/volume1/Download/NZBGet/complete

Restarted both Sonarr and NZBGet, and cleared Sonarr’s logs

Added a new series.

The new series folder was not created inside ‘tv’ per the preferences.

Episodes all downloaded successfully into:

/volume1/Download/NZBGet/complete

It appears ‘Completed Download Handling’ is not functioning and the sonarr logs show:

Import failed, path does not exist or is not accessible by Sonarr: /volume1/Download/NZBGet/complete/tales.from.the.loop.s01e01.1080p.web.h264-insidious

Curiously, when I set ‘volume1/Downloads/Completed_Shows’ as Sonarr’s folder to monitor and NZBGet’s completed download location the new series folder IS created.

Sadly however, the episodes are left, unmoved, and unnamed in ‘volume1/Downloads/Completed_Shows’

0777 being the your current user account then I take it?

So seemingly NZBGet can access the share fine, but Sonarr can’t.

My only suggestion would be disabling Set Permissions in Sonarr, stop Sonarr in Portainer, add or identify a new share you want to use, add this in Portainer (and keep /volume1/Download), and deploy it. Then try again in Sonarr.

Unfortunately, short of some major revelation coming from this, I’m out of ideas (beyond ‘backup your settings and start from scratch’). :crossed_fingers:

Set Permissions - OFF

Stopped Sonarr in Portainer and added /Media/TV

Kicked off another new show. Same result. Missing empty series folder, and NZBGet successfully downloads and unpacks to: volume1/Downloads/NZBGet/complete

Looking at the logs in Portainer I see:

https://paste.ubuntu.com/p/r2shPhtpPw/

If I delete Sonarr from App Central, can I clear or delete Docker so as to start afresh?

BTW: I’m using Docker-ce ver. 19.03.8.r3

Try changing NZBGet to volume1/Media/NZBGet/complete (and /incomplete I’m guessing), as that seems to be where the issue still lies.

If the above doesn’t change anything, then in Sonarr go to System > Backup, click the Backup button, and once a new backup appears, click it to download.

You can uninstall Sonarr from App Central, and double check Portainer to make sure only Portainer shows in Containers, Images, and Volumes (if not, select and remove Sonarr). Then in ADM’s File Explorer open the Docker share and delete the Sonarr folder.

At that point you’re ready to start from scratch. If you want to be really thorough you can uninstall Portainer and Docker too, restart the NAS, and reinstall everything.

Try without restoring your Sonarr backup first. If that works, backup those settings and download them, restore your old settings and try again. If everything works fine, great. If not, restore the working settings, and start customising things to how you like, periodically testing to see if something specific was causing the issue.

Followed your instructions to the letter.

Reinstalled Sonarr and added ‘Indexers’ and ‘Download client’ config only (no other preferences were set).

Added a new series and immediately got the error:
Import failed, path does not exist or is not accessible by Sonarr: /volume1/Download/NZBGet/complete/friday.night.dinner.s06e01.1080p.hdtv.x264-failed

NZBGet worked correctly. Both Sonarr and NZBGet are using folders in the same volume (Sonarr - volume1/Download/Completed_Shows and NZBGet - volume1/Download/NZBGet/complete).

Portainer looks correct, with Sonarr container and volumes setup.

These are the version numbers

Sonarr - 2.0.0.5338.r01
Docker-ce - 19.03.8.r3
Portainer - 1.23.1.r1
NZBGet - 20180620

I’ve tried using ‘volume1/media’ and ‘volume1/download’.

The only other thing I can think of is that trying to use a native app with a Dockerised app is causing an issue. That’s what the volume mapping tries to work around.

Uninstall NZBGet (or maybe just disable in App Central for now) and install it using Portainer instead - https://hub.docker.com/r/linuxserver/nzbget/

If you need specific instructions of how to do so, let me know (I know that working it out the first time was a pain for me).

Promise this is my last stab at this, I’m out of ideas now.

You need to tell docker containers which user they have to “simulate” inside the container (PUID/PGID variables) for access as well. Easiest is to use the same user for all your containers, which has access to all folders it needs. Or different users in the same group, you get the idea.

Secondly, really don’t create all the bullshit separate volumes as advised by the linuxserver containers like /tv and /downloads etc.
Just create a single mount with the same name which points to the same location on your host and do this for all your docker containers. Then create subfolders underneath as required. Something generic like /data or /media…

Edit: I’m angry at linuxserver, not you :sweat_smile:

I take it your NZBGet is running inside Docker then?

Currently, access Control for the Sonarr Container appears to be assigned to the Administrators group.

Both PUID and PGID are set to 999

Are you saying that an alternate container should be setup the same way?

That’s definitely the easiest. Both (or more) containers will share the same access rights on folders and if that user/group has sufficient access then everything Just Works :tm:

Do you think there’s any value in downgrading Sonarr to a non-docker stable version as a test?

I don’t have NZBGet, but my torrent setup (Transmission, Jackett, Sonarr, and Radarr) is all Dockerised and running as admin, with only Plex being native.

If the Sonarr container is running as admin, then I’d suggest either running NBZGet as admin too, or running Sonarr as 777 (and disabling the chmod permissions in Sonarr, or at least testing it without first).

If you instead decide to use NZBGet in Docker, run it as admin (and keep Sonarr as admin).

Basically, run everything that will be interacting with each other, or the same files, under one user and set of permissions.

EDIT: I’ve never done it, but from what I’ve seen, trying to install apps natively onto an off-the-shelf NAS is a pain, unless the manufacturer supplies their own package (e.g. NZBGet).

My attention has turned to NZBGet, and the permissions it sets on downloads. I now believe that Sonarr isn’t able to move and rename because the file permissions set by NZBGet prevent it.

When I get Permissions in ADM’s file manager on folders inside:

volume1/Downloads/Completed_Shows/

*Including new series folders created by Sonarr

I notice that the Owner and Group permissions are:

Owner: admin
Group: administrators


However, newly downloaded episodes by NZBGet folder permissions are:

Owner: root
Group: root


Permissions for the media file itself show special permissions:

Owner: root
Group: root


When I hover over the special permissions I see:



Back to NZBGet > Settings > Security. Based on the info I found here: https://forum.nzbget.net/viewtopic.php?t=3140 I made sure the DaemonUsername = admin. Then changed the UMask = 0000

Then NZBGet > Settings > Unpack. Set UnrarCmd = unrar x -ai to ignore file attributes (permissions) that might be kept for the downloaded file.

No joy.

I think I need some way of changing the file ownership applied by NZBGet on new downloads to:

Owner: admin
Group: administrators

IL2BT - Thanks for all your help on this. I’ve reached the conclusion that I need to run NZBGet inside Docker as you’ve suggested.

I’ve been unable to find instructions on how to do this so far. Can you point me in a direction?

Sure!

Gonna make this generic where possible, so you can apply it to any future Docker image you want to use.

  • go to https://hub.docker.com/
  • search for (in this case) NZBGet
  • you’ll get a bunch of results, but typically go with the wisdom of the masses and choose the most popular one - though check when it was last updated. LinuxServer maintain a lot of images and are always a sure thing.
  • click on (in this case) linuxserver/nzbget and scroll down to (in this case) Usage
  • open Portainer and click on Containers, and then Add Container
  • now we’re basically going to translate what is under Usage into Portainer, anything I skip over leave as default

Name: NZBGet (or whatever you like really)

Image: linuxserver/nzbget (you can also use certain tags if you want to use dev builds, or an older version, but not adding one will just use the latest release build, the same as using linuxserver/nzbget:latest)

Manual network port publishing: click publish a new network port
host: 6789 (or anything that isn’t already used, you’ve already noticed that Asustor adds a 1 to the start of the port number to avoid any conflicts. Whatever port you specify may need to be forwarded on your router and in ADM > Settings > Manual Connect > EZ-Router > Self define - e.g. NZBGet, TCP, 6789, 6789, 6789)
container: 6789

Volumes: click map additional volumes
container: /config (then click Bind)
host: /volume1/Docker/NZBGet/config (or wherever you want, this is just the template Asustor would use)
Click map additional volumes again
container: /downloads (then click Bind)
host: /volume1/Download (or wherever you want)

Env: click add environment variable
name: PUID
value: 999 (or whatever is being used by Sonarr)
Click add environment variable again
name: PGID
value: 999 (or whatever is being used by Sonarr)
Click add environment variable again
name: TZ
value: Europe/London (or whatever is being used by Sonarr)

Restart policy: Unless stopped

Then click Deploy the container!

Hopefully it will be just that simple for you. Either way, let me know :+1:

Oh, to update it in future:
Portainer > Containers > NZBGet > Recreate > Pull latest image > Recreate

Then under Images there will be the old NZBGet image that you can remove.

You can do this with Sonarr too, as Asustor’s release schedule is somewhere between ‘when we get around to it’, and ‘hmm…what?’ :stuck_out_tongue_winking_eye:

Of course to save yourself the hassle of doing that every time there’s an update, have a look at https://hub.docker.com/r/containrrr/watchtower

Sorry, I just have to chime in here, whenever I see people pointing to the linuxserver containers.
Try to avoid making a plethora of specific mounts such as /downloads, /tv, /movies, /books, whatever.
The only exception is /config and this one is both absolutely required and needs to point to a uniqe folder on your host for a specific container. So the advice above (/volume1/Docker/NZBGet/config) is good :slight_smile:
Instead, use a single mount with a generic name like /data or /media if you prefer, then make subfolders underneath as required. E.g. /data/downloads, /data/series, /data/movies

Why?
All containers will have the same /data mount, so when your download client reports something is ready for pickup by sonarr in /data/downloads, sonarr will recognize this path and you don’t have to fiddle with remote path mappings.
Secondly, mounts are treated as separate hardddisks in docker (simplified explanation), so whenever a file needs to be moved, it will be a slow copy operation, even though behind the scenes it might be the same physical harddisk.
Move from /downloads to /tv = slow copy + delete. Move from /data/downloads to /data/series = instant move.

If you combine this with running related containers (download client, sonarr, radarr, …) with the same user/group combo (PUID and PGID) that has sufficient access on the underlying folder of your /data mount, you’ll never have permission issues either.

For Asustor (not sure about other NAS manufacturers, so I won’t generalise), root folders aren’t accessible in the UI, you have to specify a volume and then a share folder - for me that’s /volume1/Media, with subfolders within that.

Then I didn’t say anything :smiley:
Above setup looks good!

Outstanding instructions IL2BT! Followed them to the letter…Thank you!

After configuring NZBGet again using the webUI and new creds I’m getting this error:

Portainer volumes look like:

NZBGet Paths look like:

Permissions in the filesystem look like:

Is it possible NZBGet starts before: /volume1/Download/NZBGet/ is mounted?

Also, the NZBGet Container stops after a restart: