Installation CentOS 7

trenb edited this page Aug 14, 2018 · 6 revisions

The following instructions are for installing Sonarr on CentOS 7.

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

  • Install some repos and packages
    yum install epel-release yum-utils -y
    rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
    yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
    yum install wget mediainfo libzen libmediainfo curl gettext mono-core mono-devel sqlite.x86_64 -y
  • If you have issues or you started from a very base (minimal) install, you may also need
    yum -y install wget git par2cmdline p7zip unrar unzip tar gcc python-feedparser python-configobj python-cheetah python-dbus python-devel libxslt-devel
  • Add a user for sonarr to use
    useradd sonarr -s /sbin/nologin
  • 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
  • Change ownership of the install directory
    chown -R sonarr:sonarr /opt/sonarr
  • 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
  • Reload the systemd unit files
    systemctl daemon-reload
  • Add firewall exceptions if the firewall is enabled
    tee /etc/firewalld/services/sonarr.xml << EOF
    <service>
      <short>sonarr</short>
      <description>Sonarr Download Service</description>
      <port protocol="tcp" port="8989"/>
    </service>
    EOF
    firewall-cmd --reload
    firewall-cmd --permanent --add-service sonarr
    firewall-cmd --reload
  • Enable sonarr to run on startup, and start!
    systemctl enable sonarr.service
    systemctl start sonarr.service
  • Troubleshooting:
  1. 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.

  1. Resolution:
Run the following command
    ln -s /usr/lib64/libMonoPosixHelper.so /usr/lib/libMonoPosixHelper.so
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.