CentLinux | Learn How to Install CentOS/Rocky Linux Servers

Saturday, January 9, 2021

Install Jellyfin Media Server on CentOS / RHEL 8

Install Jellyfin Media Server on CentOS / RHEL 8

Jellyfin is the volunteer-built media solution that streams to any device from your own media server. In this guide, you will learn how to install media streaming server on CentOS / RHEL 8.

 

Table of Contents:

 

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.

Install Jellyfin Media Server on CentOS / RHEL 8


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 – jellyfin-server.centlinux.com
  • IP Address - 192.168.116.230 /24

 

Update Linux Operating System:

Connect with jellyfin-server.centlinux.com 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
4.18.0-240.1.1.el8_3.x86_64

 

Install EPEL yum Repository on CentOS 8:

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 /
> https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm / 
> https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm

01-rpmfusion-repository-install-centos

 

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

02-dnf-makecache-output

 

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 Media Server on CentOS / RHEL 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 https://repo.jellyfin.org/releases/server/centos/stable/server/jellyfin-server-10.7.0~rc2-1.el7.x86_64.rpm
...
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 https://repo.jellyfin.org/releases/server/centos/stable/web/jellyfin-web-10.7.0~rc2-1.el7.noarch.rpm
...
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

03-install-jellyfin-media-server-rhel

Similarly, install Jellyfin web package on your Linux server.

# dnf localinstall -y jellyfin-web-10.7.0~rc2-1.el7.noarch.rpm

04-install-jellyfin-web-rhel

Enable and start Jellyfin service.

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

Verify the status of the service.

# systemctl status jellyfin.service

05-jellyfin-service-status-rhel

 

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
success
# firewall-cmd --reload
success

 

Web Configuration of Jellyfin Media Server:

Open URL http://jellyfin-server.centlinux.com:8096 in a web browser.

01-install-jellyfin-media-server-centos-8-display-language

Select your preferred display language and click on "Next".

02-install-jellyfin-media-server-centos-8-create-user

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

03-install-jellyfin-media-server-centos-8-media-libraries

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

04-install-jellyfin-media-server-centos-8-music05-install-jellyfin-media-server-centos-8-videos06-install-jellyfin-media-server-centos-8-books07-install-jellyfin-media-server-centos-8-media-libraries

Click on "Next".

08-install-jellyfin-media-server-centos-8-metadata-language

Choose Preferred Metadata Language and click on "Next".

09-install-jellyfin-media-server-centos-8-remote-access

Click on "Next".

10-install-jellyfin-media-server-centos-8-finish

Click on "Finish".

11-install-jellyfin-media-server-centos-8-sign-in

Click on "Sign In".

12-install-jellyfin-media-server-centos-8-media-libraries

Click on a library to view the content therein.

13-install-jellyfin-media-server-centos-8-music14-install-jellyfin-media-server-centos-8-videos15-install-jellyfin-media-server-centos-8-books

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

16-install-jellyfin-media-server-centos-8-dashboard

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 by Neil Smyth.

 

Conclusion:

In this guide, you have learned how to install Jellyfin media server on CentOS / RHEL 8.

If you find this article useful? Consider supporting us by Buy Me A Coffee


© 2023 CentLinux. All Rights Reserved.