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 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_socketsis helpful for troubleshooting (e.g. ping, traceroute) but is not a requirement.
Configure Network Properties to your liking
Configure Custom Properties to your liking
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
* If that does not exist, copy over
/etc/pkg/FreeBSD.confto that location, open it, and replace
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:
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
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
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_mlockis enabled in the jail
System.NET.Sockets.SocketException (43): Protocol not supported
VNETturned on for your jail, ip6=inherit, or ip6=new
The service script should now work around the lack of VNET and/or IP6 thus removing the requirement for VNET or ip6=inherit