Permissions Issues with Plex/Sonarr/Radarr/Transmission

Kiskaa

Dabbler
Joined
May 3, 2018
Messages
43
Hi there,

I know this has been covered many times, and I`ve tried following many guides, and read up on documents, but the more I read, the more confused im getting. I`m having serious issues getting my head around jails and permissions.
Just to state, this is the guide I`ve been following for my setup.
https://forums.freenas.org/index.ph...lidarr-jackett-ombi-transmission-organizr.58/

However, I do have a slight difference.
Plex: Plex is installed in the old Jail system (Warden)
Transmission: Is installed via the plugin system.
Below is an image of the storage mounts created for those 2.
https://i.imgur.com/wp9Sg5o.png

Sonarr, Radarr & Lidarr, are using iocage system.
Images of my mounts below.
Sonarr: https://i.imgur.com/ntm2YhJ.png
Radarr: https://i.imgur.com/zLw7a6z.png
Lidarr: https://i.imgur.com/D4gGkLJ.png

Here is a list of my storage: https://i.imgur.com/0hogX8W.png
Apps: https://i.imgur.com/NZfvTUa.png
Downloads: https://i.imgur.com/fMwguWn.png
Home: https://i.imgur.com/CmNJbxS.png
MULTIMEDIA: https://i.imgur.com/HJxd5CC.png
OSX: https://i.imgur.com/4vhchEL.png

Plexapps: https://i.imgur.com/wmOuNcw.png
Jacket: https://i.imgur.com/hxbMFMk.png
Lidarr: https://i.imgur.com/8bV5kgp.png
Ombi: https://i.imgur.com/3tpK75l.png
Organizr: https://i.imgur.com/fV2GER2.png
Plex: https://i.imgur.com/4JKY2c9.png
Plexpy: https://i.imgur.com/0ujFKjD.png
Radarr: https://i.imgur.com/wSUm1bt.png
Sonarr: https://i.imgur.com/HiLKALZ.png
Transmission: https://i.imgur.com/ZiZb9xP.png

Also, my media/media user/group that was in FreeNAS has a very strange uid. Its built-in, and I cant change them.
User: media 8675309
Group: media 8675309

I have also created the following users and group
USER GROUP
lidarr 1005 lidarr 1005
Plex 1001 Plex 1001
radarr 1004 radarr 1004
sonarr 1002 sonarr 1002
transmission 1003 transmission 1003

Each user belongs to the group media and the respective group for that user
eg, Plex belongs to the groups media and Plex

Currently, I`ve only setup and installed the following, Transmission, PlexMediaServer-PlexPass version, Sonarr, Radarr, and Lidarr. I've not gotten around to doing the rest, since I`ve been having issues with what I set up already, and wanted to get my head around everything before continuing.

Whats basically happening is, when Sonarr downloads an episode, it gets added to transmission, downloads, but then fails to move it into my media area, and remove the download from transmission.
Radarr is the same, I`ve not tested Lidarr yet, but I suspect it`ll have the exact same issue.

Here is some of the log from Sonarr. https://i.imgur.com/zoyps2a.png
HTML:
18-6-27 14:00:50.4|Warn|ImportApprovedEpisodes|Couldn't import episode /mnt/torrents/Transmission/Sonarr/The.100.S05E08.iNTERNAL.1080p.WEB.x264-METCON[rarbg]/The.100.S05E08.iNTERNAL.1080p.WEB.x264-METCON.mkv

