7 Installation CentOS 8
Euan edited this page 2022-04-24 10:04:06 +01:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

The following instructions are for installing Sonarr on CentOS 8.

Please note these were the steps taken by an experienced user.

  1. Start by importing the repositorys GPG key and Installing Packages:
yum install epel-release yum-utils -y
yum config-manager --set-enabled powertools
rpm --import 'http://pool.sks-keyservers.net/pks/lookup?op=get&search=0x3fa7e0328081bff6a14da29aa6a19b38d3d831ef'
dnf config-manager --add-repo https://download.mono-project.com/repo/centos8-stable.repo
yum -y install wget git par2cmdline p7zip unrar unzip tar gcc python-feedparser python-configobj python-cheetah python-dbus python-devel libxslt-devel mediainfo libzen libmediainfo curl gettext mono-core mono-devel sqlite.x86_64
  1. Add a user for Sonarr to use
useradd sonarr -s /sbin/nologin
  1. Download, extract and move Sonarr
wget http://update.sonarr.tv/v2/master/mono/NzbDrone.master.tar.gz
tar -xvf ~/NzbDrone.master.tar.gz -C /opt/
rm -f NzbDrone.master.tar.gz
mkdir /opt/sonarr
mkdir /opt/sonarr/bin
mv /opt/NzbDrone/* /opt/sonarr/bin
rm -rf /opt/NzbDrone
  1. Change ownership of the install directory
chown -R sonarr:sonarr /opt/sonarr
  1. Create your systemd unit file
tee /etc/systemd/system/sonarr.service << EOF
[Unit]
Description=Sonarr Daemon
After=syslog.target network.target
[Service]
User=sonarr
Group=sonarr
Type=simple
ExecStart=/usr/bin/mono /opt/sonarr/bin/NzbDrone.exe -nobrowser -data /opt/sonarr
TimeoutStopSec=20
[Install]
WantedBy=multi-user.target
EOF
  1. Reload the systemd unit files
systemctl daemon-reload
  1. Create a firewall rule for Sonarr
tee /etc/firewalld/services/sonarr.xml << EOF
<service>
  <short>sonarr</short>
  <description>Sonarr Download Service</description>
  <port protocol="tcp" port="8989"/>
</service>
EOF
  1. Add firewall exceptions if the firewall is enabled
firewall-cmd --reload
firewall-cmd --permanent --add-service sonarr
firewall-cmd --reload
  1. Enable Sonarr to run on startup, and start!
systemctl enable sonarr.service
systemctl start sonarr.service

Troubleshooting:

Symptom:

The service has loaded and when browsing to the site it is blank.

Run the following to test for missing mono links.

systemctl stop sonarr
systemctl start sonarr
journalctl -xe | grep libMonoPosixHelper.so

If you see a line similar to

_System.Net.WebException: /usr/lib/libMonoPosixHelper.so ---> System.DllNotFoundException: /usr/lib/libMonoPosixHelper_  

The resolution below will fix that.

Resolution:

Run the following command

ln -s /usr/lib64/libMonoPosixHelper.so /usr/lib/libMonoPosixHelper.so