The Readarr team only provides builds for FreeBSD. Plugins and Ports are maintained and created by the FreeBSD community.
Instructions for FreeBSD installations are also maintained by the FreeBSD community and anyone with a GitHub account may update the wiki as needed.
From the main screen select Jails
Click ADD
Click Advanced Jail Creation
Name (any name will work): Readarr
Jail Type: Default (Clone Jail)
Release: 12.2-Release (or newer)
Configure Basic Properties to your liking
Configure Jail Properties to your liking but add
allow_raw_sockets
is helpful for troubleshooting (e.g. ping, traceroute) but is not a requirement.
Configure Network Properties to your liking
Configure Custom Properties to your liking
Click Save
After the jail is created it will start automatically. One more property is required to be set in order for Readarr to see the storage space of your mounted media locations. Open a root shell on the server and enter these commands:
iocage stop <jailname>
iocage set enforce_statfs=1 <jailname>
iocage start <jailname>
Back on the jails list find your newly created jail for readarr
and click "Shell"
To install Readarr
* Ensure your pkg repo is configured to get packages from
/latest
and not/quarterly
* Check/usr/local/etc/pkg/repos/FreeBSD.conf
* If that does not exist, copy over/etc/pkg/FreeBSD.conf
to that location, open it, and replacequarterly
withlatest
pkg install readarr
Don't close the shell out yet we still have a few more things!
Now that we have it installed a few more steps are required.
Time to enable the service but before we do, a note:
The updater is disabled by default. The pkg-message
gives instructions on how to enable the updater but keep in mind: this can break things like pkg check -s
and pkg remove
for Readarr when the built-in updater replaces files.
To enable the service:
sysrc readarr_enable=TRUE
If you do not want to use user/group readarr
you will need to tell the service file what user/group it should be running under
sysrc readarr_user="USER_YOU_WANT"
sysrc readarr_group="GROUP_YOU_WANT"
readarr
stores its data, config, logs, and PID files in /usr/local/readarr
by default. The service file will create this and take ownership of it IF AND ONLY IF IT DOES NOT EXIST. If you want to store these files in a different place (e.g., a dataset mounted into the jail for easier snapshots) then you will need to change it using sysrc
sysrc readarr_data_dir="DIR_YOU_WANT"
Reminder: If you are using an existing location then you will manually need to either: change the ownership to the UID/GID readarr
uses AND/OR add readarr
to a GID that has write access.
Almost done, let's start the service:
service readarr start
If everything went according to plan then readarr should be up and running on the IP of the jail (port 8787)!
You can now safely close the shell
The service appears to be running but the UI is not loading or the page is timing out
allow_mlock
is enabled in the jailSystem.NET.Sockets.SocketException (43): Protocol not supported
VNET
turned on for your jail, ip6=inherit, or ip6=newThe service script should now work around the lack of VNET and/or IP6 thus removing the requirement for VNET or ip6=inherit