[v2.0.0.5228] System.UnauthorizedAccessException: Access to the path is denied.
  at System.IO.File.Move (System.String sourceFileName, System.String destFileName) [0x00116] in <c5bcd0ec45b240acb20cfcfa5eee2246>:0
  at NzbDrone.Common.Disk.DiskProviderBase.MoveFileInternal (System.String source, System.String destination) [0x00000] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Mono.Disk.DiskProvider.MoveFileInternal (System.String source, System.String destination) [0x00076] in <cd50cb4f3a50490d80a10df172583553>:0
  at NzbDrone.Common.Disk.DiskProviderBase.MoveFile (System.String source, System.String destination, System.Boolean overwrite) [0x000e3] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TryMoveFileVerified (System.String sourcePath, System.String targetPath, System.Int64 originalSize) [0x00047] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TryMoveFileTransactional (System.String sourcePath, System.String targetPath, System.Int64 originalSize, NzbDrone.Common.Disk.DiskTransferVerificationMode verificationMode) [0x0018b] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TransferFile (System.String sourcePath, System.String targetPath, NzbDrone.Common.Disk.TransferMode mode, System.Boolean overwrite, NzbDrone.Common.Disk.DiskTransferVerificationMode verificationMode) [0x003ce] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TransferFile (System.String sourcePath, System.String targetPath, NzbDrone.Common.Disk.TransferMode mode, System.Boolean overwrite, System.Boolean verified) [0x0000e] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.TransferFile (NzbDrone.Core.MediaFiles.EpisodeFile episodeFile, NzbDrone.Core.Tv.Series series, System.Collections.Generic.List`1[T] episodes, System.String destinationFilePath, NzbDrone.Common.Disk.TransferMode mode) [0x0012c] in <f8c4a2c9e6194b509efc6018724d76df>:0
  at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.MoveEpisodeFile (NzbDrone.Core.MediaFiles.EpisodeFile episodeFile, NzbDrone.Core.Parser.Model.LocalEpisode localEpisode) [0x0006c] in <f8c4a2c9e6194b509efc6018724d76df>:0
  at NzbDrone.Core.MediaFiles.UpgradeMediaFileService.UpgradeEpisodeFile (NzbDrone.Core.MediaFiles.EpisodeFile episodeFile, NzbDrone.Core.Parser.Model.LocalEpisode localEpisode, System.Boolean copyOnly) [0x0017c] in <f8c4a2c9e6194b509efc6018724d76df>:0
  at NzbDrone.Core.MediaFiles.EpisodeImport.ImportApprovedEpisodes.Import (System.Collections.Generic.List`1[T] decisions, System.Boolean newDownload, NzbDrone.Core.Download.DownloadClientItem downloadClientItem, NzbDrone.Core.MediaFiles.EpisodeImport.ImportMode importMode) [0x00272] in <f8c4a2c9e6194b509efc6018724d76df>:0

18-6-27 14:02:08.0|Warn|ImportApprovedEpisodes|Couldn't import episode /mnt/torrents/Sonarr/Arrow.S06E07.iNTERNAL.720p.WEB.x264-BAMBOOZLE[rarbg]/arrow.s06e07.internal.720p.web.x264-bamboozle.mkv

[v2.0.0.5228] System.UnauthorizedAccessException: Access to the path is denied.
  at System.IO.File.Move (System.String sourceFileName, System.String destFileName) [0x00116] in <c5bcd0ec45b240acb20cfcfa5eee2246>:0
  at NzbDrone.Common.Disk.DiskProviderBase.MoveFileInternal (System.String source, System.String destination) [0x00000] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Mono.Disk.DiskProvider.MoveFileInternal (System.String source, System.String destination) [0x00076] in <cd50cb4f3a50490d80a10df172583553>:0
  at NzbDrone.Common.Disk.DiskProviderBase.MoveFile (System.String source, System.String destination, System.Boolean overwrite) [0x000e3] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TryMoveFileVerified (System.String sourcePath, System.String targetPath, System.Int64 originalSize) [0x00047] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TryMoveFileTransactional (System.String sourcePath, System.String targetPath, System.Int64 originalSize, NzbDrone.Common.Disk.DiskTransferVerificationMode verificationMode) [0x0018b] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TransferFile (System.String sourcePath, System.String targetPath, NzbDrone.Common.Disk.TransferMode mode, System.Boolean overwrite, NzbDrone.Common.Disk.DiskTransferVerificationMode verificationMode) [0x003ce] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TransferFile (System.String sourcePath, System.String targetPath, NzbDrone.Common.Disk.TransferMode mode, System.Boolean overwrite, System.Boolean verified) [0x0000e] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.TransferFile (NzbDrone.Core.MediaFiles.EpisodeFile episodeFile, NzbDrone.Core.Tv.Series series, System.Collections.Generic.List`1[T] episodes, System.String destinationFilePath, NzbDrone.Common.Disk.TransferMode mode) [0x0012c] in <f8c4a2c9e6194b509efc6018724d76df>:0
  at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.MoveEpisodeFile (NzbDrone.Core.MediaFiles.EpisodeFile episodeFile, NzbDrone.Core.Parser.Model.LocalEpisode localEpisode) [0x0006c] in <f8c4a2c9e6194b509efc6018724d76df>:0
  at NzbDrone.Core.MediaFiles.UpgradeMediaFileService.UpgradeEpisodeFile (NzbDrone.Core.MediaFiles.EpisodeFile episodeFile, NzbDrone.Core.Parser.Model.LocalEpisode localEpisode, System.Boolean copyOnly) [0x0017c] in <f8c4a2c9e6194b509efc6018724d76df>:0
  at NzbDrone.Core.MediaFiles.EpisodeImport.ImportApprovedEpisodes.Import (System.Collections.Generic.List`1[T] decisions, System.Boolean newDownload, NzbDrone.Core.Download.DownloadClientItem downloadClientItem, NzbDrone.Core.MediaFiles.EpisodeImport.ImportMode importMode) [0x00272] in <f8c4a2c9e6194b509efc6018724d76df>:0

