Radarr

Debian / Ubuntu

Note: Raspberry Pi OS and Raspbian are both flavors of Debian

Easy Install

For the Debian / Ubuntu / Raspbian beginners there isn’t an Apt Repository or Deb package.

If you want an easy life, follow this community provided and maintained Easy Install script for a base Debian (Raspbian / Raspberry Pi OS) / Ubuntu install.

For the official installation instructions that are ‘Hands on’ follow the Debian / Ubuntu Hands on Install steps further below.

Please see the *Arr Community Installation Script

Radarr uses a bundled version of ffprobe for media file analysis and does not require ffprobe or ffmpeg to be installed on the system. If Radarr says Ffprobe is not found this can typically be fixed with a reinstall.

Debian / Ubuntu Hands on Install

You’ll need to install the binaries using the below commands.

The steps below will download Radarr and install it into /opt
Radarr will run under the user radarr and group media; media is the commonly suggested group to run the *Arrs, download clients, and media server under.
Radarr’s configuration files will be stored in /var/lib/radarr

  • Ensure you have the required prerequisite packages:
sudo apt install curl sqlite3

Warning: Ignoring the below prerequisites will result in a failed installation and non-functional application.

Installation Prerequisites
The below instructions are based on the following prerequisites. Change the instructions as needed to suit your specific needs if necessary.
* The user radarr is created
* The user radarr is part of the group media
* Your download clients and media server run as and are a part of the group media
* Your paths used by your download clients and media server are accessible (read/write) to the group media
* You created the directory /var/lib/radarr and ensured the user radarr has read/write permissions for it for it

By continuing below, you acknowledge that you have read and met the above requirements.

  • Download the correct binaries for your architecture.
    • You can determine your architecture with dpkg --print-architecture
      • AMD64 use arch=x64
      • ARM, armf, and armh use arch=arm
      • ARM64 use arch=arm64
wget --content-disposition 'http://radarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64'
  • Uncompress the files:
tar -xvzf Radarr*.linux*.tar.gz
  • Move the files to /opt/
sudo mv Radarr /opt/

Note: This assumes you will run as the user radarr and group media. You may change this to fit your usecase. It’s important to choose these correctly to avoid permission issues with your media files. We suggest you keep at least the group name identical between your download client(s) and Radarr.

  • Ensure ownership of the binary directory.
sudo chown radarr:radarr -R /opt/Radarr
  • Configure systemd so Radarr can autostart at boot.

The below systemd creation script will use a data directory of /var/lib/radarr. Ensure it exists or modify it as needed. For the default data directory of /home/$USER/.config/Radarr simply remove the -data argument. Note: that $USER is the User Radarr runs as and is defined below.

cat << EOF | sudo tee /etc/systemd/system/radarr.service > /dev/null
[Unit]
Description=Radarr Daemon
After=syslog.target network.target
[Service]
User=radarr
Group=media
Type=simple

ExecStart=/opt/Radarr/Radarr -nobrowser -data=/var/lib/radarr/
TimeoutStopSec=20
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
  • Reload systemd:
sudo systemctl -q daemon-reload
  • Enable the Radarr service:
sudo systemctl enable --now -q radarr
  • (Optional) Remove the tarball:
rm Radarr*.linux*.tar.gz

Typically to access the Radarr web GUI browse to http://{Your server IP Address}:7878

Radarr uses a bundled version of ffprobe for media file analysis and does not require ffprobe or ffmpeg to be installed on the system. If Radarr says Ffprobe is not found this can typically be fixed with a reinstall.

If Radarr did not appear to start, then check the status of the service:

sudo journalctl --since today -u radarr

Uninstall

To uninstall and purge:

Warning: This will destroy your application data.

sudo systemctl stop radarr
sudo rm -rf /opt/Radarr
sudo rm -rf /var/lib/radarr
sudo rm -rf /etc/systemd/system/radarr.service
sudo systemctl -q daemon-reload

To uninstall and keep your application data:

sudo systemctl stop radarr
sudo rm -rf /opt/Radarr
sudo rm -rf /etc/systemd/system/radarr.service
sudo systemctl -q daemon-reload

FreeBSD

The Radarr 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.

Freshports Radarr Link

Jail Setup Using TrueNAS GUI

  1. From the main screen select Jails
  2. Click ADD
  3. Click Advanced Jail Creation
  4. Name (any name will work): Radarr
  5. Jail Type: Default (Clone Jail)
  6. Release: 12.2-Release (or newer)
  7. Configure Basic Properties to your liking
  8. Configure Jail Properties to your liking but add
  • allow_mlock
  • allow_raw_sockets

allow_raw_sockets is helpful for troubleshooting (e.g. ping, traceroute) but is not a requirement.

  1. Configure Network Properties to your liking
  2. Configure Custom Properties to your liking
  3. Click Save
  4. After the jail is created it will start automatically. One more property is required to be set in order for Radarr 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>

Radarr Installation

Back on the jails list find your newly created jail for radarr and click Shell

To install Radarr

* 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 replace quarterly with latest

pkg install radarr

Don’t close the shell out yet we still have a few more things!

Configuring Radarr

Now that we have it installed a few more steps are required.

Service Setup

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 Radarr when the built-in updater replaces files.

To enable the service:

sysrc radarr_enable=TRUE

If you do not want to use user/group radarr you will need to tell the service file what user/group it should be running under

sysrc radarr_user="USER_YOU_WANT"
sysrc radarr_group="GROUP_YOU_WANT"

radarr stores its data, config, logs, and PID files in /usr/local/radarr 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 radarr_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 radarr uses AND/OR add radarr to a GID that has write access.

Almost done, let’s start the service:

service radarr start

If everything went according to plan then radarr should be up and running on the IP of the jail (port 7878)!

