Share on Social Media

Learn how to install Jellyfin Server on CentOS 8 with our detailed guide. Set up your own media server to stream movies, music, and TV shows effortlessly. #centlinux #linux #jellyfin

What is Jellyfin?

Jellyfin is an open-source media server software that allows you to manage and stream your personal collection of movies, TV shows, music, and other media. Here are some key features and aspects of Jellyfin:

  1. Open Source: Jellyfin is completely free and open-source, meaning there are no subscription fees or proprietary software limitations. The source code is available for anyone to inspect, modify, and contribute to.
  2. Media Management: Jellyfin helps you organize your media files, fetching metadata such as cover art, descriptions, and other information automatically to enhance your media library.
  3. Multi-Platform Support: Jellyfin is compatible with a wide range of devices and operating systems, including Windows, macOS, Linux, Android, iOS, and various streaming devices like Roku and Fire TV.
  4. Live TV and DVR: Jellyfin supports live TV and digital video recording (DVR) functionalities, allowing you to watch and record live television channels if you have a compatible tuner.
  5. User Profiles: You can create multiple user profiles with customizable access controls, ensuring that each member of your household has a personalized media experience.
  6. Transcoding and Playback: Jellyfin can transcode media on-the-fly, enabling playback on a variety of devices regardless of the original media format. It supports direct play, direct stream, and transcoding to optimize performance and compatibility.
  7. Web Interface and Apps: Jellyfin offers a web-based interface for easy access from any browser, as well as dedicated apps for various platforms, providing a seamless media streaming experience.
  8. Community and Plugins: Being open-source, Jellyfin benefits from a vibrant community that contributes plugins and extensions, adding new features and integrations with other services.

Overall, Jellyfin is a versatile and powerful solution for anyone looking to set up a personal media server, offering robust features without the need for a paid subscription.

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

Emby vs Jellyfin vs Plex

When choosing between Emby, Jellyfin, and Plex for a media server solution, it’s important to consider their features, pricing, and community support. Here’s a comparison to help you decide:

Emby

Features

  • Comprehensive media management with automatic metadata fetching.
  • Live TV and DVR capabilities.
  • Parental controls and user profiles.
  • Transcoding and hardware acceleration support.
  • Plugins and extensibility for additional features.

Pricing

  • Freemium model: Basic features are free, but advanced features (like DVR, offline sync, and hardware transcoding) require a subscription (Emby Premiere).

Community and Support

  • Active community forums.
  • Official support for subscribers.

Jellyfin

Features

  • Similar to Emby in terms of media management, live TV, DVR, and transcoding.
  • Completely open-source, with no premium features locked behind a paywall.
  • Plugins and community-driven development.

Pricing

  • Completely free and open-source.

Community and Support

  • Active open-source community with contributions from users.
  • Support mainly through community forums and GitHub.

Plex

Features

  • Extensive media management with automatic metadata fetching.
  • Live TV and DVR capabilities.
  • Premium features like Plex Pass, which offers offline sync, hardware transcoding, and more.
  • Integration with various third-party services and plugins.
  • Supports a wide range of devices and platforms.
  • Advanced user profiles and parental controls.

Pricing

  • Freemium model: Basic features are free, but advanced features (like DVR, offline sync, and enhanced music and photo libraries) require a subscription (Plex Pass).

Community and Support

  • Large and active user community.
  • Official support for Plex Pass subscribers.
  • Extensive documentation and third-party resources.

Each option has its strengths, so your choice will depend on your specific needs, preferences for open-source vs. proprietary solutions, and willingness to pay for additional features.

Recommended Online Training: Learn Bash Shell in Linux for Beginners

745772 0021

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

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

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

Install Jellyfin Prerequisites

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 Server 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 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

Similarly, install Jellyfin web package on your Linux server.

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

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

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.

Jellyfin Setup - Select Display Language
Jellyfin Setup – Select Display Language

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

Jellyfin User Information
Jellyfin User Information

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

Jellyfin Server - Setup your Media Libraries 1
Jellyfin Server – Setup your Media Libraries 1

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

Jellyfin Server - Add Media Library 1
Jellyfin Server – Add Media Library 1
Jellyfin Server - Add Media Library 2
Jellyfin Server – Add Media Library 2
Jellyfin Server - Add Media Library 3
Jellyfin Server – Add Media Library 3
Jellyfin - Setup your Media Libraries 2
Jellyfin – Setup your Media Libraries 2

Click on “Next”.

Jellyfin Media Server - Preferred Metadata Language
Jellyfin Media Server – Preferred Metadata Language

Choose Preferred Metadata Language and click on “Next”.

Jellyfin Media Server - Configure Remote Access
Jellyfin Media Server – Configure Remote Access

Click on “Next”.

Jellyfin Installation is Completed
Jellyfin Installation is Completed

Click on “Finish”.

Jellyfin Login
Jellyfin Login

Click on “Sign In”.

Jellyfin Dashboard
Jellyfin Dashboard

Click on a library to view the content therein.

Jellyfin Content - Music
Jellyfin Content – Music
Jellyfin Content - Music Videos
Jellyfin Content – Music Videos
Jellyfin Library - Books
Jellyfin Library – Books

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

Jellyfin Media Server Details
Jellyfin Media Server Details

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.

Final Thoughts

Setting up Jellyfin Server on CentOS 8 can transform your media experience, giving you full control over your personal media library with a powerful, open-source solution. By following this guide, you’ll be able to enjoy seamless streaming and robust media management features tailored to your needs.

If you encounter any challenges or prefer professional assistance to ensure everything is configured perfectly, I offer expert installation services. Check out my Fiverr gig here for personalized help with setting up Jellyfin Server on CentOS 8. Let’s get your media server up and running smoothly!

One thought on “How to install Jellyfin Server on CentOS 8”

Comments are closed.