18-6-27 14:02:14.8|Warn|ImportApprovedEpisodes|Couldn't import episode /mnt/torrents/Transmission/Sonarr/The.100.S05E08.1080p.HDTV.x264-PLUTONiUM[rarbg]/The.100.S05E08.1080p.HDTV.x264-PLUTONiUM.mkv

[v2.0.0.5228] System.UnauthorizedAccessException: Access to the path is denied.
  at System.IO.File.Move (System.String sourceFileName, System.String destFileName) [0x00116] in <c5bcd0ec45b240acb20cfcfa5eee2246>:0
  at NzbDrone.Common.Disk.DiskProviderBase.MoveFileInternal (System.String source, System.String destination) [0x00000] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Mono.Disk.DiskProvider.MoveFileInternal (System.String source, System.String destination) [0x00076] in <cd50cb4f3a50490d80a10df172583553>:0
  at NzbDrone.Common.Disk.DiskProviderBase.MoveFile (System.String source, System.String destination, System.Boolean overwrite) [0x000e3] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TryMoveFileVerified (System.String sourcePath, System.String targetPath, System.Int64 originalSize) [0x00047] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TryMoveFileTransactional (System.String sourcePath, System.String targetPath, System.Int64 originalSize, NzbDrone.Common.Disk.DiskTransferVerificationMode verificationMode) [0x0018b] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TransferFile (System.String sourcePath, System.String targetPath, NzbDrone.Common.Disk.TransferMode mode, System.Boolean overwrite, NzbDrone.Common.Disk.DiskTransferVerificationMode verificationMode) [0x003ce] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TransferFile (System.String sourcePath, System.String targetPath, NzbDrone.Common.Disk.TransferMode mode, System.Boolean overwrite, System.Boolean verified) [0x0000e] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.TransferFile (NzbDrone.Core.MediaFiles.EpisodeFile episodeFile, NzbDrone.Core.Tv.Series series, System.Collections.Generic.List`1[T] episodes, System.String destinationFilePath, NzbDrone.Common.Disk.TransferMode mode) [0x0012c] in <f8c4a2c9e6194b509efc6018724d76df>:0
  at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.MoveEpisodeFile (NzbDrone.Core.MediaFiles.EpisodeFile episodeFile, NzbDrone.Core.Parser.Model.LocalEpisode localEpisode) [0x0006c] in <f8c4a2c9e6194b509efc6018724d76df>:0
  at NzbDrone.Core.MediaFiles.UpgradeMediaFileService.UpgradeEpisodeFile (NzbDrone.Core.MediaFiles.EpisodeFile episodeFile, NzbDrone.Core.Parser.Model.LocalEpisode localEpisode, System.Boolean copyOnly) [0x0017c] in <f8c4a2c9e6194b509efc6018724d76df>:0
  at NzbDrone.Core.MediaFiles.EpisodeImport.ImportApprovedEpisodes.Import (System.Collections.Generic.List`1[T] decisions, System.Boolean newDownload, NzbDrone.Core.Download.DownloadClientItem downloadClientItem, NzbDrone.Core.MediaFiles.EpisodeImport.ImportMode importMode) [0x00272] in <f8c4a2c9e6194b509efc6018724d76df>:0

18-6-27 14:02:24.5|Warn|ImportApprovedEpisodes|Couldn't import episode /mnt/torrents/Transmission/Sonarr/The.100.S05E08.iNTERNAL.1080p.WEB.x264-METCON[rarbg]/The.100.S05E08.iNTERNAL.1080p.WEB.x264-METCON.mkv

