Link Search Menu Expand Document

How to install Radarr in a FreeNAS iocage jail

This is how i installed a Radarr, an independent fork of Sonarr reworked for automatically downloading movies via Usenet and BitTorrent, on FreeNAS in a iocage jail.

Table of contents
  1. Getting started
    1. Prerequisites
    2. Udate and upgrade
  2. Install radarr
  3. Configuring folders
  4. User configuration
  5. Mono 5.20
  6. Authors
  7. Acknowledgments

Getting started

These instructions will tell you how to add storage to an iocage jail, install and run Radarr and integrate Radarr with Deluge.


  • 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@Radarr:/ # pkg upgrade && pkg update

Update and upgrade your iocage jail first:

root@Radarr:/ # pkg upgrade && pkg update

Install radarr

root@Radarr:~ # pkg install radarr
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:
	mediainfo: 19.09
	libzen: 19.09
	libmediainfo: 19.09
	tinyxml2: 7.1.0,1
	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 440 MiB more space.
108 MiB to be downloaded.

Proceed with this action? [y/N]: y

Message from mono-

If you have build/runtime errors with Mono and Gtk# apps please try the
following first:

* Build Mono and gtk+ (x11-toolkits/gtk20) without CPUTYPE and with the
  default FreeBSD CFLAGS ('-O2 -fno-strict-aliasing -pipe') as Mono has
  been known to expose compiler bugs.

* Try building and running Mono with the GENERIC kernel.
  - Mono requires SYSVSHM, SYSVMSG, and SYSVSEM which are part of the
    GENERIC kernel.
  - Removing kernel options or changing defaults to use experimental
    options can adversely affect Mono's ability to build and run.

* Remove leftover semaphores / increase semaphore limits.
  - Close apps which use Mono and run `ipcs -sbt`.  Remove the
    semaphores with MODE "--rw-------" and NSEMS "8" using ipcrm (1)
  - _OR_ simply reboot which is the safest method.
  - On multi-user systems the semaphore limits may need to be increased
    from the defaults. The following should comfortably support 30 users.

    # echo "kern.ipc.semmni=40" >> /boot/loader.conf
    # echo "kern.ipc.semmns=300" >> /boot/loader.conf

* If you are in a jailed environment, ensure System V IPC are enabled.
  You can rely on the security.jail.sysvipc_allowed  sysctl to check
  this status.  The following enables this feature on the host system:
    # echo "jail_sysvipc_allow=\"YES\"" >> /etc/rc.conf

* Some process information are accessed through /proc (e.g. when using
  NUnit) and procfs(5) has to be mounted for these features to work:
    # echo "proc            /proc   procfs  rw 0 0" >> /etc/fstab
root@Radarr:~ # 

To be able to update Radarr, the user which executes the service, (radarr), needs rights to the Startup directory:

root@Radarr:~ # cd /usr/local/share/
root@Radarr:/usr/local/share # chown -R radarr radarr/

Set radarr_enable="YES" in /etc/rc.conf, then start the Radarr service by executing

root@Radarr:/usr/local/etc/rc.d # service radarr start

Configuring folders

Stop the Radarr jail.

Add two mount points, one folder for the Movies, the other folder for handling the Deluge transfer.

  • Source: /mnt/Breaking/Movies
  • Destination: /mnt/Breaking/iocage/jails/Radarr/root/mnt/Movies

  • Source: /mnt/Breaking/Torrents
  • Destination: /mnt/Breaking/iocage/jails/Radarr/root/mnt/Torrents
root@Radarr:/mnt # getfacl Movies/
# file: Movies/
# owner: 1000
# group: 1002
oot@Radarr:/mnt # pw groupadd movies -g 1052
root@Radarr:/mnt # pw usermod radarr -G movies
root@Radarr:/mnt # getfacl Torrents/
# file: Torrents/
# owner: 1000
# group: 922
root@Radarr:/mnt # pw groupadd deluge -g 922
root@Radarr:/mnt # pw usermod radarr -G movies,deluge
root@Radarr:/mnt # groups radarr
radarr movies deluge

User configuration

===> Creating groups.
Creating group 'radarr' with gid '352'.
===> Creating users
Creating user 'radarr' with uid '352'.

Under the installation, a radarr user and group was created with a uid and gid of 352:

You can change that users uid from 352 to for example 923 with this:

root@Radarr:~ # id radarr
uid=352(radarr) gid=352(radarr) groups=352(radarr)
root@Radarr:~ # pw usermod radarr -u 923
root@Radarr:~ # id radarr
uid=923(radarr) gid=351(radarr) groups=351(radarr)

Replace ownage of 352 with user:group radarr:

root@Radarr:~ # find / -user 352 -exec chown -h radarr {} \;
root@Radarr:~ # find / -group 352 -exec chgrp -h radarr {} \;

Mono 5.20

pkg install screen
pkg install llvm90
pkg install -y llvm80 libepoxy-1.5.2
nano /tmp/mono-patch-

Copy everything from into that file, save and close


Mr. Johnson