Categories
Self-Hosted

How to Install Radarr on Ubuntu 20.04 Easily

It’s easy to install Radarr on Ubuntu 20.04 and only takes 4 steps. In this tutorial you will also learn how to install Mono, a C# run time that Radarr is programmed, and download the latest release of Radarr from GitHub and install it on Ubuntu 20.04 before the installation. In order to make Radarr to automatically restart after reboot, we also add a systemd service.

Here the Radarr version is v2 and it is working for its intended use.

Radarr & Ubuntu 20.04

Radarr is a web application that monitors and downloads movies for you, whether the movie has already been released or yet to be announce. You can also download old movies by manually searching for them. With Radarr installed, you don’t have manually search for new movies but have Radarr automate that for you. It is often used with Kodi to watch the downloaded TV shows and Sonarr to automate TV show downloads. It is worth to mention that Radarr started as a fork of Sonarr. They have the same functions, the only difference between Radarr and Sonarr are that Radarr is for movies and Sonarr is for TV shows.

The downloaded files are often through torrent clients such as Transmission or Deluge to external hard drives. Radarr is perfect for legal purposes, for example, you don’t have to transfer from your DVD or Blu-ray disks to a computer or a hard drive. With Radarr, you don’t even have to own a DVD/Blueray player or buy an external DVD/Blueray reader.

As the latest version of the most popular Linux distribution Ubuntu, Ubuntu 20.04 is released recently in April 2020 and has standard support until Apr 2025. It will reach the end of life for 10 years until April 2030. This release brings a new Yaru theme compared to Ubuntu 18.04 (and also both 14.04 and 16.04) and supports night mode, good for your internal clock. It has GNOME 3.6 which has improved performance. Most importantly, Ubuntu 20.04 comes with NVIDIA Linux driver itself, so you don’t have to take extra steps to install it through the “additional drivers” tab in the “Software & Updates” program.

You might have just installed Ubuntu 20.04 and want to install Radarr to automate your life, at least for watching TV shows. This tutorial has been run on Ubuntu 20.04 but can also apply to Debian or Raspbian 10 if you are setting up Radarr on your Raspberry Pi.

Before installing Radarr on Ubuntu

You will need to have a Debian-based Linux distro installed, preferably Ubuntu 20.04 to install Radarr.

Because we will add new Ubuntu APT repository and install some packages system wide, you will need to have root access.

Step 1 — Install Mono, the framework Radarr is written in

Mono is an open-source C# .NET framework implementation, originally targeted to Linux. We are going to install it as Radarr is written in C# and need the Mono runtime.

In the following, we will install mono-devel from mono’s own official Ubuntu 20.04 repository, which is also recommended by the official Sonarr installation guide. However, if you prefer your system packaged mono, you can directly install mono-devel by running sudo apt install mono-devel.

Install needed packages

To install mono’s official package, we will first install software gnupg and ca-certificates. gnupg is called GNU privacy guard, which is developed at GNU organization and used to make network communication and data storage secure by encrypting data with digital signatures. ca-certificates provides certificate authorities that issue the digital signatures (certificate authorities), so one can check if the data is authentically transferred through the HTTPS protocol.

sudo apt install gnupg ca-certificates

If you see similar output as follows, it indicates that the two software is installed. On my machine, the two packages are already installed on my Ubuntu 20.04 machine, but it is safer to run them anyways to avoid problems in later steps if we do not have them installed.

Output of "sudo apt install gnupg ca-certificates"
Reading package lists… Done
Building dependency tree
Reading state information… Done
ca-certificates is already the newest version (20190110ubuntu1).
gnupg is already the newest version (2.2.19-3ubuntu2).
0 upgraded, 0 newly installed, 0 to remove and 46 not upgraded.

Add Mono’s official key

With the needed tools installed, we will now use apt-key to add the public key 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF owned by Xamarin, which is the company developing Mono. We use the adv parameter here to pass advanced parameters to apt-key such as key server and the key string. With this Mono key installed, mono related packages that were signed by this key will be authenticated and considered trusted.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

The output will be like the following. You can see the key owner is Xamarin Public Jenkins (auto-signing) and the associated email (releng@xamarin.com). Jenkins is an automation server for building, testing, and deploying software.

Adding mono's key: Output of sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
Executing: /tmp/apt-key-gpghome.t1ACjSQp0Q/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
gpg: key A6A19B38D3D831EF: public key "Xamarin Public Jenkins (auto-signing) releng@xamarin.com" imported
gpg: Total number processed: 1
gpg: imported: 1

Add Mono’s Ubuntu 20.04 repository

Now we will add Mono project’s official Ubuntu 20.04 repository (APT data source) to the mono-official-stable.list file in the directory /etc/apt/sources.list.d/. If you see the output deb https://download.mono-project.com/repo/ubuntu stable-focal main, the repo is successfully added.

echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
Add mono's Ubuntu 20.04 repository

Now we run sudo apt update to get all the information about the packages from Mono’s repo. Technically, we resynchronize the package index files. You will see the output in the following screenshot. Note that you will receive a warning about the repo not supporting i386 architecture, safely ignore it as the chases are you are running on a 64-bit machine.

Skipping acquire of configured file ‘main/binary-i386/Packages’ as repository ‘https://download.mono-project.com/repo/ubuntu stable-focal InRelease’ doesn’t support architecture ‘i386’

sudo apt update
sudo apt update after adding mono's Ubuntu repo
Hit:1 https://download.docker.com/linux/ubuntu bionic InRelease
Hit:2 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:4 http://packages.ros.org/ros/ubuntu focal InRelease
Get:5 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
Get:6 https://download.mono-project.com/repo/ubuntu stable-focal InRelease [4,416 B]
Get:7 http://archive.ubuntu.com/ubuntu focal-updates InRelease [107 kB]
Get:8 http://archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB]
Get:9 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 Packages [46.6 kB]
Get:10 http://security.ubuntu.com/ubuntu focal-security/main i386 Packages [23.4 kB]
Get:11 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [94.0 kB]
Get:12 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [54.1 kB]
Get:13 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [21.1 kB]
Get:14 http://security.ubuntu.com/ubuntu focal-security/main amd64 DEP-11 Metadata [16.6 kB]
Get:15 http://security.ubuntu.com/ubuntu focal-security/universe amd64 DEP-11 Metadata [208 B]
Get:16 http://archive.ubuntu.com/ubuntu focal-updates/main i386 Packages [48.5 kB]
Get:17 http://archive.ubuntu.com/ubuntu focal-updates/main Translation-en [35.0 kB]
Get:18 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 DEP-11 Metadata [90.5 kB]
Get:19 http://archive.ubuntu.com/ubuntu focal-updates/main DEP-11 48x48 Icons [21.4 kB]
Get:20 http://archive.ubuntu.com/ubuntu focal-updates/main DEP-11 64x64 Icons [30.5 kB]
Get:21 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metadata [2,240 B]
Get:22 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [30.5 kB]
Get:23 http://archive.ubuntu.com/ubuntu focal-updates/universe i386 Packages [21.7 kB]
Get:24 http://archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [14.9 kB]
Get:25 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 DEP-11 Metadata [21.5 kB]
Get:26 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 c-n-f Metadata [1,264 B]
Get:27 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 DEP-11 Metadata [532 B]
Fetched 891 kB in 1s (756 kB/s)
Reading package lists… Done
Building dependency tree
Reading state information… Done
55 packages can be upgraded. Run 'apt list --upgradable' to see them.
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'https://download.mono-project.com/repo/ubuntu stable-focal InRelease' doesn't support architecture 'i386'

Install mono-devel package

Now we will finally install the Mono package, more accurately the mono-devel package. As its name suggests, this package contains development tools and pulls in the development stack for Mono. You will see similar output from the following screenshot. Press enter or type Y and press enter to continue. After mono installation, it will take 382 MB disk space. The installation will be slow as it will compile on your machine.

sudo apt install mono-devel
installing mono-devel after "sudo apt install mono-devel"

Very good. Now you have mono installed on your Ubuntu 20.04 machine, the most important dependency of Radarr installation, and Sonarr if you know it.

To verify it, let’s check the version of Mono. You will see similar output like the following screenshot. In my case, Mono JIT compiler version 6.8.0.123 is installed. JIT means just-in-time, which says it will compile on fly.

mono --version
Checking the vesion of mono for Radarr installation

Reference

Step 2 — Install dependencies for Radarr

With mono installed, we will also install curl and mediainfo on your Ubuntu 20.04 Linux OS, as suggested by the official Radarr installation guide.

sudo apt install curl mediainfo

It will output something like the following. Here I already have all the dependencies for Radarr downloaded. If it asks a question, you can press Enter to proceed.

Install Radarr dependencies on Ubuntu 20.04
Reading package lists… Done
Building dependency tree
Reading state information… Done
curl is already the newest version (7.68.0-1ubuntu2).
mediainfo is already the newest version (19.09-1build1).
mediainfo set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Step 3 — Install latest Radarr release on Ubuntu 20.04

Unlike Sonarr, Radarr does not have an official Ubuntu repo for you to install on your Ubuntu 20.04 computer. Instead, we will not download the latest release from Radarr’s official GitHub repo. In case you don’t know, GitHub is extremely popular code sharing service and Radarr developers host their code there: https://github.com/Radarr/Radarr/.

Download latest Radarr release from GitHub

First, we will run the following command, curl, to download the latest release archive in .tar.gz format, which is similar to the common zip format.

