How to install Sonarr in a FreeNAS iocage jail
This is how i installed a Sonarr, an independent fork of Sonarr reworked for automatically downloading movies via Usenet and BitTorrent, on FreeNAS in a iocage jail.
Table of contents
Getting started
These instructions will tell you how to add storage to an iocage jail, download, install and run Sonarr as a specific user, and integrate it with Deluge.
Prerequisites
- Knowledge of SSH and how to navigate to your jail in FreeNAS
- FreeNAS 11.2 and knowledge of how to create a jail with shares and knowledge of UNIX folder and files permissions
Udate and upgrade
Update and upgrade your iocage jail first:
root@Sonarr:/ # pkg upgrade && pkg update
Install Sonarr
root@Sonarr:~ # pkg install sonarr
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 44 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
sonarr: 2.0.0.5322
mediainfo: 19.09
libzen: 19.09
libmediainfo: 19.09
tinyxml2: 7.1.0,1
mono: 5.10.1.57_2
ca_root_nss: 3.49.2
python27: 2.7.17_1
readline: 8.0.1
indexinfo: 0.3.1
libffi: 3.2.1_3
gettext-runtime: 0.20.1
py27-pillow: 6.2.2
tk86: 8.6.10_1
libXrender: 0.9.10_2
libX11: 1.6.9,1
libxcb: 1.13.1
libXdmcp: 1.1.3
xorgproto: 2019.2
libXau: 1.0.9
libxml2: 2.9.10
libpthread-stubs: 0.4
libXext: 1.3.4,1
libXScrnSaver: 1.2.3_2
libXft: 2.3.3
fontconfig: 2.12.6,1
expat: 2.2.8
freetype2: 2.10.1
tcl86: 8.6.10
py27-tkinter: 2.7.17_6
py27-setuptools: 41.4.0_1
webp: 1.0.3_1
tiff: 4.1.0
jpeg-turbo: 2.0.3
jbigkit: 2.1_1
png: 1.6.37
giflib: 5.2.1
openjpeg: 2.3.1
lcms2: 2.9
py27-olefile: 0.46
libinotify: 20180201_1
curl: 7.67.0
libnghttp2: 1.40.0
sqlite3: 3.30.1
Number of packages to be installed: 44
The process will require 439 MiB more space.
107 MiB to be downloaded.
Proceed with this action? [y/N]: y
Set sonarr_enable="YES"
in /etc/rc.conf
, then start the Sonarr service by executing
root@Sonarr:/usr/local/etc/rc.d # service sonarr start
Make the user sonarr
the owner of Sonarr’s startup directory. This will enable you to update Sonarr from the GUI.
root@Sonarr:/usr/local/share # chown -R sonarr sonarr/
Configuring folders
Stop the Sonarr jail.
Add two mount points, one folder for the TV Shows, the other folder for handling the Deluge transfer.
- Source: /mnt/Breaking/TV Shows
-
Destination: /mnt/Breaking/iocage/jails/Sonarr/root/mnt/TV Shows
- Source: /mnt/Breaking/Torrents
- Destination: /mnt/Breaking/iocage/jails/Sonarr/root/mnt/Torrents
Under the installation, a sonarr
user and group was created with a uid
and gid
of 351
:
(...)
===> Creating groups.
Creating group 'sonarr' with gid '351'.
===> Creating users
Creating user 'sonarr' with uid '351'.
(...)
You can change the uid:gid with this;
root@Sonarr:~ # id sonarr
uid=351(sonarr) gid=351(sonarr) groups=351(sonarr)
root@Sonarr:~ # pw usermod sonarr -u 923
root@Sonarr:~ # pw usermod sonarr -g 923
root@Sonarr:~ # id sonarr
uid=923(sonarr) gid=923(sonarr) groups=923(sonarr)
Replace ownage of 351
with user:group sonarr
:
root@Sonarr:~ # find / -user 351 -exec chown -h sonarr {} \;
root@Sonarr:~ # find / -group 351 -exec chgrp -h sonarr {} \;
root@Sonarr:~ # getfacl /mnt/TV\ Shows/
# file: /mnt/TV Shows/
# owner: 1000
# group: 1002
group:1006:r-x---a-R-c---:fd-----:allow
group:1014:r-x---a-R-c---:fd-----:allow
group:90000009:r-x---a-R-c---:fd-----:allow
group@:rwxpDdaARWc---:fd-----:allow
owner@:rwxpDdaARWcCo-:fd-----:allow
root@Sonarr:~ # pw groupadd warez -g 1002
root@Sonarr:~ # pw usermod sonarr -G warez
root@Sonarr:~ # groups sonarr
351 sonarr warez
root@Sonarr:/mnt/Torrents # getfacl Finished/
# file: Finished/
# owner: 1000
# group: 922
group@:rwxp-daARWc---:fd----I:allow
owner@:rwxpDdaARWcCo-:fd----I:allow
root@Sonarr:/mnt/Torrents #
root@Sonarr:/mnt/Torrents # pw groupadd deluge -g 922
root@Sonarr:/mnt/Torrents # pw usermod sonarr -G sonarr,warez,deluge
Authors
Mr. Johnson