Skip to main content

Sonarr

Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.

Initial Setup

Installing Sonarr is easy. Simply issue the following command

sudo box install sonarr

This command will configure sonarr for your user. Sonarr is installed via an apt repository, thus the easiest way to keep it up to date is by issuing the command apt update && apt upgrade. The sonarr base files will be located in /usr/lib/sonarr

Optional parameters

None of these are required for you to define if you want an easy install. If you would like to do something custom, then here are some options for you.

Make sure you know what you're doing!

Please note that it is difficult for us to support these options as they are custom for each install

None of the options are sanity-checked on install so setting something wrong could break your installation.

Again, you do not need to set these if you don't know what you're doing.

There are a couple options you can set before installing transmission through export.

If you'd like to use one of these, run export option=value before running the install command.

The following is an example of how this would look

export sonarrv3owner='autodlbot'
  • sonarrv2owner
    • Used to specify a non-master user which sonarr v2 might have ran under before for the migration and user-group adding.
  • sonarrv3owner
    • Used to specify a non-master user which sonarr v3 will run as after the installation.

How to Access

Once setup, sonarr will be available at the link https://<hostname.ltd>/sonarr

Migrating from v2

The install script for Sonarr v3 includes functionality to migrate and remove a v2 (sonarr) installation. Please keep the v2 installed for optimal results. It is not possible to have both v2 and v3 installed at the same time.

An additional backup of the v2 configuration is created in /root/sonarrv2.bak/, which includes an internal Sonarr backup file triggered via API right before the installation.

Please check the Downgrading chapter if you want to go back.

v2 setups that were modified

If you have toyed with the v2 Sonarr configuration and are not using the vanilla setup by swizzin (e.g. modified service files, overrides, etc.), you should make sure to run some extra steps before.

You should generally follow the following steps at your own risk.

  1. Back up your sonarrv2 through the web interface.
  2. Make a remote copy of the entire Sonarr folder just in case.
  3. Stop your sonarr service or process
  4. Remove Sonarrv2 through box remove sonarrv2
    • verify you cleaned up all custom configs in random places
  5. Link/copy your old .config/nzb directory to the sonarrv3 migration path
    • e.g. ln -s /home/"${sonarrv2owner}"/.config/NzbDrone /usr/lib/sonarr/nzbdrone-appdata
  6. Install sonarr v3 with box install sonarrv3

Service Management

Service status for sonarr is handled by systemd and is owned by the sonarr package. The systemd service file resides at

/lib/systemd/system/sonarr.service

It is not recommended to make alterations directly to this file. Rather, use systemctl edit sonarr if you would like to make adjustments.

sudo systemctl start sonarr

Configuration

Out of the box, Sonarr comes with very little pre-set configuration. Following are some basic tasks to help get your client up and running.

Add a new show (and your first root directory)

  1. At the top, click series.
  2. Click the button + Add Series
  3. Type the name of the show you want to add
  4. Under Path, choose Add a new path. Enter the path for the folder you wish to add your Sonarr shows to and click the green check-mark to add the directory.
  • e.g. "/home/<username>/media/TV Shows"
  1. Change the other settings to your own needs
  2. Click the green + to add the show.

Connect download clients

To add a download client, go to Settings > Download Client. Make sure Advanced Settings are shown and click Add Client.

Name: rTorrent
rTorrent host: 127.0.0.1
Port: 443
URL Path: /rutorrent/plugins/httprpc/action.php
Use SSL: ON
Username: <your username>
Password: <your password>
Add label to torrent: TV (or anything else you desire)
Optional - Downloaded files location: <custom directory>

Add an indexer with Jackett

Sonarr only supports a few trackers out of the box, but the indexers can be expanded by using the application Jackett. To add an indexer with Jackett, use the following steps.

note

By default, when receiving the torznab feed from Jackett, it will need to be modified to be connected with the application. The default link looks like:

https://<yourhostname.ltd>/jackett/api/v2.0/indexers/yourtracker/results/torznab/

We need to edit this link to remove https and add the port number. Thus, if your port number was 12345, your edited URL would look like this:

http://<yourhostname.ltd>:12345/jackett/api/v2.0/indexers/yourtracker/results/torznab/
  1. Go to Settings > Indexers and click + to add a new indexer.
  2. Under Torrent choose Torznab
  3. Use the settings:
Name: <tracker name>
URL: <click copy torznab feed in jackett and modify as per above>
API: <copy and paste from jackett UI>
  1. Click Test. If all is good, click Save.

Add an indexer with NZBHydra

Sonarr only supports a few indexers out of the box, but the indexers can be expanded by using the application NZBHydra. To add an indexer with NZBHydra, use the following steps.

note

By default, when receiving the newznab feeds from NZBHydra, it will need to be modified to be connected with the application. The default link looks like:

https://<yourhostname.ltd>/nzbhydra/api

We need to edit this link to remove https, change your host to localhost and add the port number. Thus, if your port number was 5076, your edited URL would look like this:

http://localhost:5076/nzbhydra/api
  1. Go to Settings > Indexers and click + to add a new indexer.
  2. Under Usenet choose Newznab
  3. Use the settings:
Name: NZBHydra2
URL: <click copy Newznab feed in NZBHydra and modify as per above>
API: <copy and paste from NZBHydra UI>
  1. Click Test. If all is good, click Save.

Sonarr and user homedir permissions

Sonarr is running as the master user (unless changed in install options using parameters), so that user needs to be able to see the directories you'd like sonarr to see as well. You can achieve this by adding the desired user to the group of whoever runs the sonarr process. e.g. usermod -a -G <user with data> <master/sonarrv3owner>

Other tasks

You may wish to further alter your setup by setting quality profiles or setting up post-processing so that media is automatically transferred to your Sonarr library when your torrents are completed. If you need further help, you can refer to the Sonarr Wiki.

Troubleshooting

tip

You can always also try the general troubleshooting tips written in our guide. They might or might not apply, but asking these questions can often make you understand what is under the hood better and help you find what needs to be fixed. It's always worth a shot!

Please consult the github issues or the Sonarr Discord community in case you are having problems with this application.

Downgrading to v2

In order to downgrade, remove sonarrv3 and install sonarr again. The original configuration files will be untouched. Any changes in v3 will not be migrated, as the installation will only look at the old files.

If the installation does not reproduce your original v2 content, please see the Migration and Backup steps on the Sonarr Github, and use the contents of /root/swizzin/backups/sonarrv2.bak as the "original" files.

Please consult the Sonarr's wiki for downgrading steps

Therefore, you could achieve a downgrade with the following (untested!) example steps

box remove sonarrv3
box install sonarr
systemctl stop sonarr@<master>
cd /home/<master>/.config
mv sonarr sonarrv3bak
cp /root/swizzin/backups/sonarrv2.back./* NzbDrone/
chown -R <master>:<master> NzbDrone
systemctl start sonarr@<master>