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