[v2.0.0.5228] System.UnauthorizedAccessException: Access to the path is denied.
  at System.IO.File.Move (System.String sourceFileName, System.String destFileName) [0x00116] in <c5bcd0ec45b240acb20cfcfa5eee2246>:0
  at NzbDrone.Common.Disk.DiskProviderBase.MoveFileInternal (System.String source, System.String destination) [0x00000] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Mono.Disk.DiskProvider.MoveFileInternal (System.String source, System.String destination) [0x00076] in <cd50cb4f3a50490d80a10df172583553>:0
  at NzbDrone.Common.Disk.DiskProviderBase.MoveFile (System.String source, System.String destination, System.Boolean overwrite) [0x000e3] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TryMoveFileVerified (System.String sourcePath, System.String targetPath, System.Int64 originalSize) [0x00047] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TryMoveFileTransactional (System.String sourcePath, System.String targetPath, System.Int64 originalSize, NzbDrone.Common.Disk.DiskTransferVerificationMode verificationMode) [0x0018b] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TransferFile (System.String sourcePath, System.String targetPath, NzbDrone.Common.Disk.TransferMode mode, System.Boolean overwrite, NzbDrone.Common.Disk.DiskTransferVerificationMode verificationMode) [0x003ce] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Common.Disk.DiskTransferService.TransferFile (System.String sourcePath, System.String targetPath, NzbDrone.Common.Disk.TransferMode mode, System.Boolean overwrite, System.Boolean verified) [0x0000e] in <8faeb593f49341d6a7a6d2c3c281887c>:0
  at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.TransferFile (NzbDrone.Core.MediaFiles.EpisodeFile episodeFile, NzbDrone.Core.Tv.Series series, System.Collections.Generic.List`1[T] episodes, System.String destinationFilePath, NzbDrone.Common.Disk.TransferMode mode) [0x0012c] in <f8c4a2c9e6194b509efc6018724d76df>:0
  at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.MoveEpisodeFile (NzbDrone.Core.MediaFiles.EpisodeFile episodeFile, NzbDrone.Core.Parser.Model.LocalEpisode localEpisode) [0x0006c] in <f8c4a2c9e6194b509efc6018724d76df>:0
  at NzbDrone.Core.MediaFiles.UpgradeMediaFileService.UpgradeEpisodeFile (NzbDrone.Core.MediaFiles.EpisodeFile episodeFile, NzbDrone.Core.Parser.Model.LocalEpisode localEpisode, System.Boolean copyOnly) [0x0017c] in <f8c4a2c9e6194b509efc6018724d76df>:0
  at NzbDrone.Core.MediaFiles.EpisodeImport.ImportApprovedEpisodes.Import (System.Collections.Generic.List`1[T] decisions, System.Boolean newDownload, NzbDrone.Core.Download.DownloadClientItem downloadClientItem, NzbDrone.Core.MediaFiles.EpisodeImport.ImportMode importMode) [0x00272] in <f8c4a2c9e6194b509efc6018724d76df>:0

18-6-27 14:04:17.0|Info|Bootstrap|Starting Sonarr - /usr/local/share/NzbDrone/NzbDrone.exe - Version 2.0.0.5228
18-6-27 14:04:17.5|Info|AppFolderInfo|Data directory is being overridden to [/config]
18-6-27 14:04:17.6|Info|Router|Application mode: Interactive
18-6-27 14:04:17.8|Info|MigrationLogger|*** Migrating data source=/config/nzbdrone.db;cache size=-10485760;datetimekind=Utc;journal mode=Wal;pooling=True;version=3 ***
18-6-27 14:04:18.0|Info|MigrationLogger|*** Migrating data source=/config/logs.db;cache size=-10485760;datetimekind=Utc;journal mode=Wal;pooling=True;version=3 ***
18-6-27 14:04:18.0|Info|OwinHostController|Listening on the following URLs:
18-6-27 14:04:18.0|Info|OwinHostController|  http://*:8989/
18-6-27 14:04:18.2|Info|NancyBootstrapper|Starting Web Server
18-6-27 14:04:19.5|Warn|MonoDebugCheck|Mono is not running with --debug switch
18-6-27 14:04:54.3|Warn|ImportApprovedEpisodes|Couldn't import episode /mnt/torrents/Sonarr/Arrow.S06E07.iNTERNAL.720p.WEB.x264-BAMBOOZLE[rarbg]/arrow.s06e07.internal.720p.web.x264-bamboozle.mkv

What I'm looking for is some advice and perhaps a walkthrough of sorting out these permissions issues. I`m just not getting my head around them.
I`ve been at this for several days now, and the more I`m investigating, and the more I try, the more utterly confused I`m getting.
I`m on the verge of just installing windows server, but I`d rather not do that if possible, since I prefer Linux in concept, and have already transferred many TB`s of data into my storage pools etc which took several days.

Sorry for the extremely long post, if there is any more data/info that's needed, please feel free to ask me for it.
Thanks in advance.
Max
 

