How to install Jellyfin on CentOS 8

Share on Social Media

In this guide, you will learn how to install Jellyfin on CentOS 8 or other Red Hat based Linux distributions. #centlinux #linux #jellyfin

What is Jellyfin?:

Jellyfin is a suite of multimedia applications designed to organize, manage, and share digital media files to networked devices. It consists of a server application installed on a machine running Microsoft Windows, macOS, Linux or in a Docker container, and another application running on a client device such as a smart phone, tablet, smart TV, streaming media player, game console or in a web browser.

Jellyfin also can serve media to DLNA and Chromecast-enabled devices. It is a free and open-source software fork of Emby.

Jellyfin follows a client–server model that allows for multiple users and clients to connect, even simultaneously, and stream digital media remotely. A fully self-contained server, there is no subscription-based consumption model that exists, and it does not utilize an external connection nor third-party authentication for any of its functionality. This enables Jellyfin to work on an isolated intranet in much the same fashion as it does over the Internet.

Because it shares a heritage with Emby, some clients for that platform are unofficially compatible with Jellyfin, however as Jellyfin’s code-base diverges from Emby, this becomes less possible. It does not support a direct migration path from Emby. (Source: Wikipedia)

Jellyfin is open source and distributed under GPLv2 license. The source code is available at Github repository.

Environment Specification:

We are using a minimal CentOS 8 virtual machine with following specifications.

  • CPU – 3.4 Ghz (2 cores)
  • Memory – 4 GB
  • Storage – 40 GB
  • Operating System – CentOS 8.3
  • Hostname –
  • IP Address – /24

Update Linux Operating System:

Connect with as root user by using a ssh client.

It is a best practice to always update your Linux operating system packages before installing a new software.

Use dnf command to update your Linux server as follows.

# dnf update -y

Check the Linux operating system and Kernel versions, that are being used in this installation guide.

# cat /etc/redhat-release
CentOS Linux release 8.3.2011

# uname -r

Install EPEL Yum Repository:

Some of the packages, that are required by Jellyfin software, are not available in standard yum repositories.

Therefore, you are required to install EPEL (Extra Packages for Enterprise Linux) on your CentOS / RHEL server before installing Jellyfin software.

# dnf install -y epel-release

Install RPM Fusion Yum Repository:

RPM Fusion repository provides add-on packages for Fedora and Red Hat based Linux distributions. It provides both free and commercial software packages.

Jellyfin media server requires some software packages from RPM Fusion repository, therefore you have to install it by executing following command at Linux bash prompt.

# dnf install -y /
> / 
install rpm fusion on linux

Enable PowerTools Yum Repository in CentOS 8:

PowerTools repository is not enabled by default in CentOS / RHEL 8 operating system. However, there are some software that have dependencies in PowerTools yum repository.

Execute following Linux command to enable PowerTools repository.

# dnf config-manager --enable powertools

Build cache for newly installed yum repositories.

# dnf makecache
Build yum cache

Install Jellyfin Prerequisite Packages:

If you have correctly setup the third party yum repositories on your Linux server then you can install the Jellyfin prerequisite packages very easily.

Jellyfin media server requires Simple DirectMedia Layer (SDL), which is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components.

SDL2 software is available in PowerTools yum repository, therefore execute dnf command and install it on your Linux server.

# dnf install -y SDL2

Jellyfin media server also requires ffmpeg software packages.

FFmpeg is a free and open-source software project consisting of a large suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the FFmpeg program itself, designed for command-line-based processing of video and audio files.

Install ffmpeg by using dnf command.

# dnf install -y ffmpeg ffmpeg-devel

Install Jellyfin on CentOS 8:

Jellyfin is a free software, therefore you can download from their official website.

By using wget command, download the Jellyfin server RPM on your Linux server.

# wget
HTTP request sent, awaiting response... 200 OK
Length: 41886592 (40M) [application/x-redhat-package-manager]
Saving to: âjellyfin-server-10.7.0~rc2-1.el7.x86_64.rpmâ

jellyfin-server-10. 100%[===================>]  39.95M   185KB/s    in 9m 16s

2021-01-04 23:12:28 (73.5 KB/s) - âjellyfin-server-10.7.0~rc2-1.el7.x86_64.rpmâ saved [41886592/41886592]

Similarly, download the web client package by using wget command. This package provides the Web UI for Jellyfin media server.

# wget
HTTP request sent, awaiting response... 200 OK
Length: 36060156 (34M) [application/x-redhat-package-manager]
Saving to: âjellyfin-web-10.7.0~rc2-1.el7.noarch.rpmâ

jellyfin-web-10.7.0 100%[===================>]  34.39M   415KB/s    in 8m 26s

2021-01-04 23:22:50 (69.5 KB/s) - âjellyfin-web-10.7.0~rc2-1.el7.noarch.rpmâ saved [36060156/36060156]

Install Jellyfin server package on your Linux operating system by using following dnf command.

# dnf localinstall -y jellyfin-server-10.7.0~rc2-1.el7.x86_64.rpm
install Jellyfin Server on Linux

Similarly, install Jellyfin web package on your Linux server.

# dnf localinstall -y jellyfin-web-10.7.0~rc2-1.el7.noarch.rpm
install Jellyfin web interface on Linux

Enable and start Jellyfin service.

# systemctl enable --now jellyfin.service
Created symlink /etc/systemd/system/ â /usr/lib/systemd/system/jellyfin.service.

Verify the status of the service.

# systemctl status jellyfin.service
Jellyfin service status

Configure Linux Firewall:

Jellyfin service listens on default port 8096/tcp.

To allow incoming traffic to your online media server. You are required to allow the service port in Linux firewall.

# firewall-cmd --permanent --add-port=8096/tcp
# firewall-cmd --reload

Web Configuration of Jellyfin Media Server:

Open URL in a web browser.

Jellyfin Media Server Welcome Page

Select your preferred display language and click on “Next”.

Jellyfin Create User

Provide username/password to create an Jellyfin admin user. Click on “Next”.

Jellyfin Media Server Setup

Add your required Media directories, We are adding three different type of media directories in our media streaming server.

Jellyfin Add Media Library 1
Jellyfin Add Media Library 2
Jellyfin Add Media Library 3
Jellyfin Add Media Library 4

Click on “Next”.

Jellyfin Preferred Metadata Language

Choose Preferred Metadata Language and click on “Next”.

Jellyfin Configure Remote Access

Click on “Next”.

Jellyfin Setup You're Done

Click on “Finish”.

Jellyfin Media Server Login

Click on “Sign In”.

Jellyfin Dashboard

Click on a library to view the content therein.

Jellyfin Media Server Music 1
Jellyfin Media Server Music 2
Jellyfin Media Server Books

Click on dashboard, to view the details about your media streaming server.

Jellyfin Media Server Settings

The online media streaming server has been installed and configured on CentOS / RHEL 8. If you have faced difficulty in understanding the above installation guide, then you may read CentOS 8 Essentials: Learn to install, administer and deploy CentOS 8 systems (PAID LINK) by Neil Smyth.

Conclusion – Install Jellyfin on CentOS 8:

In this guide, you have learned how to install Jellyfin on CentOS 8.