Install SickChill on Fedora 30
Updated instructions here:
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