curl -L -O $( curl -s https://api.github.com/repos/Radarr/Radarr/releases | grep linux.tar.gz | grep browser_download_url | head -1 | cut -d \" -f 4 )
downloading latest release of Radar from GitHub
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:-- 0 0 0 0 0 0 0 0 --:--:-- --:--100 649 100 649 0 0 1925 0 --:--:-- --:--:-- --:--:-- 1920
83 7421k 83 6226k 0 0 5579k 0 0:00:01 0:00100 7421k 100 7421k 0 0 6138k 0 0:00:01 0:00:01 --:--:-- 12.6M

You will see the output like the above: here the downloaded archive is 12.6 MB. To verify, we run ls Radarr*. As you can see, we downloaded the Linux develop version 0.2.0.1480: Radarr.develop.0.2.0.1480.linux.tar.gz. You version might be different from mine. Even though the archive is not Ubuntu or Ubuntu 20.04 specific, but we are fine because Ubuntu belongs to the Linux family.

ls Radarr*

Uncompress Radarr on Ubuntu 20.04

Once the latest release of Radarr is downloaded, we will now uncompress it and move it to the /opt directory.

Run the following with tar command to uncompress it. As you can see, the passed parameter looks similar: here we are really uncompressing Radarr.develop.0.2.0.1480.linux.tar.gz.

tar -xvzf Radarr.*.linux.tar.gz

Then you will see a lengthy list of files all under the Radarr directory (your filename might contain master rather than develop):

uncompressing and installing radarr Linux develop

For your reference, here is the full list:

Radarr/antlr.runtime.dll
Radarr/antlr.runtime.dll.mdb
Radarr/CookComputing.XmlRpcV2.dll
Radarr/CurlSharp.dll
Radarr/CurlSharp.dll.config
Radarr/CurlSharp.dll.mdb
Radarr/FluentMigrator.dll
Radarr/FluentMigrator.dll.mdb
Radarr/FluentMigrator.Runner.dll
Radarr/FluentMigrator.Runner.dll.mdb
Radarr/FluentValidation.dll
Radarr/FluentValidation.dll.mdb
Radarr/Growl.Connector.dll
Radarr/Growl.CoreLibrary.dll
Radarr/Ical.Net.Collections.dll
Radarr/Ical.Net.Collections.dll.mdb
Radarr/Ical.Net.dll
Radarr/Ical.Net.dll.mdb
Radarr/ICSharpCode.SharpZipLib.dll
Radarr/ImageResizer.dll
Radarr/Interop.NetFwTypeLib.dll
Radarr/Marr.Data.dll
Radarr/Marr.Data.dll.mdb
Radarr/Microsoft.AspNet.SignalR.Core.dll
Radarr/Microsoft.AspNet.SignalR.Core.dll.mdb
Radarr/Microsoft.AspNet.SignalR.Owin.dll
Radarr/Microsoft.AspNet.SignalR.Owin.dll.mdb
Radarr/Microsoft.Owin.dll
Radarr/Microsoft.Owin.Host.HttpListener.dll
Radarr/Microsoft.Owin.Hosting.dll
Radarr/MonoTorrent.dll
Radarr/MonoTorrent.dll.mdb
Radarr/Nancy.Authentication.Basic.dll
Radarr/Nancy.Authentication.Forms.dll
Radarr/Nancy.dll
Radarr/Nancy.Owin.dll
Radarr/Newtonsoft.Json.dll
Radarr/NLog.dll
Radarr/NodaTime.dll
Radarr/NzbDrone.Api.dll
Radarr/NzbDrone.Api.dll.mdb
Radarr/NzbDrone.Common.dll
Radarr/NzbDrone.Common.dll.mdb
Radarr/NzbDrone.Core.dll
Radarr/NzbDrone.Core.dll.config
Radarr/NzbDrone.Core.dll.mdb
Radarr/NzbDrone.Mono.dll
Radarr/NzbDrone.Mono.dll.mdb
Radarr/NzbDrone.SignalR.dll
Radarr/NzbDrone.SignalR.dll.mdb
Radarr/OAuth.dll
Radarr/OAuth.dll.mdb
Radarr/Org.Mentalis.dll
Radarr/Owin.dll
Radarr/Prowlin.dll
Radarr/Radarr.exe
Radarr/Radarr.exe.config
Radarr/Radarr.exe.mdb
Radarr/Radarr.Host.dll
Radarr/Radarr.Host.dll.mdb
Radarr/RestSharp.dll
Radarr/SharpRaven.dll
Radarr/SocksWebProxy.dll
Radarr/System.Data.SQLite.dll
Radarr/System.Data.SQLite.xml
Radarr/System.ValueTuple.dll
Radarr/NzbDrone.Update/CurlSharp.dll
Radarr/NzbDrone.Update/CurlSharp.dll.mdb
Radarr/NzbDrone.Update/ICSharpCode.SharpZipLib.dll
Radarr/NzbDrone.Update/Newtonsoft.Json.dll
Radarr/NzbDrone.Update/NLog.dll
Radarr/NzbDrone.Update/NzbDrone.Common.dll
Radarr/NzbDrone.Update/NzbDrone.Common.dll.mdb
Radarr/NzbDrone.Update/NzbDrone.Mono.dll
Radarr/NzbDrone.Update/NzbDrone.Mono.dll.mdb
Radarr/NzbDrone.Update/Org.Mentalis.dll
Radarr/NzbDrone.Update/Radarr.Update.exe
Radarr/NzbDrone.Update/Radarr.Update.exe.config
Radarr/NzbDrone.Update/Radarr.Update.exe.mdb
Radarr/NzbDrone.Update/SharpRaven.dll
Radarr/NzbDrone.Update/SocksWebProxy.dll
Radarr/NzbDrone.Update/System.Data.SQLite.dll
Radarr/NzbDrone.Update/System.ValueTuple.dll
Radarr/UI/handlebars.runtime.js
Radarr/UI/index.html
Radarr/UI/login.html
Radarr/UI/main.js
Radarr/UI/main.map
Radarr/UI/oauth.html
Radarr/UI/polyfills.js
Radarr/UI/templates.js
Radarr/UI/vendor.js
Radarr/UI/vendor.map
Radarr/UI/Content/activity.css
Radarr/UI/Content/addMovies.css
Radarr/UI/Content/bootstrap.css
Radarr/UI/Content/bootstrap.toggle-switch.css
Radarr/UI/Content/calendar.css
Radarr/UI/Content/cells.css
Radarr/UI/Content/fullcalendar.css
Radarr/UI/Content/info.css
Radarr/UI/Content/logs.css
Radarr/UI/Content/manualimport.css
Radarr/UI/Content/messenger.css
Radarr/UI/Content/messenger.flat.css
Radarr/UI/Content/movies.css
Radarr/UI/Content/overrides.css
Radarr/UI/Content/robots.txt
Radarr/UI/Content/settings.css
Radarr/UI/Content/theme.css
Radarr/UI/Content/update.css
Radarr/UI/Content/zero.clipboard.swf
Radarr/UI/Content/FontAwesome/fontawesome-webfont.eot
Radarr/UI/Content/FontAwesome/fontawesome-webfont.svg
Radarr/UI/Content/FontAwesome/fontawesome-webfont.ttf
Radarr/UI/Content/FontAwesome/fontawesome-webfont.woff
Radarr/UI/Content/FontAwesome/fontawesome-webfont.woff2
Radarr/UI/Content/FontAwesome/FontAwesome.otf
Radarr/UI/Content/Fonts/opensans-light.eot
Radarr/UI/Content/Fonts/opensans-light.ttf
Radarr/UI/Content/Fonts/opensans-light.woff
Radarr/UI/Content/Fonts/opensans-light.woff2
Radarr/UI/Content/Fonts/opensans-regular.eot
Radarr/UI/Content/Fonts/opensans-regular.ttf
Radarr/UI/Content/Fonts/opensans-regular.woff
Radarr/UI/Content/Fonts/opensans-regular.woff2
Radarr/UI/Content/Fonts/opensans-semibold.eot
Radarr/UI/Content/Fonts/opensans-semibold.ttf
Radarr/UI/Content/Fonts/opensans-semibold.woff
Radarr/UI/Content/Fonts/opensans-semibold.woff2
Radarr/UI/Content/Fonts/ubuntumono-regular.eot
Radarr/UI/Content/Fonts/ubuntumono-regular.ttf
Radarr/UI/Content/Fonts/ubuntumono-regular.woff
Radarr/UI/Content/Fonts/ubuntumono-regular.woff2
Radarr/UI/Content/Images/404.png
Radarr/UI/Content/Images/favicon-debug.ico
Radarr/UI/Content/Images/favicon.ico
Radarr/UI/Content/Images/poster-dark.png
Radarr/UI/Content/Images/background/logo.png
Radarr/UI/Content/Images/favicon/android-chrome-144x144.png
Radarr/UI/Content/Images/favicon/android-chrome-192x192.png
Radarr/UI/Content/Images/favicon/android-chrome-256x256.png
Radarr/UI/Content/Images/favicon/android-chrome-36x36.png
Radarr/UI/Content/Images/favicon/android-chrome-384x384.png
Radarr/UI/Content/Images/favicon/android-chrome-48x48.png
Radarr/UI/Content/Images/favicon/android-chrome-512x512.png
Radarr/UI/Content/Images/favicon/android-chrome-72x72.png
Radarr/UI/Content/Images/favicon/android-chrome-96x96.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-114x114-precomposed.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-114x114.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-120x120-precomposed.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-120x120.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-144x144-precomposed.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-144x144.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-152x152-precomposed.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-152x152.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-180x180-precomposed.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-180x180.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-57x57-precomposed.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-57x57.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-60x60-precomposed.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-60x60.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-72x72-precomposed.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-72x72.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-76x76-precomposed.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-76x76.png
Radarr/UI/Content/Images/favicon/apple-touch-icon-precomposed.png
Radarr/UI/Content/Images/favicon/apple-touch-icon.png
Radarr/UI/Content/Images/favicon/browserconfig.xml
Radarr/UI/Content/Images/favicon/favicon-16x16.png
Radarr/UI/Content/Images/favicon/favicon-194x194.png
Radarr/UI/Content/Images/favicon/favicon-32x32.png
Radarr/UI/Content/Images/favicon/favicon.ico
Radarr/UI/Content/Images/favicon/manifest.json
Radarr/UI/Content/Images/favicon/mstile-144x144.png
Radarr/UI/Content/Images/favicon/mstile-150x150.png
Radarr/UI/Content/Images/favicon/mstile-310x150.png
Radarr/UI/Content/Images/favicon/mstile-310x310.png
Radarr/UI/Content/Images/favicon/mstile-70x70.png
Radarr/UI/Content/Images/favicon/safari-pinned-tab.svg
Radarr/UI/Content/Images/logos/128.png
Radarr/UI/Content/Images/logos/32.png
Radarr/UI/Content/Images/logos/48.png
Radarr/UI/Content/Images/logos/64.png
Radarr/UI/Content/Images/safari/logo.svg
Radarr/UI/Content/Images/touch/114.png
Radarr/UI/Content/Images/touch/144.png
Radarr/UI/Content/Images/touch/57.png
Radarr/UI/Content/Images/touch/72.png
Radarr/UI/Content/_output/UI/Content/activity.css.map
Radarr/UI/Content/_output/UI/Content/addMovies.css.map
Radarr/UI/Content/_output/UI/Content/bootstrap.css.map
Radarr/UI/Content/_output/UI/Content/bootstrap.toggle-switch.css.map
Radarr/UI/Content/_output/UI/Content/calendar.css.map
Radarr/UI/Content/_output/UI/Content/cells.css.map
Radarr/UI/Content/_output/UI/Content/fullcalendar.css.map
Radarr/UI/Content/_output/UI/Content/info.css.map
Radarr/UI/Content/_output/UI/Content/logs.css.map
Radarr/UI/Content/_output/UI/Content/manualimport.css.map
Radarr/UI/Content/_output/UI/Content/messenger.css.map
Radarr/UI/Content/_output/UI/Content/messenger.flat.css.map
Radarr/UI/Content/_output/UI/Content/movies.css.map
Radarr/UI/Content/_output/UI/Content/overrides.css.map
Radarr/UI/Content/_output/UI/Content/settings.css.map
Radarr/UI/Content/_output/UI/Content/theme.css.map
Radarr/UI/Content/_output/UI/Content/update.css.map

Different from the official Radarr installation guide

The official Radarr installation guide suggests us to move the Radarr directory to the /opt directory by running the following command. The /opt directory is used for third-party packages that are not in Ubuntu’s packaging system, so it is supposed to be perfectly reasonable to set up the Radarr files there.

However, the /opt directory is owned by the root user and, if you only set up for personal use, you don’t have to follow all the rules to avoid the undesired permission issues. It is your house anyway. Theoretically, you should set up a user called radarr to run Radarr so it is not allowed to write any of your personal files but it doesn’t have be like this.

mv Radarr /opt
permission denied when moving radar to /opt
Here we choose not to install Radar to /opt to avoid permission and self-update issues.

Start Radarr

To test whether Radarr is installed on your Ubuntu 20.04 machine, let’s start Radarr using mono. Notice in the following we do not use --debug, this way we won’t see the excessive messages for debugging purposes.

mono ~/Radarr/Radarr.exe

You will see the following output.

[Info] Bootstrap: Starting Radarr - /home/vh/Radarr/Radarr.exe - Version 0.2.0.1480
[Info] Router: Application mode: Interactive
[Info] MigrationLogger: *** Migrating data source=/home/vh/.config/Radarr/nzbdrone.db;cache size=-20000;datetimekind=Utc;journal mode=Wal;pooling=True;version=3 ***
[Info] MigrationLogger: *** VersionMigration migrating ***
[Info] MigrationLogger: *** VersionUniqueMigration migrating ***
[Info] MigrationLogger: *** VersionDescriptionMigration migrating ***
[Info] MigrationLogger: *** 1: InitialSetup migrating ***
[Info] InitialSetup: Starting migration to 1
[Info] MigrationLogger: *** 2: remove_tvrage_imdb_unique_constraint migrating ***
[Info] remove_tvrage_imdb_unique_constraint: Starting migration to 2
[Info] MigrationLogger: *** 3: remove_renamed_scene_mapping_columns migrating ***
[Info] remove_renamed_scene_mapping_columns: Starting migration to 3
[Info] MigrationLogger: *** 4: updated_history migrating ***
[Info] updated_history: Starting migration to 4
[Info] MigrationLogger: *** 5: added_eventtype_to_history migrating ***
[Info] added_eventtype_to_history: Starting migration to 5
[Info] MigrationLogger: *** 6: add_index_to_log_time migrating ***
[Info] add_index_to_log_time: Starting migration to 6
[Info] MigrationLogger: *** 7: add_renameEpisodes_to_naming migrating ***
[Info] add_renameEpisodes_to_naming: Starting migration to 7
[Info] MigrationLogger: *** 8: remove_backlog migrating ***
[Info] remove_backlog: Starting migration to 8
[Info] MigrationLogger: *** 9: fix_rename_episodes migrating ***
[Info] fix_rename_episodes: Starting migration to 9
[Info] MigrationLogger: *** 10: add_monitored migrating ***
[Info] add_monitored: Starting migration to 10
[Info] MigrationLogger: *** 11: remove_ignored migrating ***
[Info] remove_ignored: Starting migration to 11
[Info] MigrationLogger: *** 12: remove_custom_start_date migrating ***
[Info] remove_custom_start_date: Starting migration to 12
[Info] MigrationLogger: *** 13: add_air_date_utc migrating ***
[Info] add_air_date_utc: Starting migration to 13
[Info] MigrationLogger: *** 14: drop_air_date migrating ***
[Info] drop_air_date: Starting migration to 14
[Info] MigrationLogger: *** 15: add_air_date_as_string migrating ***
[Info] add_air_date_as_string: Starting migration to 15
[Info] MigrationLogger: *** 16: updated_imported_history_item migrating ***
[Info] updated_imported_history_item: Starting migration to 16
[Info] MigrationLogger: *** 17: reset_scene_names migrating ***
[Info] reset_scene_names: Starting migration to 17
[Info] MigrationLogger: *** 18: remove_duplicates migrating ***
[Info] remove_duplicates: Starting migration to 18
[Info] MigrationLogger: *** 19: restore_unique_constraints migrating ***
[Info] restore_unique_constraints: Starting migration to 19
[Info] MigrationLogger: *** 20: add_year_and_seasons_to_series migrating ***
[Info] add_year_and_seasons_to_series: Starting migration to 20
[Info] MigrationLogger: *** 21: drop_seasons_table migrating ***
[Info] drop_seasons_table: Starting migration to 21
[Info] MigrationLogger: *** 22: move_indexer_to_generic_provider migrating ***
[Info] move_indexer_to_generic_provider: Starting migration to 22
[Info] MigrationLogger: *** 23: add_config_contract_to_indexers migrating ***
[Info] add_config_contract_to_indexers: Starting migration to 23
[Info] MigrationLogger: *** 24: drop_tvdb_episodeid migrating ***
[Info] drop_tvdb_episodeid: Starting migration to 24
[Info] MigrationLogger: *** 25: move_notification_to_generic_provider migrating ***
[Info] move_notification_to_generic_provider: Starting migration to 25
[Info] MigrationLogger: *** 26: add_config_contract_to_notifications migrating ***
[Info] add_config_contract_to_notifications: Starting migration to 26
[Info] MigrationLogger: *** 27: fix_omgwtfnzbs migrating ***
[Info] fix_omgwtfnzbs: Starting migration to 27
[Info] MigrationLogger: *** 28: add_blacklist_table migrating ***
[Info] add_blacklist_table: Starting migration to 28
[Info] MigrationLogger: *** 29: add_formats_to_naming_config migrating ***
[Info] add_formats_to_naming_config: Starting migration to 29
[Info] MigrationLogger: *** 30: add_season_folder_format_to_naming_config migrating ***
[Info] add_season_folder_format_to_naming_config: Starting migration to 30
[Info] MigrationLogger: *** 31: delete_old_naming_config_columns migrating ***
[Info] delete_old_naming_config_columns: Starting migration to 31
[Info] MigrationLogger: *** 32: set_default_release_group migrating ***
[Info] set_default_release_group: Starting migration to 32
[Info] MigrationLogger: *** 33: add_api_key_to_pushover migrating ***
[Info] add_api_key_to_pushover: Starting migration to 33
[Info] MigrationLogger: *** 34: remove_series_contraints migrating ***
[Info] remove_series_contraints: Starting migration to 34
[Info] MigrationLogger: *** 35: add_series_folder_format_to_naming_config migrating ***
[Info] add_series_folder_format_to_naming_config: Starting migration to 35
[Info] MigrationLogger: *** 36: update_with_quality_converters migrating ***
[Info] update_with_quality_converters: Starting migration to 36
[Info] MigrationLogger: *** 37: add_configurable_qualities migrating ***
[Info] add_configurable_qualities: Starting migration to 37
[Info] MigrationLogger: *** 38: add_on_upgrade_to_notifications migrating ***
[Info] add_on_upgrade_to_notifications: Starting migration to 38
[Info] MigrationLogger: *** 39: add_metadata_tables migrating ***
[Info] add_metadata_tables: Starting migration to 39
[Info] MigrationLogger: *** 40: add_metadata_to_episodes_and_series migrating ***
[Info] add_metadata_to_episodes_and_series: Starting migration to 40
[Info] MigrationLogger: *** 41: fix_xbmc_season_images_metadata migrating ***
[Info] fix_xbmc_season_images_metadata: Starting migration to 41
[Info] MigrationLogger: *** 42: add_download_clients_table migrating ***
[Info] add_download_clients_table: Starting migration to 42
[Info] MigrationLogger: *** 43: convert_config_to_download_clients migrating ***
[Info] convert_config_to_download_clients: Starting migration to 43
[Info] MigrationLogger: *** 44: fix_xbmc_episode_metadata migrating ***
[Info] fix_xbmc_episode_metadata: Starting migration to 44
[Info] MigrationLogger: *** 45: add_indexes migrating ***
[Info] add_indexes: Starting migration to 45
[Info] MigrationLogger: *** 46: fix_nzb_su_url migrating ***
[Info] fix_nzb_su_url: Starting migration to 46
[Info] MigrationLogger: *** 47: add_temporary_blacklist_columns migrating ***
[Info] add_temporary_blacklist_columns: Starting migration to 47
[Info] MigrationLogger: *** 48: add_title_to_scenemappings migrating ***
[Info] add_title_to_scenemappings: Starting migration to 48
[Info] MigrationLogger: *** 49: fix_dognzb_url migrating ***
[Info] fix_dognzb_url: Starting migration to 49
[Info] MigrationLogger: *** 50: add_hash_to_metadata_files migrating ***
[Info] add_hash_to_metadata_files: Starting migration to 50
[Info] MigrationLogger: *** 51: download_client_import migrating ***
[Info] download_client_import: Starting migration to 51
[Info] MigrationLogger: *** 52: add_columns_for_anime migrating ***
[Info] add_columns_for_anime: Starting migration to 52
[Info] MigrationLogger: *** 53: add_series_sorttitle migrating ***
[Info] add_series_sorttitle: Starting migration to 53
[Info] MigrationLogger: *** 54: rename_profiles migrating ***
[Info] rename_profiles: Starting migration to 54
[Info] MigrationLogger: *** 55: drop_old_profile_columns migrating ***
[Info] drop_old_profile_columns: Starting migration to 55
[Info] MigrationLogger: *** 56: add_mediainfo_to_episodefile migrating ***
[Info] add_mediainfo_to_episodefile: Starting migration to 56
[Info] MigrationLogger: *** 57: convert_episode_file_path_to_relative migrating ***
[Info] convert_episode_file_path_to_relative: Starting migration to 57
[Info] MigrationLogger: *** 58: drop_episode_file_path migrating ***
[Info] drop_episode_file_path: Starting migration to 58
[Info] MigrationLogger: *** 59: add_enable_options_to_indexers migrating ***
[Info] add_enable_options_to_indexers: Starting migration to 59
[Info] MigrationLogger: *** 60: remove_enable_from_indexers migrating ***
[Info] remove_enable_from_indexers: Starting migration to 60
[Info] MigrationLogger: *** 61: clear_bad_scene_names migrating ***
[Info] clear_bad_scene_names: Starting migration to 61
[Info] MigrationLogger: *** 62: convert_quality_models migrating ***
[Info] convert_quality_models: Starting migration to 62
[Info] MigrationLogger: *** 63: add_remotepathmappings migrating ***
[Info] add_remotepathmappings: Starting migration to 63
[Info] MigrationLogger: *** 64: remove_method_from_logs migrating ***
[Info] remove_method_from_logs: Starting migration to 64
[Info] MigrationLogger: *** 65: make_scene_numbering_nullable migrating ***
[Info] make_scene_numbering_nullable: Starting migration to 65
[Info] MigrationLogger: *** 66: add_tags migrating ***
[Info] add_tags: Starting migration to 66
[Info] MigrationLogger: *** 67: add_added_to_series migrating ***
[Info] add_added_to_series: Starting migration to 67
[Info] MigrationLogger: *** 68: add_release_restrictions migrating ***
[Info] add_release_restrictions: Starting migration to 68
[Info] MigrationLogger: *** 69: quality_proper migrating ***
[Info] quality_proper: Starting migration to 69
[Info] MigrationLogger: *** 70: delay_profile migrating ***
[Info] delay_profile: Starting migration to 70
[Info] MigrationLogger: *** 71: unknown_quality_in_profile migrating ***
[Info] unknown_quality_in_profile: Starting migration to 71
[Info] MigrationLogger: *** 72: history_downloadId migrating ***
[Info] history_downloadId: Starting migration to 72
[Info] MigrationLogger: *** 73: clear_ratings migrating ***
[Info] clear_ratings: Starting migration to 73
[Info] MigrationLogger: *** 74: disable_eztv migrating ***
[Info] disable_eztv: Starting migration to 74
[Info] MigrationLogger: *** 75: force_lib_update migrating ***
[Info] force_lib_update: Starting migration to 75
[Info] MigrationLogger: *** 76: add_users_table migrating ***
[Info] add_users_table: Starting migration to 76
[Info] MigrationLogger: *** 77: add_add_options_to_series migrating ***
[Info] add_add_options_to_series: Starting migration to 77
[Info] MigrationLogger: *** 78: add_commands_table migrating ***
[Info] add_commands_table: Starting migration to 78
[Info] MigrationLogger: *** 79: dedupe_tags migrating ***
[Info] dedupe_tags: Starting migration to 79
[Info] MigrationLogger: *** 81: move_dot_prefix_to_transmission_category migrating ***
[Info] move_dot_prefix_to_transmission_category: Starting migration to 81
[Info] MigrationLogger: *** 82: add_fanzub_settings migrating ***
[Info] add_fanzub_settings: Starting migration to 82
[Info] MigrationLogger: *** 83: additonal_blacklist_columns migrating ***
[Info] additonal_blacklist_columns: Starting migration to 83
[Info] MigrationLogger: *** 84: update_quality_minmax_size migrating ***
[Info] update_quality_minmax_size: Starting migration to 84
[Info] MigrationLogger: *** 85: expand_transmission_urlbase migrating ***
[Info] expand_transmission_urlbase: Starting migration to 85
[Info] MigrationLogger: *** 86: pushbullet_device_ids migrating ***
[Info] pushbullet_device_ids: Starting migration to 86
[Info] MigrationLogger: *** 87: remove_eztv migrating ***
[Info] remove_eztv: Starting migration to 87
[Info] MigrationLogger: *** 88: pushbullet_devices_channels_list migrating ***
[Info] pushbullet_devices_channels_list: Starting migration to 88
[Info] MigrationLogger: *** 89: add_on_rename_to_notifcations migrating ***
[Info] add_on_rename_to_notifcations: Starting migration to 89
[Info] MigrationLogger: *** 90: update_kickass_url migrating ***
[Info] update_kickass_url: Starting migration to 90
[Info] MigrationLogger: *** 91: added_indexerstatus migrating ***
[Info] added_indexerstatus: Starting migration to 91
[Info] MigrationLogger: *** 92: add_unverifiedscenenumbering migrating ***
[Info] add_unverifiedscenenumbering: Starting migration to 92
[Info] MigrationLogger: *** 93: naming_config_replace_illegal_characters migrating ***
[Info] naming_config_replace_illegal_characters: Starting migration to 93
[Info] MigrationLogger: *** 94: add_tvmazeid migrating ***
[Info] add_tvmazeid: Starting migration to 94
[Info] MigrationLogger: *** 95: add_additional_episodes_index migrating ***
[Info] add_additional_episodes_index: Starting migration to 95
[Info] MigrationLogger: *** 96: disable_kickass migrating ***
[Info] disable_kickass: Starting migration to 96
[Info] MigrationLogger: *** 98: remove_titans_of_tv migrating ***
[Info] remove_titans_of_tv: Starting migration to 98
[Info] MigrationLogger: *** 99: extra_and_subtitle_files migrating ***
[Info] extra_and_subtitle_files: Starting migration to 99
[Info] MigrationLogger: *** 100: add_scene_season_number migrating ***
[Info] add_scene_season_number: Starting migration to 100
[Info] MigrationLogger: *** 101: add_ultrahd_quality_in_profiles migrating ***
[Info] add_ultrahd_quality_in_profiles: Starting migration to 101
[Info] MigrationLogger: *** 103: fix_metadata_file_extensions migrating ***
[Info] fix_metadata_file_extensions: Starting migration to 103
[Info] MigrationLogger: *** 104: add_moviefiles_table migrating ***
[Info] add_moviefiles_table: Starting migration to 104
[Info] MigrationLogger: *** 105: fix_history_movieId migrating ***
[Info] fix_history_movieId: Starting migration to 105
[Info] MigrationLogger: *** 106: add_tmdb_stuff migrating ***
[Info] add_tmdb_stuff: Starting migration to 106
[Info] MigrationLogger: *** 107: fix_movie_files migrating ***
[Info] fix_movie_files: Starting migration to 107
[Info] MigrationLogger: *** 108: update_schedule_intervale migrating ***
[Info] update_schedule_intervale: Starting migration to 108
[Info] MigrationLogger: *** 109: add_movie_formats_to_naming_config migrating ***
[Info] add_movie_formats_to_naming_config: Starting migration to 109
[Info] MigrationLogger: *** 110: add_phyiscal_release migrating ***
[Info] add_phyiscal_release: Starting migration to 110
[Info] MigrationLogger: *** 111: remove_bitmetv migrating ***
[Info] remove_bitmetv: Starting migration to 111
[Info] MigrationLogger: *** 112: remove_torrentleech migrating ***
[Info] remove_torrentleech: Starting migration to 112
[Info] MigrationLogger: *** 113: remove_broadcasthenet migrating ***
[Info] remove_broadcasthenet: Starting migration to 113
[Info] MigrationLogger: *** 114: remove_fanzub migrating ***
[Info] remove_fanzub: Starting migration to 114
[Info] MigrationLogger: *** 115: update_movie_sorttitle migrating ***
[Info] update_movie_sorttitle: Starting migration to 115
[Info] MigrationLogger: *** 116: update_movie_sorttitle_again migrating ***
[Info] update_movie_sorttitle_again: Starting migration to 116
[Info] MigrationLogger: *** 117: update_movie_file migrating ***
[Info] update_movie_file: Starting migration to 117
[Info] MigrationLogger: *** 118: update_movie_slug migrating ***
[Info] update_movie_slug: Starting migration to 118
[Info] MigrationLogger: *** 119: add_youtube_trailer_id migrating ***
[Info] add_youtube_trailer_id: Starting migration to 119
[Info] MigrationLogger: *** 120: add_studio migrating ***
[Info] add_studio: Starting migration to 120
[Info] MigrationLogger: *** 121: update_filedate_config migrating ***
[Info] update_filedate_config: Starting migration to 121
[Info] MigrationLogger: *** 122: add_movieid_to_blacklist migrating ***
[Info] add_movieid_to_blacklist: Starting migration to 122
[Info] MigrationLogger: *** 123: create_netimport_table migrating ***
[Info] create_netimport_table: Starting migration to 123
[Info] MigrationLogger: *** 124: add_preferred_tags_to_profile migrating ***
[Info] add_preferred_tags_to_profile: Starting migration to 124
[Info] MigrationLogger: *** 125: fix_imdb_unique migrating ***
[Info] fix_imdb_unique: Starting migration to 125
[Info] MigrationLogger: *** 126: update_qualities_and_profiles migrating ***
[Info] update_qualities_and_profiles: Starting migration to 126
[Info] MigrationLogger: *** 127: remove_wombles_kickass migrating ***
[Info] remove_wombles_kickass: Starting migration to 127
[Info] MigrationLogger: *** 128: remove_kickass migrating ***
[Info] remove_kickass: Starting migration to 128
[Info] MigrationLogger: *** 129: add_parsed_movie_info_to_pending_release migrating ***
[Info] add_parsed_movie_info_to_pending_release: Starting migration to 129
[Info] MigrationLogger: *** 131: make_parsed_episode_info_nullable migrating ***
[Info] make_parsed_episode_info_nullable: Starting migration to 131
[Info] MigrationLogger: *** 132: rename_torrent_downloadstation migrating ***
[Info] rename_torrent_downloadstation: Starting migration to 132
[Info] MigrationLogger: *** 133: add_minimumavailability migrating ***
[Info] add_minimumavailability: Starting migration to 133
[Info] MigrationLogger: *** 134: add_remux_qualities_for_the_wankers migrating ***
[Info] add_remux_qualities_for_the_wankers: Starting migration to 134
[Info] MigrationLogger: *** 135: add_haspredbentry_to_movies migrating ***
[Info] add_haspredbentry_to_movies: Starting migration to 135
[Info] MigrationLogger: *** 136: add_pathstate_to_movies migrating ***
[Info] add_pathstate_to_movies: Starting migration to 136
[Info] MigrationLogger: *** 137: add_import_exclusions_table migrating ***
[Info] add_import_exclusions_table: Starting migration to 137
[Info] MigrationLogger: *** 138: add_physical_release_note migrating ***
[Info] add_physical_release_note: Starting migration to 138
[Info] MigrationLogger: *** 139: consolidate_indexer_baseurl migrating ***
[Info] consolidate_indexer_baseurl: Starting migration to 139
[Info] MigrationLogger: *** 140: add_alternative_titles_table migrating ***
[Info] add_alternative_titles_table: Starting migration to 140
[Info] MigrationLogger: *** 141: fix_duplicate_alt_titles migrating ***
[Info] fix_duplicate_alt_titles: Starting migration to 141
[Info] MigrationLogger: *** 142: movie_extras migrating ***
[Info] movie_extras: Starting migration to 142
[Info] MigrationLogger: *** 143: clean_core_tv migrating ***
[Info] clean_core_tv: Starting migration to 143
[Info] MigrationLogger: *** 144: add_cookies_to_indexer_status migrating ***
[Info] add_cookies_to_indexer_status: Starting migration to 144
[Info] MigrationLogger: *** 145: banner_to_fanart migrating ***
[Info] banner_to_fanart: Starting migration to 145
[Info] MigrationLogger: *** 146: naming_config_colon_action migrating ***
[Info] naming_config_colon_action: Starting migration to 146
[Info] MigrationLogger: *** 147: add_custom_formats migrating ***
[Info] add_custom_formats: Starting migration to 147
[Info] MigrationLogger: *** 148: remove_extra_naming_config migrating ***
[Info] remove_extra_naming_config: Starting migration to 148
[Info] MigrationLogger: *** 149: convert_regex_required_tags migrating ***
[Info] convert_regex_required_tags: Starting migration to 149
[Info] MigrationLogger: *** 150: fix_format_tags_double_underscore migrating ***
[Info] fix_format_tags_double_underscore: Starting migration to 150
[Info] MigrationLogger: *** 151: add_tags_to_net_import migrating ***
[Info] add_tags_to_net_import: Starting migration to 151
[Info] MigrationLogger: *** Migrating data source=/home/vh/.config/Radarr/logs.db;cache size=-20000;datetimekind=Utc;journal mode=Wal;pooling=True;version=3 ***
[Info] MigrationLogger: *** VersionMigration migrating ***
[Info] MigrationLogger: *** VersionUniqueMigration migrating ***
[Info] MigrationLogger: *** VersionDescriptionMigration migrating ***
[Info] MigrationLogger: *** 1: InitialSetup migrating ***
[Info] InitialSetup: Starting migration to 1
[Info] MigrationLogger: *** 2: remove_tvrage_imdb_unique_constraint migrating ***
[Info] remove_tvrage_imdb_unique_constraint: Starting migration to 2
[Info] MigrationLogger: *** 3: remove_renamed_scene_mapping_columns migrating ***
[Info] remove_renamed_scene_mapping_columns: Starting migration to 3
[Info] MigrationLogger: *** 4: updated_history migrating ***
[Info] updated_history: Starting migration to 4
[Info] MigrationLogger: *** 5: added_eventtype_to_history migrating ***
[Info] added_eventtype_to_history: Starting migration to 5
[Info] MigrationLogger: *** 6: add_index_to_log_time migrating ***
[Info] add_index_to_log_time: Starting migration to 6
[Info] MigrationLogger: *** 7: add_renameEpisodes_to_naming migrating ***
[Info] add_renameEpisodes_to_naming: Starting migration to 7
[Info] MigrationLogger: *** 8: remove_backlog migrating ***
[Info] remove_backlog: Starting migration to 8
[Info] MigrationLogger: *** 9: fix_rename_episodes migrating ***
[Info] fix_rename_episodes: Starting migration to 9
[Info] MigrationLogger: *** 10: add_monitored migrating ***
[Info] add_monitored: Starting migration to 10
[Info] MigrationLogger: *** 11: remove_ignored migrating ***
[Info] remove_ignored: Starting migration to 11
[Info] MigrationLogger: *** 12: remove_custom_start_date migrating ***
[Info] remove_custom_start_date: Starting migration to 12
[Info] MigrationLogger: *** 13: add_air_date_utc migrating ***
[Info] add_air_date_utc: Starting migration to 13
[Info] MigrationLogger: *** 14: drop_air_date migrating ***
[Info] drop_air_date: Starting migration to 14
[Info] MigrationLogger: *** 15: add_air_date_as_string migrating ***
[Info] add_air_date_as_string: Starting migration to 15
[Info] MigrationLogger: *** 16: updated_imported_history_item migrating ***
[Info] updated_imported_history_item: Starting migration to 16
[Info] MigrationLogger: *** 17: reset_scene_names migrating ***
[Info] reset_scene_names: Starting migration to 17
[Info] MigrationLogger: *** 18: remove_duplicates migrating ***
[Info] remove_duplicates: Starting migration to 18
[Info] MigrationLogger: *** 19: restore_unique_constraints migrating ***
[Info] restore_unique_constraints: Starting migration to 19
[Info] MigrationLogger: *** 20: add_year_and_seasons_to_series migrating ***
[Info] add_year_and_seasons_to_series: Starting migration to 20
[Info] MigrationLogger: *** 21: drop_seasons_table migrating ***
[Info] drop_seasons_table: Starting migration to 21
[Info] MigrationLogger: *** 22: move_indexer_to_generic_provider migrating ***
[Info] move_indexer_to_generic_provider: Starting migration to 22
[Info] MigrationLogger: *** 23: add_config_contract_to_indexers migrating ***
[Info] add_config_contract_to_indexers: Starting migration to 23
[Info] MigrationLogger: *** 24: drop_tvdb_episodeid migrating ***
[Info] drop_tvdb_episodeid: Starting migration to 24
[Info] MigrationLogger: *** 25: move_notification_to_generic_provider migrating ***
[Info] move_notification_to_generic_provider: Starting migration to 25
[Info] MigrationLogger: *** 26: add_config_contract_to_notifications migrating ***
[Info] add_config_contract_to_notifications: Starting migration to 26
[Info] MigrationLogger: *** 27: fix_omgwtfnzbs migrating ***
[Info] fix_omgwtfnzbs: Starting migration to 27
[Info] MigrationLogger: *** 28: add_blacklist_table migrating ***
[Info] add_blacklist_table: Starting migration to 28
[Info] MigrationLogger: *** 29: add_formats_to_naming_config migrating ***
[Info] add_formats_to_naming_config: Starting migration to 29
[Info] MigrationLogger: *** 30: add_season_folder_format_to_naming_config migrating ***
[Info] add_season_folder_format_to_naming_config: Starting migration to 30
[Info] MigrationLogger: *** 31: delete_old_naming_config_columns migrating ***
[Info] delete_old_naming_config_columns: Starting migration to 31
[Info] MigrationLogger: *** 32: set_default_release_group migrating ***
[Info] set_default_release_group: Starting migration to 32
[Info] MigrationLogger: *** 33: add_api_key_to_pushover migrating ***
[Info] add_api_key_to_pushover: Starting migration to 33
[Info] MigrationLogger: *** 34: remove_series_contraints migrating ***
[Info] remove_series_contraints: Starting migration to 34
[Info] MigrationLogger: *** 35: add_series_folder_format_to_naming_config migrating ***
[Info] add_series_folder_format_to_naming_config: Starting migration to 35
[Info] MigrationLogger: *** 36: update_with_quality_converters migrating ***
[Info] update_with_quality_converters: Starting migration to 36
[Info] MigrationLogger: *** 37: add_configurable_qualities migrating ***
[Info] add_configurable_qualities: Starting migration to 37
[Info] MigrationLogger: *** 38: add_on_upgrade_to_notifications migrating ***
[Info] add_on_upgrade_to_notifications: Starting migration to 38
[Info] MigrationLogger: *** 39: add_metadata_tables migrating ***
[Info] add_metadata_tables: Starting migration to 39
[Info] MigrationLogger: *** 40: add_metadata_to_episodes_and_series migrating ***
[Info] add_metadata_to_episodes_and_series: Starting migration to 40
[Info] MigrationLogger: *** 41: fix_xbmc_season_images_metadata migrating ***
[Info] fix_xbmc_season_images_metadata: Starting migration to 41
[Info] MigrationLogger: *** 42: add_download_clients_table migrating ***
[Info] add_download_clients_table: Starting migration to 42
[Info] MigrationLogger: *** 43: convert_config_to_download_clients migrating ***
[Info] convert_config_to_download_clients: Starting migration to 43
[Info] MigrationLogger: *** 44: fix_xbmc_episode_metadata migrating ***
[Info] fix_xbmc_episode_metadata: Starting migration to 44
[Info] MigrationLogger: *** 45: add_indexes migrating ***
[Info] add_indexes: Starting migration to 45
[Info] MigrationLogger: *** 46: fix_nzb_su_url migrating ***
[Info] fix_nzb_su_url: Starting migration to 46
[Info] MigrationLogger: *** 47: add_temporary_blacklist_columns migrating ***
[Info] add_temporary_blacklist_columns: Starting migration to 47
[Info] MigrationLogger: *** 48: add_title_to_scenemappings migrating ***
[Info] add_title_to_scenemappings: Starting migration to 48
[Info] MigrationLogger: *** 49: fix_dognzb_url migrating ***
[Info] fix_dognzb_url: Starting migration to 49
[Info] MigrationLogger: *** 50: add_hash_to_metadata_files migrating ***
[Info] add_hash_to_metadata_files: Starting migration to 50
[Info] MigrationLogger: *** 51: download_client_import migrating ***
[Info] download_client_import: Starting migration to 51
[Info] MigrationLogger: *** 52: add_columns_for_anime migrating ***
[Info] add_columns_for_anime: Starting migration to 52
[Info] MigrationLogger: *** 53: add_series_sorttitle migrating ***
[Info] add_series_sorttitle: Starting migration to 53
[Info] MigrationLogger: *** 54: rename_profiles migrating ***
[Info] rename_profiles: Starting migration to 54
[Info] MigrationLogger: *** 55: drop_old_profile_columns migrating ***
[Info] drop_old_profile_columns: Starting migration to 55
[Info] MigrationLogger: *** 56: add_mediainfo_to_episodefile migrating ***
[Info] add_mediainfo_to_episodefile: Starting migration to 56
[Info] MigrationLogger: *** 57: convert_episode_file_path_to_relative migrating ***
[Info] convert_episode_file_path_to_relative: Starting migration to 57
[Info] MigrationLogger: *** 58: drop_episode_file_path migrating ***
[Info] drop_episode_file_path: Starting migration to 58
[Info] MigrationLogger: *** 59: add_enable_options_to_indexers migrating ***
[Info] add_enable_options_to_indexers: Starting migration to 59
[Info] MigrationLogger: *** 60: remove_enable_from_indexers migrating ***
[Info] remove_enable_from_indexers: Starting migration to 60
[Info] MigrationLogger: *** 61: clear_bad_scene_names migrating ***
[Info] clear_bad_scene_names: Starting migration to 61
[Info] MigrationLogger: *** 62: convert_quality_models migrating ***
[Info] convert_quality_models: Starting migration to 62
[Info] MigrationLogger: *** 63: add_remotepathmappings migrating ***
[Info] add_remotepathmappings: Starting migration to 63
[Info] MigrationLogger: *** 64: remove_method_from_logs migrating ***
[Info] remove_method_from_logs: Starting migration to 64
[Info] MigrationLogger: *** 65: make_scene_numbering_nullable migrating ***
[Info] make_scene_numbering_nullable: Starting migration to 65
[Info] MigrationLogger: *** 66: add_tags migrating ***
[Info] add_tags: Starting migration to 66
[Info] MigrationLogger: *** 67: add_added_to_series migrating ***
[Info] add_added_to_series: Starting migration to 67
[Info] MigrationLogger: *** 68: add_release_restrictions migrating ***
[Info] add_release_restrictions: Starting migration to 68
[Info] MigrationLogger: *** 69: quality_proper migrating ***
[Info] quality_proper: Starting migration to 69
[Info] MigrationLogger: *** 70: delay_profile migrating ***
[Info] delay_profile: Starting migration to 70
[Info] MigrationLogger: *** 71: unknown_quality_in_profile migrating ***
[Info] unknown_quality_in_profile: Starting migration to 71
[Info] MigrationLogger: *** 72: history_downloadId migrating ***
[Info] history_downloadId: Starting migration to 72
[Info] MigrationLogger: *** 73: clear_ratings migrating ***
[Info] clear_ratings: Starting migration to 73
[Info] MigrationLogger: *** 74: disable_eztv migrating ***
[Info] disable_eztv: Starting migration to 74
[Info] MigrationLogger: *** 75: force_lib_update migrating ***
[Info] force_lib_update: Starting migration to 75
[Info] MigrationLogger: *** 76: add_users_table migrating ***
[Info] add_users_table: Starting migration to 76
[Info] MigrationLogger: *** 77: add_add_options_to_series migrating ***
[Info] add_add_options_to_series: Starting migration to 77
[Info] MigrationLogger: *** 78: add_commands_table migrating ***
[Info] add_commands_table: Starting migration to 78
[Info] MigrationLogger: *** 79: dedupe_tags migrating ***
[Info] dedupe_tags: Starting migration to 79
[Info] MigrationLogger: *** 81: move_dot_prefix_to_transmission_category migrating ***
[Info] move_dot_prefix_to_transmission_category: Starting migration to 81
[Info] MigrationLogger: *** 82: add_fanzub_settings migrating ***
[Info] add_fanzub_settings: Starting migration to 82
[Info] MigrationLogger: *** 83: additonal_blacklist_columns migrating ***
[Info] additonal_blacklist_columns: Starting migration to 83
[Info] MigrationLogger: *** 84: update_quality_minmax_size migrating ***
[Info] update_quality_minmax_size: Starting migration to 84
[Info] MigrationLogger: *** 85: expand_transmission_urlbase migrating ***
[Info] expand_transmission_urlbase: Starting migration to 85
[Info] MigrationLogger: *** 86: pushbullet_device_ids migrating ***
[Info] pushbullet_device_ids: Starting migration to 86
[Info] MigrationLogger: *** 87: remove_eztv migrating ***
[Info] remove_eztv: Starting migration to 87
[Info] MigrationLogger: *** 88: pushbullet_devices_channels_list migrating ***
[Info] pushbullet_devices_channels_list: Starting migration to 88
[Info] MigrationLogger: *** 89: add_on_rename_to_notifcations migrating ***
[Info] add_on_rename_to_notifcations: Starting migration to 89
[Info] MigrationLogger: *** 90: update_kickass_url migrating ***
[Info] update_kickass_url: Starting migration to 90
[Info] MigrationLogger: *** 91: added_indexerstatus migrating ***
[Info] added_indexerstatus: Starting migration to 91
[Info] MigrationLogger: *** 92: add_unverifiedscenenumbering migrating ***
[Info] add_unverifiedscenenumbering: Starting migration to 92
[Info] MigrationLogger: *** 93: naming_config_replace_illegal_characters migrating ***
[Info] naming_config_replace_illegal_characters: Starting migration to 93
[Info] MigrationLogger: *** 94: add_tvmazeid migrating ***
[Info] add_tvmazeid: Starting migration to 94
[Info] MigrationLogger: *** 95: add_additional_episodes_index migrating ***
[Info] add_additional_episodes_index: Starting migration to 95
[Info] MigrationLogger: *** 96: disable_kickass migrating ***
[Info] disable_kickass: Starting migration to 96
[Info] MigrationLogger: *** 98: remove_titans_of_tv migrating ***
[Info] remove_titans_of_tv: Starting migration to 98
[Info] MigrationLogger: *** 99: extra_and_subtitle_files migrating ***
[Info] extra_and_subtitle_files: Starting migration to 99
[Info] MigrationLogger: *** 100: add_scene_season_number migrating ***
[Info] add_scene_season_number: Starting migration to 100
[Info] MigrationLogger: *** 101: add_ultrahd_quality_in_profiles migrating ***
[Info] add_ultrahd_quality_in_profiles: Starting migration to 101
[Info] MigrationLogger: *** 103: fix_metadata_file_extensions migrating ***
[Info] fix_metadata_file_extensions: Starting migration to 103
[Info] MigrationLogger: *** 104: add_moviefiles_table migrating ***
[Info] add_moviefiles_table: Starting migration to 104
[Info] MigrationLogger: *** 105: fix_history_movieId migrating ***
[Info] fix_history_movieId: Starting migration to 105
[Info] MigrationLogger: *** 106: add_tmdb_stuff migrating ***
[Info] add_tmdb_stuff: Starting migration to 106
[Info] MigrationLogger: *** 107: fix_movie_files migrating ***
[Info] fix_movie_files: Starting migration to 107
[Info] MigrationLogger: *** 108: update_schedule_intervale migrating ***
[Info] update_schedule_intervale: Starting migration to 108
[Info] MigrationLogger: *** 109: add_movie_formats_to_naming_config migrating ***
[Info] add_movie_formats_to_naming_config: Starting migration to 109
[Info] MigrationLogger: *** 110: add_phyiscal_release migrating ***
[Info] add_phyiscal_release: Starting migration to 110
[Info] MigrationLogger: *** 111: remove_bitmetv migrating ***
[Info] remove_bitmetv: Starting migration to 111
[Info] MigrationLogger: *** 112: remove_torrentleech migrating ***
[Info] remove_torrentleech: Starting migration to 112
[Info] MigrationLogger: *** 113: remove_broadcasthenet migrating ***
[Info] remove_broadcasthenet: Starting migration to 113
[Info] MigrationLogger: *** 114: remove_fanzub migrating ***
[Info] remove_fanzub: Starting migration to 114
[Info] MigrationLogger: *** 115: update_movie_sorttitle migrating ***
[Info] update_movie_sorttitle: Starting migration to 115
[Info] MigrationLogger: *** 116: update_movie_sorttitle_again migrating ***
[Info] update_movie_sorttitle_again: Starting migration to 116
[Info] MigrationLogger: *** 117: update_movie_file migrating ***
[Info] update_movie_file: Starting migration to 117
[Info] MigrationLogger: *** 118: update_movie_slug migrating ***
[Info] update_movie_slug: Starting migration to 118
[Info] MigrationLogger: *** 119: add_youtube_trailer_id migrating ***
[Info] add_youtube_trailer_id: Starting migration to 119
[Info] MigrationLogger: *** 120: add_studio migrating ***
[Info] add_studio: Starting migration to 120
[Info] MigrationLogger: *** 121: update_filedate_config migrating ***
[Info] update_filedate_config: Starting migration to 121
[Info] MigrationLogger: *** 122: add_movieid_to_blacklist migrating ***
[Info] add_movieid_to_blacklist: Starting migration to 122
[Info] MigrationLogger: *** 123: create_netimport_table migrating ***
[Info] create_netimport_table: Starting migration to 123
[Info] MigrationLogger: *** 124: add_preferred_tags_to_profile migrating ***
[Info] add_preferred_tags_to_profile: Starting migration to 124
[Info] MigrationLogger: *** 125: fix_imdb_unique migrating ***
[Info] fix_imdb_unique: Starting migration to 125
[Info] MigrationLogger: *** 126: update_qualities_and_profiles migrating ***
[Info] update_qualities_and_profiles: Starting migration to 126
[Info] MigrationLogger: *** 127: remove_wombles_kickass migrating ***
[Info] remove_wombles_kickass: Starting migration to 127
[Info] MigrationLogger: *** 128: remove_kickass migrating ***
[Info] remove_kickass: Starting migration to 128
[Info] MigrationLogger: *** 129: add_parsed_movie_info_to_pending_release migrating ***
[Info] add_parsed_movie_info_to_pending_release: Starting migration to 129
[Info] MigrationLogger: *** 131: make_parsed_episode_info_nullable migrating ***
[Info] make_parsed_episode_info_nullable: Starting migration to 131
[Info] MigrationLogger: *** 132: rename_torrent_downloadstation migrating ***
[Info] rename_torrent_downloadstation: Starting migration to 132
[Info] MigrationLogger: *** 133: add_minimumavailability migrating ***
[Info] add_minimumavailability: Starting migration to 133
[Info] MigrationLogger: *** 134: add_remux_qualities_for_the_wankers migrating ***
[Info] add_remux_qualities_for_the_wankers: Starting migration to 134
[Info] MigrationLogger: *** 135: add_haspredbentry_to_movies migrating ***
[Info] add_haspredbentry_to_movies: Starting migration to 135
[Info] MigrationLogger: *** 136: add_pathstate_to_movies migrating ***
[Info] add_pathstate_to_movies: Starting migration to 136
[Info] MigrationLogger: *** 137: add_import_exclusions_table migrating ***
[Info] add_import_exclusions_table: Starting migration to 137
[Info] MigrationLogger: *** 138: add_physical_release_note migrating ***
[Info] add_physical_release_note: Starting migration to 138
[Info] MigrationLogger: *** 139: consolidate_indexer_baseurl migrating ***
[Info] consolidate_indexer_baseurl: Starting migration to 139
[Info] MigrationLogger: *** 140: add_alternative_titles_table migrating ***
[Info] add_alternative_titles_table: Starting migration to 140
[Info] MigrationLogger: *** 141: fix_duplicate_alt_titles migrating ***
[Info] fix_duplicate_alt_titles: Starting migration to 141
[Info] MigrationLogger: *** 142: movie_extras migrating ***
[Info] movie_extras: Starting migration to 142
[Info] MigrationLogger: *** 143: clean_core_tv migrating ***
[Info] clean_core_tv: Starting migration to 143
[Info] MigrationLogger: *** 144: add_cookies_to_indexer_status migrating ***
[Info] add_cookies_to_indexer_status: Starting migration to 144
[Info] MigrationLogger: *** 145: banner_to_fanart migrating ***
[Info] banner_to_fanart: Starting migration to 145
[Info] MigrationLogger: *** 146: naming_config_colon_action migrating ***
[Info] naming_config_colon_action: Starting migration to 146
[Info] MigrationLogger: *** 147: add_custom_formats migrating ***
[Info] add_custom_formats: Starting migration to 147
[Info] MigrationLogger: *** 148: remove_extra_naming_config migrating ***
[Info] remove_extra_naming_config: Starting migration to 148
[Info] MigrationLogger: *** 149: convert_regex_required_tags migrating ***
[Info] convert_regex_required_tags: Starting migration to 149
[Info] MigrationLogger: *** 150: fix_format_tags_double_underscore migrating ***
[Info] fix_format_tags_double_underscore: Starting migration to 150
[Info] MigrationLogger: *** 151: add_tags_to_net_import migrating ***
[Info] add_tags_to_net_import: Starting migration to 151
[Info] OwinHostController: Listening on the following URLs:
[Info] OwinHostController: http://*:7878/
[Info] NancyBootstrapper: Starting Web Server
[Info] ProfileService: Setting up default quality profiles
[Info] CommandExecutor: Starting 2 threads for tasks.
starting radarr systemd service

Open Radarr in browser with default port 7878

The default Radarr port is 7878, which is why you see “Listening on the following URLs: http://*:7878/”. This means we can open Radarr by visiting http://localhost:7878/. Now right-click this URL to open it and you will see Radarr’s web interface.

the front page if Radarr

Reference

Auto-start Radarr with systemd service

Until the last step, if you restart your computer or experience a power outage, you will have to start Radarr again to use it. Here we will use a software called systemd to auto-start Radarr for you on boot. What we will use next is called systemd service.

Create Radarr systemd service

Create a service file called radarr.service in the /etc/systemd/system/ directory. Here I use the vim editor. If you are new to Ubuntu, you can also use the nano editor.

sudo vim /etc/systemd/system/radarr.service
[Unit]
Description=Radarr Daemon
After=syslog.target network.target

[Service]
# Change and/or create the required user and group.
User=vh
Group=vh

Type=simple

# Change the path to Radarr or mono here if it is in a different location for you.
ExecStart=/usr/bin/mono --debug /home/vh/Radarr/Radarr.exe -nobrowser
TimeoutStopSec=20
KillMode=process
Restart=on-failure

# These lines optionally isolate (sandbox) Radarr from the rest of the system.
# Make sure to add any paths it might use to the list below (space-separated).
#ReadWritePaths=/opt/Radarr /path/to/movies/folder
#ProtectSystem=strict
#PrivateDevices=true
#ProtectHome=true

[Install]
WantedBy=multi-user.target

Add the content above first. This is a sample systemd service file. You will need to change User and Group in the Service block. This is the user used to run Radarr on Ubuntu. Search vh and Change it to your current user. The group can be the same as your username. If you are an experienced Linux user, you can create a user called radarr but it is not necessary for the personal use of Radarr.

You can also specify -data for a customized config directory, the default Radarr configuration files will be located in ~/.config/Radarr.

For other values, the syslog.target means Radarr will only be started when syslog is ready.

The network.target means we only start Radarr after all the network management stack is up, which is reasonable because we will bind a network port.

We have KillMode=process to only kill one single process because we are only running one process (Radarr).

Restart=on-failure is specified because we only want to restart Radarr when it failed.

Enable/start Radarr systemd service

Now we will enable the Radarr service using systemctrl, which is, as the name suggests, used to control systemd services. Indeed, you don’t have to enable it right now, it will be automatically enabled after you reboot Ubuntu.

sudo systemctl enable --now radarr.service

You will see the output as follows. Under the hood, it created a soft symbolic link (just a reference, like shortcut on Windows) to the multi-user target folder. All we need to know there is that the multi-user target starts after all the network services. Radarr service is under this category because it is essentially a network application.

enabling radarr service

To verify the Radarr is successfully started, run sudo systemctl status radarr.service. You will see the output similar to the screenshot. As you can see, Radarr has process PID 3668 and takes 57.5 MB, much smaller than Sonarr’s 108.1 MB memory. It is listening to http://*:7878/ (yes, you can open http://localhost:7878/ or replace localhost with your IP address) and stored 2 database in /home/vh/.config/NzbDrone/ which is really ~/.config/NzbDrone/ in the home directory.

check status of Radarr systemd service
● radarr.service - Radarr Daemon
Loaded: loaded (/etc/systemd/system/radarr.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-05-19 22:37:13 EDT; 2s ago
Main PID: 6011 (mono)
Tasks: 7 (limit: 2247)
Memory: 57.5M
CGroup: /system.slice/radarr.service
└─6011 /usr/bin/mono --debug /home/vh/Radarr/Radarr.exe -nobrowser
May 19 22:37:13 varhowto-com systemd[1]: Started Radarr Daemon.
May 19 22:37:13 varhowto-com mono[6011]: [Info] Bootstrap: Starting Radarr - /home/vh/Radarr/Radarr.exe - Version 0.2.0.1480
May 19 22:37:14 varhowto-com mono[6011]: [Info] Router: Application mode: Interactive
May 19 22:37:14 varhowto-com mono[6011]: [Info] MigrationLogger: *** Migrating data source=/home/vh/.config/Radarr/nzbdrone.db;cach>
May 19 22:37:14 varhowto-com mono[6011]: [Info] MigrationLogger: *** Migrating data source=/home/vh/.config/Radarr/logs.db;cache si>
May 19 22:37:14 varhowto-com mono[6011]: [Info] OwinHostController: Listening on the following URLs:
May 19 22:37:14 varhowto-com mono[6011]: [Info] OwinHostController: http://*:7878/
May 19 22:37:14 varhowto-com mono[6011]: [Info] NancyBootstrapper: Starting Web Server

Stop/restart radarr systemd service

systemd service allows us to autostart a service like Radarr, you can also use the following commands to stop or restart Radarr any time, particularly if there is a problem.

To stop the radarr systemd service, run sudo systemctl stop radarr.service. To restart radarr, run sudo systemctl restart radarr.service.

Reference

How to uninstall Radarr

To remove Radarr, first we disable the Radarr service:

sudo systemctl disable radarr.service

Then we remove the radarr.service file we added:

sudo remove /etc/systemd/system/radarr.service

Finally, we remove the Radarr folder we downloaded.

rm -rf ~/Radarr/

Conclusion

Congratulations, you have learned how to install Radarr and make it auto-start by adding the Sonarr systemd service on your Ubuntu 20.04 computer! Now you can setup Radarr, add an indexer and download some movies you have probably bought from BestBuy, Walmart, or Target. If you want to monitor Radarr with missing movies or what are queued, you can run the Heimdall. Here is how you can install Heimdall on Ubuntu 20.04. If you prefer Docker, you can also install Heimdall on Ubuntu 20.04 with Docker.

3 Steps to Install Radarr on Ubuntu 20.04

Time Needed : 4 minutes

  1. Install Mono for Radarr on Ubuntu

    Run
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF and
    echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list and
    sudo apt update && sudo apt install mono-devel

    To verify mono is installed, run mono --versionimage 49

  2. Install dependencies on Ubuntu 20.04 for Radarr

    Run sudo apt install curl mediainfo
    download Radarr dependencies

  3. Install latest Radarr release on Ubuntu 20.04

    To download, run curl -L -O $( curl -s https://api.github.com/repos/Radarr/Radarr/releases | grep linux.tar.gz | grep browser_download_url | head -1 | cut -d \" -f 4 ).

    To uncompress, run tar -xvzf Radarr.*.linux.tar.gz.the files of Radarr installation 1

Tools
  • Terminal
  • SSH
  • apt
Materials
  • Ubuntu 20.04

+18

By VarHowto Editor

Welcome to VarHowto!

20 replies on “How to Install Radarr on Ubuntu 20.04 Easily”

Thanks so much for this and it works EXCEPT, no matter what I do I cant get the radarr.service to run, i have tried everything, I get ( Code=excited.status=2) error on the same line as the ExecStart path. The thing is I cant figure out what my path should even be? I followed the direction exactly as you said. Please advise if you can, and thanks again for this, I know you do this for nothing and that you are not responsible for our stupids.

+3

Hi, I had Radarr working just fine, until I tried to upgrade to .Net. It was not working, so I gave up and tried to reinstall Radarr using this guide. Problem is that the service will not start here is the output I get when I submit the command mono ~/Radarr/Radarr.exe:
Unhandled Exception:
System.TypeLoadException: Could not resolve type with token 01000011 from typeref (expected class ‘System.Net.Sockets.SocketException’ in assembly ‘System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’)
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not resolve type with token 01000011 from typeref (expected class ‘System.Net.Sockets.SocketException’ in assembly ‘System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’)

I am kind of stuped. any ideas what this means and what I can do to fix it?

Thank you in advance for your help in this matter.

Best regards

0

Hi, You’ve probably figured this out by now but for any future readers, here are the commands i used to update after originally installing radarr following this guide – just substitute the username tom for yours.

wget –content-disposition ‘http://radarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64’

Stop Radarr sudo systemctl stop radarr

sudo mv ‘/home/tom/Radarr’ ‘/home/tom/Radarr.old’

tar -xvzf Radarr*.linux-core-x64.tar.gz

sudo rm -rf /home/tom/Radarr.old

sudo rm -rf Radarr*.linux-core-x64.tar.gz

sudo gedit /etc/systemd/system/radarr.service

In gedit, just replace “mono –debug /home/tom/Radarr/Radarr.exe” with “/home/tom/Radarr/Radarr”

save and exit gedit then run the below commands in terminal

sudo systemctl daemon-reload

sudo systemctl start radarr.service

Radarr should be up and running again.

0

Edit: The line from my instructions above that reads “Stop Radarr sudo systemctl stop radarr” should instead just be “sudo systemctl stop radarr”

0

Can you update this to actually be accurate please? Mono is not what should be used and articles like this simply drive people to get support for incorrect setups.

0

Appreciate it. Seems you have a popular go-to here so it would for sure be helpful to push them in the same direction as we do 🙂

Thanks!

0

Guess it just isn’t going to get updated? Still fielding support queries because of this article. Beyond more hurt than help at this point. Be nice if it was just removed until it can be made accurate and re-posted instead of having people install it wrong and making the support staff deal with it. Guess we just need to start sending everyone who mentions this article here to leave comments on it being flat out wrong in hopes future people who find it will not use it.

0

Mono works fine and the app will nag you to use .NET anyway so what’s the problem? Maybe the Radarr dev team should produce some packages for a distro other than Arch.

+1

Mono is not supported after 3.2.2.

The radarr dev team does not maintain the arch package either.

0

This guide works fine. Installing and using the new V3 of Radarr is a huge p.i.t.a. and I can’t imagine how you aren’t fielding more support requests for that ridiculously complicated and confusing process. I’ve tried with guides online and with the guide posted by the Radarr team and there’s always some bs permissions issue. This works. Maybe you should release a snap package or some other executable for the new version and then everyone can get on with their lives without bugging you at all.

0

Sounds like you can’t follow simple step by step installation instructions?

at the basic level it is grabbing a tarball and extracting it.

Permissions and ownership is linux 101 and not specific to radarr. at a minimum radarr: needs read/write access to your download client directory, read/write access to it’s own binaries (app folder), read/write access to your library/media/root folder, and read/write access to either ~/.config/Radarr or to the data path the user specifies in the systemd file.

none of the above should involve permissions of 666/777 or anything being ran by nor owned by root

in other words a basic understanding of linux 101 and /or google fu is expected. if that’s not possible, then run radarr on windows.

0

Great guide! Thanks for this. I’m getting stuck on the systemd service file.

I created the file and edited it to be as follows:

[Unit] Description=Radarr Daemon After=syslog.target network.target [Service] # Change and/or create the required user and group. User=mediabox Group=mediabox Type=simple # Change the path to Radarr or mono here if it is in a different location for you. ExecStart=/usr/bin/mono --debug /home/mediabox/Radarr/Radarr.exe -nobrowser TimeoutStopSec=20 KillMode=process Restart=on-failure # These lines optionally isolate (sandbox) Radarr from the rest of the system. # Make sure to add any paths it might use to the list below (space-separated). #ReadWritePaths=/home/mediabox/Radarr /media/sf_Movies #ProtectSystem=strict #PrivateDevices=true #ProtectHome=true [Install] WantedBy=multi-user.target

I just get a “Bad message” error when trying to run it.

My guess is with the #ReadWritePaths. Your example mentions the /opt/ folder which you suggested not using. I think I got the correct directory but now I’m not sure.

I’m likely missing something obvious but I can’t see it.

Any thoughts?

0

OMG. nevermind. The formatting on the code blocks in your post had not loaded correctly so everything was on one line. After I posted my original comment and then reloaded the page I saw the proper formatting. Everything seems to be working now. Thanks again.

0

Hello, when I run:

tar -xvzf Radarr.develop.*.linux.tar.gz

Output is:

tar (child): Radarr.develop.*.linux.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

What am I doing wrong? Thanks!

+1

Never mind. Figured it out. Had to insert the file name in that command. Not clear from your instructions.

+1

Thanks for letting me know, drewid79.

Their new release files now contain master rather than develop, which is the problem.

I’ve change the command from tar -xvzf Radarr.develop.*.linux.tar.gz to tar -xvzf Radarr.*.linux.tar.gz.

+1

Comments are closed.