iocage create -n "readarr" -r 12.3-RELEASE vnet="on" allow_raw_sockets="1" allow_mlock="1" dhcp="on" bpf="yes" boot="on"
iocage console readarr
)fetch https://github.com/Thefrank/freebsd-port-sooners/releases/download/20210613/radarrv3-3.2.2.5080.txz
pkg install ./radarrv3-3.2.2.5080.txz
fetch "https://readarr.servarr.com/v1/update/healthchecks/updatefile?os=bsd&arch=x64&runtime=netcore" -o ./readarr.tar.gz
mkdir /usr/local/share/readarr
tar -xf ./readarr.tar.gz -C /usr/local/share/readarr
rm /usr/local/etc/rc.d/radarr
ee /usr/local/etc/rc.d/readarr
#!/bin/sh # PROVIDE: readarr # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf.local or /etc/rc.conf # to enable this service. Using sysrc will also work # # readarr_enable: Set to YES to enable readarr # Default: NO # readarr_user: The user account used to run the readarr daemon. # This is optional, however do not specifically set this to an # empty string as this will cause the daemon to run as root. # Default: readarr # readarr_group: The group account used to run the readarr daemon. # This is optional, however do not specifically set this to an # empty string as this will cause the daemon to run with group wheel. # Default: radarr # readarr_data_dir: Directory where readarr configuration # data is stored. # Default: "/usr/local/readarr" . /etc/rc.subr name=readarr rcvar=${name}_enable load_rc_config $name : ${readarr_enable:="NO"} : ${readarr_user:="readarr"} : ${readarr_group:="readarr"} : ${readarr_data_dir:="/usr/local/readarr"} pidfile="${readarr_data_dir}/${name}_daemon.pid" pidfile_child="${readarr_data_dir}/${name}_child.pid" command="/usr/sbin/daemon" start_precmd=${name}_precmd readarr_precmd() { if [ ! -d ${readarr_data_dir} ]; then install -d -o ${readarr_user} -g ${readarr_group} ${readarr_data_dir} fi chown -R ${readarr_user}:${readarr_group} /usr/local/share/readarr rc_flags="-r -f -p ${pidfile_child} -P ${pidfile} /usr/local/share/readarr/Readarr/Readarr --data=${readarr_data_dir} --nobrowser >> /dev/null 2>&1 ${rc_flags}" } run_rc_command "$1"
chmod +x /usr/local/etc/rc.d/readarr
pw user add readarr -c readarr -u 787 -d /nonexistent -s /usr/bin/nologin
mkdir /usr/local/readarr
chown -R readarr:readarr /usr/local/share/readarr/ /usr/local/readarr
sysrc readarr_enable=YES
service readarr start
pkg install chromaprint
sysrc readarr_data_dir="/config"
), and one additional one to be used for your "library".iocage fstab readarr -a /mnt/tank/apps/readarr /config nullfs rw 0 0
iocage exec readarr mkdir /mnt/library
iocage fstab readarr -a /mnt/tank/data/library /mnt/library nullfs rw 0 0
pw user add username -c username -u 787 -d /nonexistent -s /usr/bin/nologin
, replacing the username (twice) and the ID accordingly, then:sysrc readarr_user="user"
sysrc readarr_group="group"
chown -R readarr:readarr /mnt/library
chown -R user:group /mnt/library
(...)
I understand that Radarr isn't the app we want, we're just using that package to get the dotnet binaries.
(...)
It's right there in the iocage create.allow_raw_sockets="1" is absolutely necessary.
Thanks, looked but didn't easily find that.3) If you want to get rid of the "fpcalc" warning in the status page, install chromaprint.
OK, you caught me... I originally just renamed the radarr one and edited it, so didn't need to.1) You need to "chmod +x" the start script for it to work;
Yes. It was just to *stress* that this is really necessary.It's right there in the iocage create.
It works perfectly thank youYes, I have done that... (since you asked for it... I don't actually use it myself)
iocage create -n "readarr" -r 12.3-RELEASE vnet="on" allow_raw_sockets="1" allow_mlock="1" dhcp="on" bpf="yes" boot="on"
then with that jail console (iocage console readarr
)
Thanks to @FrankNAS: (see his experimental thread here: https://www.truenas.com/community/threads/experimental-radarr-v3-2-dotnet5-binary.91489/)
fetch https://github.com/Thefrank/freebsd-port-sooners/releases/download/20210613/radarrv3-3.2.2.5080.txz
I understand that Radarr isn't the app we want, we're just using that package to get the dotnet binaries.
pkg install ./radarrv3-3.2.2.5080.txz
fetch "https://readarr.servarr.com/v1/update/healthchecks/updatefile?os=bsd&arch=x64&runtime=netcore" -o ./readarr.tar.gz
mkdir /usr/local/share/readarr
tar -xf ./readarr.tar.gz -C /usr/local/share/readarr
rm /usr/local/etc/rc.d/radarr
ee /usr/local/etc/rc.d/readarr
Paste this content in that file, ESC to exit and elect to save:
Code:#!/bin/sh # PROVIDE: readarr # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf.local or /etc/rc.conf # to enable this service. Using sysrc will also work # # readarr_enable: Set to YES to enable readarr # Default: NO # readarr_user: The user account used to run the readarr daemon. # This is optional, however do not specifically set this to an # empty string as this will cause the daemon to run as root. # Default: readarr # readarr_group: The group account used to run the readarr daemon. # This is optional, however do not specifically set this to an # empty string as this will cause the daemon to run with group wheel. # Default: radarr # readarr_data_dir: Directory where readarr configuration # data is stored. # Default: "/usr/local/readarr" . /etc/rc.subr name=readarr rcvar=${name}_enable load_rc_config $name : ${readarr_enable:="NO"} : ${readarr_user:="readarr"} : ${readarr_group:="readarr"} : ${readarr_data_dir:="/usr/local/readarr"} pidfile="${readarr_data_dir}/${name}_daemon.pid" pidfile_child="${readarr_data_dir}/${name}_child.pid" command="/usr/sbin/daemon" start_precmd=${name}_precmd readarr_precmd() { if [ ! -d ${readarr_data_dir} ]; then install -d -o ${readarr_user} -g ${readarr_group} ${readarr_data_dir} fi chown -R ${readarr_user}:${readarr_group} /usr/local/share/readarr rc_flags="-r -f -p ${pidfile_child} -P ${pidfile} /usr/local/share/readarr/Readarr/Readarr --data=${readarr_data_dir} --nobrowser >> /dev/null 2>&1 ${rc_flags}" } run_rc_command "$1"
chmod +x /usr/local/etc/rc.d/readarr
pw user add readarr -c readarr -u 787 -d /nonexistent -s /usr/bin/nologin
mkdir /usr/local/readarr
chown -R readarr:readarr /usr/local/share/readarr/ /usr/local/readarr
sysrc readarr_enable=YES
service readarr start
pkg install chromaprint
Visit http://your.jail.IP.address:7878/
Some proposed "best practices" to go with the information above...
Aside from the program itself, you would normally have (at least) 2 locations for "data"... one for config (which can be modified withsysrc readarr_data_dir="/config"
), and one additional one to be used for your "library".
Personally, I would recommend keeping all config information outside the jail, so mounting something into the jail and then setting the readarr_data_dir appropriately to use it.
So it would go something like this...
create either a directory or dataset like tank/apps/readarr to store the config (which would mount to /mnt/tank/apps/readarr) then
On the host:
iocage fstab readarr -a /mnt/tank/apps/readarr /config nullfs rw 0 0
and if your Library were somewhere like /mnt/tank/data/library:
iocage exec readarr mkdir /mnt/library
iocage fstab readarr -a /mnt/tank/data/library /mnt/library nullfs rw 0 0
Then set that (/mnt/library) in the app as your root folder.
You may want to consider setting the user to a different one (making sure to match both the name and the user ID for the one you create in the jail to the one on the host and/or in your other jails... like the downloader... to avoid permissions issues).
You could re-use/replace the line from the setup abovepw user add username -c username -u 787 -d /nonexistent -s /usr/bin/nologin
, replacing the username (twice) and the ID accordingly, then:
sysrc readarr_user="user"
sysrc readarr_group="group"
(make sure to do all these additional bits before your start the service).
In any case, you will need to set permissions on your library folder so that the nominated user (readarr or whatever you named it) will have rw permissions:
inside the jail:
chown -R readarr:readarr /mnt/library
or
chown -R user:group /mnt/library
Here is the one of the log files with trace enabled.both of those look fine. can you make and attach trace logs? you can remove things like API keys
Are you talking about the post #3? Maybe it was just a typo...I think the port for Readarr is 8787 not 7878
Fair enough, updated it.I think the port for Readarr is 8787 not 7878