Install SickChill on Fedora 30

Updated instructions here:

Setup SickChill on Fedora 33
The following instructions are for installing SickChill on Fedora 33. Thisinstruction should work on previous versions of Fedora. Create directory for your SickChill installation: sudo mkdir -p /opt/sickchill Create systemd unit file for SickChill service. You need to adjust your foldersfor w…

The following instructions are for installing SickChill on Fedora. The guide is created for installing on a minimal install of Fedora.

The installation should work on Fedora 22 and until 30.
For Fedora 31 or higher I recommend Podman.

The installation assumes that you're not using the root user to install/run sickchill - the entries for user:group throughout the document will be set as sickchill:sickchill and you will have to modify if you want it to match your user configuration.

Add rpmfusion nonfree repository (this is for installing unrar)

# dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Run an update of metadata and packages:

# dnf update -y

Install components needed for running SickChill

# dnf install unrar git-core openssl openssl-devel python2 sudo -y

Create system group sickchill, then create system user sickchill

# groupadd --system sickchill
# useradd --system -d /var/lib/sickchill -m -c "SickChill" -g sickchill sickchill

Create directory for your SickChill install and make sickchill the owner

# mkdir /opt/sickchill
# chown sickchill:sickchill /opt/sickchill

Clone SickChill in to your created directory

# sudo -u sickchill git clone https://github.com/SickChill/SickChill.git /opt/sickchill

Copy systemd unit file for SickChill service and set permissions.

# cp -v /opt/sickchill/runscripts/init.systemd /etc/systemd/system/sickchill.service
# chown root:root /etc/systemd/system/sickchill.service
# chmod 644 /etc/systemd/system/sickchill.service

Now you can start sickchill, check it's status and enable it to start on every boot.

# systemctl start sickchill
# systemctl status sickchill
# systemctl enable sickchill

Create a firewall service definition file

# cat <<EOF | tee /usr/lib/firewalld/services/sickchill.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SickChill</short>
  <description> Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic. </description>
  <port protocol="tcp" port="8081"/>
</service>
EOF

Add firewall service permanent and reload firewall

# firewall-cmd --permanent --add-service=sickchill
# firewall-cmd --reload
# firewall-cmd --list-service

Now you can go to http://<hostname/ip>:8081