1
0
Fork 0
mirror of https://github.com/Sonarr/Sonarr synced 2025-01-11 09:52:37 +00:00

Clean up formatting to be easier for copy-pasting into CLI

ChristopherJHart 2020-01-04 13:11:54 -05:00
parent 6d4a2e3e5a
commit d8b5bce83b
2 changed files with 123 additions and 94 deletions

123
Installation-CentOS-7.md Normal file

@ -0,0 +1,123 @@
The following instructions are for installing Sonarr on CentOS 7.
Please note these were the steps taken by an experienced user.
1. 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
```
2. 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 yum-utils
```
3. Add a user for Sonarr to use
```
useradd sonarr -s /sbin/nologin
```
4. 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
```
5. Change ownership of the install directory
```
chown -R sonarr:sonarr /opt/sonarr
```
6. 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
```
7. Reload the systemd unit files
```
systemctl daemon-reload
```
8. 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
```
9. Add firewall exceptions if the firewall is enabled
```
firewall-cmd --reload
firewall-cmd --permanent --add-service sonarr
firewall-cmd --reload
```
10. 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
```

@ -1,94 +0,0 @@
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 yum-utils
*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:
# 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