Kiskaa

Dabbler
Joined
May 3, 2018
Messages
43
Not sure if this will help identify the problem, but if I go into my storage manager on FreeNAS, and redo my permissions recursively, sonarr and radarr both then move the files into the required directory.
https://i.imgur.com/a3r3DMj.png
So basically, it's setting the downloads back to media:media
When checking the permissions of the files before I do that, they are as follows
https://i.imgur.com/eDpMs68.png
Im assuming this user 921 (based on the permissions post linked in the guide), is coming from transmission, any suggestions please, I think I need to somehow make transmissions permissions corrent.
 

mow4cash

Contributor
Joined
Jan 20, 2017
Messages
132
I make the user of radarr, sonarr and transmisson "media" using something like this. I'm not sure if this is correct but also struggled with permissions.

Code:
iocage exec sonarr  service sonarr onestop
iocage exec sonarr "pw user add media -c media -u 8675309 -d /nonexistent -s /usr/bin/nologin"
iocage exec sonarr "pw groupadd -n media -g 8675309"
iocage exec sonarr "pw groupmod media -m sonarr"
iocage exec sonarr chown -R media:media /usr/local/share/NzbDrone /config
iocage exec sonarr  sysrc 'sonarr_user=media'
 

ByteNick

Explorer
Joined
Jan 24, 2015
Messages
98
I am getting mad with the permissions. No guide foud here helped me out.
I am on 11.2 nighlites, installed the plugind via the interface and trying to set up the permissions manually.

Is this wotking well for someone?
 

gt2416

Patron
Joined
Feb 4, 2018
Messages
262
Sonarr and Radarr gave me so much headaches (besides permissions) on FreeNAS I installed a windows vm just for it. (HUGE resource waste).
I couldnt get the permissions right with the media user either, so I used my user and did what mow4cash said. That will work for any plugin using media as a user.
 

Kiskaa

Dabbler
Joined
May 3, 2018
Messages
43
I actually ended up completely redoing my jails, and following this script to setup everything within one jail. Now everything is working like a charm.
Hope this helps others.
https://github.com/NasKar2/mono5.12

I used this script and after making a few edits, worked a charm.
This is the thread post that was pertaining to it.
https://forums.freenas.org/index.php?threads/problem-with-updating-radarr.62447/

I know this post is about updating radarr, but on page 2, a guy called NasKar created scripts for updating mono, but the script itself worked well for sorting out my downloaders/permissions issues.
I have plex in its own jail, with sonarr, radarr, lidarr, sabnzbd and transmission in the other jail. I now have no permissions problems.
I had to do a manual transmission install since it wasn't part of the script, however it wouldnt be hard to add in transmission to be part of the script too.
 

ByteNick

Explorer
Joined
Jan 24, 2015
Messages
98
I actually ended up completely redoing my jails, and following this script to setup everything within one jail. Now everything is working like a charm.
Hope this helps others.
https://github.com/NasKar2/mono5.12

I used this script and after making a few edits, worked a charm.
This is the thread post that was pertaining to it.
https://forums.freenas.org/index.php?threads/problem-with-updating-radarr.62447/

I know this post is about updating radarr, but on page 2, a guy called NasKar created scripts for updating mono, but the script itself worked well for sorting out my downloaders/permissions issues.
I have plex in its own jail, with sonarr, radarr, lidarr, sabnzbd and transmission in the other jail. I now have no permissions problems.
I had to do a manual transmission install since it wasn't part of the script, however it wouldnt be hard to add in transmission to be part of the script too.
Brilliant!
However, what is PORTS_PATH?
 

Kiskaa

Dabbler
Joined
May 3, 2018
Messages
43
Brilliant!
However, what is PORTS_PATH?
I had the same question actually.
I didnt have to specify it in the install.sh file, as that auto created it. Once its created, I had to specify it in the appsinstall.sh config.
For example, my entry in the appinstall.sh file is as follows after running install.sh
PORTS_PATH="/mnt/FREENAS-STORAGE/portsnap"

I also had to edit line 22, 23 and 26 in the install.sh file.
$SCRIPTPATH/mono-config I had to change to $SCRIPTPATH/configs to get it to work. Same change on the other 2 lines.

You`ll also want to goto line 70 onwards, and check the path for the fstab entries, and specify the correct paths to your dataset/media files.
For example, line 70, I had to change to this for my install to work correctly with my exisiting data. However, if you have no existing data, you can use the defaults I`m guessing.
iocage fstab -a ${JAIL_NAME} ${POOL_PATH}/MULTIMEDIA /mnt/media nullfs rw 0 0