You can now safely close the shell

Troubleshooting

  • The service appears to be running but the UI is not loading or the page is timing out
    • Double check that allow_mlock is enabled in the jail
  • System.NET.Sockets.SocketException (43): Protocol not supported
    • Make sure you have VNET turned 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

Docker

The Radarr team does not offer an official Docker image. However, a number of third parties have created and maintain their own.

These instructions provide generic guidance that should apply to any Radarr Docker image.

Avoid Common Pitfalls

Volumes and Paths

There are two common problems with Docker volumes: Paths that differ between the Radarr and download client container and paths that prevent fast moves and hard links.

The first is a problem because the download client will report a download’s path as /torrents/My.Movie.2018/, but in the Radarr container that might be at /downloads/My.Movie.2018/. The second is a performance issue and causes problems for seeding torrents. Both problems can be solved with well planned, consistent paths.

Most Docker images suggest paths like /movies and /downloads. This causes slow moves and doesn’t allow hard links because they are considered two different file systems inside the container. Some also recommend paths for the download client container that are different from the Radarr container, like /torrents.

The best solution is to use a single, common volume inside the containers, such as /data. Your Movies would be in /data/Movies, torrents in /data/downloads/torrents and/or usenet downloads in /data/downloads/usenet.

If this advice is not followed, you may have to configure a Remote Path Mapping in the Radarr web UI (Settings › Download Clients).

Ownership and Permissions

Permissions and ownership of files is one of the most common problems for Radarr users, both inside and outside Docker. Most images have environment variables that can be used to override the default user, group and umask, you should decide this before setting up all of your containers. The recommendation is to use a common group for all related containers so that each container can use the shared group permissions to read and write files on the mounted volumes.
Keep in mind that Radarr will need read and write to the download folders as well as the final folders.

SABnzbd

Quick Install Guide for Ubuntu

On a standard Ubuntu Server / Desktop 20.04 or Higher.

sudo add-apt-repository ppa:jcfp/nobetas
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install sabnzbdplus

After that, you have the newewst stable SABnzbd, and it is updated automatically each time you update Ubuntu.

Full Install Guide

If the above does not work, follow this guide.

First, some preparation to make sure your system can handle extra repositories:

sudo apt-get install software-properties-common

Then, make sure multiverse and universe are enabled:

sudo add-apt-repository multiverse
sudo add-apt-repository universe

Now add the repository. Choose either the nobetas channel, to receive only final stable releases:

sudo add-apt-repository ppa:jcfp/nobetas

Or if you wish to recieve alpha/beta/rc releases, go for the regular option:

sudo add-apt-repository ppa:jcfp/ppa

Tell apt to update so it learns of the new packages and proceed to install the program and its dependencies:

sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install sabnzbdplus

How To Start

To start the program, find the SABnzbd item in the Networking section of your desktop menu, or from the command line just execute:

sabnzbdplus

You should run SABnzbd as a normal user: the program does not need root access or any other special permissions.


How To Run as a Service

If you want the program to be started as a service (i.e., in the background on system boot), edit (as root) the text file /etc/default/sabnzbdplus and set the required USER= and the optional settings to your liking. If your system uses systemd, which has been the default since Ubuntu 15.04, run sudo systemctl daemon-reload after modifying the settings.

Once configured correctly, the service can be started and stopped with the usual commands:

sudo service sabnzbdplus start

and

sudo service sabnzbdplus stop

Although for obvious reasons no browser is auto-started when running the program like this, the web interface is still available at the usual location of http://localhost:8080/sabnzbd/ (or whatever other host and port you configured).

How-To: Auto back up files and Dirs

Backup script

Step 1 – archive the content

Backing up your files using tar is very simple using the following command:

# tar -cvpzf /backup/backupfilename.tar.gz /data/directory

A real example would be backing up the HTML folder for your website, my case:

# tar -cvpzf /backup/admfactory.com.tar.gz /var/www/html

Note: make sure the destination folder exists first. If not create it using the following command:

# mkdir /backup

Tar command explained

  • tar = Tape archive
  • c = Create
  • v = Verbose mode will print all files that are archived.
  • p = Preserving files and directory permissions.
  • z = This will tell tar that to compress the files.
  • f = It allows tar to get the file name.

Step 2 – create backup script

Now let’s add tar command in a bash script to make this backup process automatic. Also it good to add some dynamic value in the name to make sure there is no overwriting of backup files. e.g.

Create the file using vi editor and paste below script.

# vi /backup.sh

Paste the following script and change your details.

#!/bin/bash
TIME=`date +%b-%d-%y`                      # This Command will read the date.
FILENAME=backup-admfactory-$TIME.tar.gz    # The filename including the date.
SRCDIR=/var/www/html                       # Source backup folder.
DESDIR=/backup                             # Destination of backup file.
tar -cpzf $DESDIR/$FILENAME $SRCDIR

Note: I removed the v parameter for tar command line as is not needed.

Automation

In Linux, we can easily use the cron jobs in order to schedule task.

The cron jobs line has 6 parts see below explanation:

Minutes Hours  Day of Month Month Day of Week  Command
0 to 59 0 to 23 1 to 31 1 to 12 0 to 6 Shell Command

Open crontab editor utility:

# crontab -e

Note: the edit rules are similar with vi editor.

Paste the following text in the editor:

# M H DOM M DOW CMND
00 04 * * * /bin/bash /backup.sh

This will run the script every day at 04:00:00.

For example, if you want to run the script only twice a week:

# M H DOM M DOW CMND
00 04 * * 1,5 /bin/bash /backup.sh

This will run the script at 04:00:00 every Monday and Friday.

Note: the only risk that can occur is to get out of disk memory if the source folder is big.