On the appisntall.sh, I also had to make the change to the lines 27, 28 and 31 (same as in the previous file for the mono-config entry)
If you also scroll down to line 87, you`ll see where its making directories in the datasets, you`ll want to make sure you edit those to your existing dataset if you have pre-existing media.

Hope this helps.
Basically, just go through the file checking the entries so they match up with your own file system setup.
Once i`d made those changes, I ran install.sh which took about 15-20mins.
Once that was complete, I ran appinstall.sh.
All worked flawlessly.
 

yomismo

Dabbler
Joined
Sep 18, 2013
Messages
41
iocage exec sonarr chown -R media:media /usr/local/share/NzbDrone /config
why you do that ?


edit: is that because guide ? https://forums.freenas.org/index.ph...lidarr-jackett-ombi-transmission-organizr.58/

Code:
iocage fstab -a sonarr /mnt/tank1/apps/sonarr /config nullfs rw 0 0
iocage fstab -a sonarr /mnt/tank1/torrents /mnt/torrents nullfs rw 0 0
iocage fstab -a sonarr /mnt/tank1/video /mnt/video nullfs rw 0 0
iocage exec sonarr ln -s /usr/local/bin/mono /usr/bin/mono
iocage exec sonarr "fetch http://download.sonarr.tv/v2/master/mono/NzbDrone.master.tar.gz -o /usr/local/share"
iocage exec sonarr "tar -xzvf /usr/local/share/NzbDrone.master.tar.gz -C /usr/local/share"
iocage exec sonarr rm /usr/local/share/NzbDrone.master.tar.gz
iocage exec sonarr "pw user add sonarr -c sonarr -u 351 -d /nonexistent -s /usr/bin/nologin"
iocage exec sonarr chown -R sonarr:sonarr /usr/local/share/NzbDrone /config
 
Last edited:

marcevan

Patron
Joined
Dec 15, 2013
Messages
432
Just to note that before I do anything on the command line, I like to try options that the plugin offers.

To that end, Sonarr has a section to change owner and permissions on files it completes.

But as I'm writing this is doesn't. Thought I've had it chmod 777 to all files (wide open, but just testing), it does not. Files remain 351 (? if I remember rightly). It also does not change the owner to nobody which should be a ubiquitous user.

So every morning I go and command line to tv-sonarr directory, chmod and chown there and then manually move the files. Frustrating.

I'm thinking this could be a simply shell script to recursively perform this then chron it at 5am or so. Since I do not now much about that, could use some pointers.
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,544
Just to note that before I do anything on the command line, I like to try options that the plugin offers.

To that end, Sonarr has a section to change owner and permissions on files it completes.

But as I'm writing this is doesn't. Thought I've had it chmod 777 to all files (wide open, but just testing), it does not. Files remain 351 (? if I remember rightly). It also does not change the owner to nobody which should be a ubiquitous user.

So every morning I go and command line to tv-sonarr directory, chmod and chown there and then manually move the files. Frustrating.

I'm thinking this could be a simply shell script to recursively perform this then chron it at 5am or so. Since I do not now much about that, could use some pointers.
You can go to the ACL manager, change the ACL preset to "OPEN", then add an entry for the sonarr UID (with permisisons = BASIC: MODIFY and flags BASIC: INHERIT), and every other needed user / group, check the "recursive" checkbox, and click "apply". The extra explicit ACL entries will persist even if an application decides to chmod() the files.
 

marcevan

Patron
Joined
Dec 15, 2013
Messages
432
ACL Manager? Only thing I like to do is go to settings in Sonarr and it shows it will chown to guest, and chmod 777. It does neither. So in the interest of not waiting until other parties update Sonarr to the point where it's settings actually work, I go to the directory where it puts the files, and manually chown and chmod and I move them as appropriate.

I have no idea what an ACL manager is.
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,544
ACL Manager? Only thing I like to do is go to settings in Sonarr and it shows it will chown to guest, and chmod 777. It does neither. So in the interest of not waiting until other parties update Sonarr to the point where it's settings actually work, I go to the directory where it puts the files, and manually chown and chmod and I move them as appropriate.

I have no idea what an ACL manager is.
I'm talking about filesystem ACLs on the dataset on the NAS where Sonarr is writing to (although I may be misunderstanding the situation since I don't use Sonarr). ACLs are a wonderful tool, granted they give users enough rope to hang themselves (and throw in a few extra feet for good measure).
 
Top