How to Install Jellyfin Multimedia Server on CentOS 7

jellyfincentos 7docker installationrpm installationmultimedia server
Published·Modified·

Jellyfin is an open-source multimedia player similar to Plex introduced in previous blog posts. While the free version of Plex can meet daily needs, it has some functional limitations. Jellyfin is free and open-source with no additional fees. If you want to experience more features for free, Jellyfin might be a better choice.

Install Jellyfin Using Docker

First, ensure you have Docker installed. If not, please refer to online tutorials to install Docker first. Installing Jellyfin via Docker is straightforward.

  1. Pull the Jellyfin image:
docker pull jellyfin/jellyfin
  1. Create the configuration and cache directories required by Jellyfin:
mkdir -p /opt/jellyfin/config
mkdir -p /opt/jellyfin/cache
  1. Run the Jellyfin service:
docker run -d \
 --volume /opt/jellyfin/config:/config \
 --volume /opt/jellyfin/cache:/cache \
 --volume /path/to/media:/media \
 --user 1000:1000 \
 --net=host \
 --restart=unless-stopped \
 jellyfin/jellyfin

If you have Docker Compose installed, you can also create a docker-compose.yml file in the jellyfin directory with the following content:

version: "3"
services:
  jellyfin:
    image: jellyfin/jellyfin
    user: 1000:1000
    network_mode: "host"
    volumes:
      - /opt/jellyfin/config:/config
      - /opt/jellyfin/cache:/cache
      - /path/to/media:/media

Allow port 8096 through the firewall:

firewall-cmd --zone=public --add-port=32400/tcp --permanent
firewall-cmd --reload

If using docker-compose, run docker-compose up. If no errors occur, visit http://IP:8096 in your browser to see the Jellyfin initialization interface and follow the prompts to complete the setup.

Install Jellyfin Using RPM

The Docker installation method has some limitations, such as certain mount points not being recognized. Therefore, xiaoz switched to RPM package installation, which avoids these issues.

First, install the required dependencies:

yum install libicu fontconfig -y

Then, go to https://repo.jellyfin.org/releases/server/centos/ to download the latest available CentOS RPM package for installation. Since the official site may remove old RPM packages, the links below might become invalid.

# Download RPM package
wget -c https://repo.jellyfin.org/releases/server/centos/stable/jellyfin-10.5.3-1.el7.x86_64.rpm
# Backup download
wget -c http://soft.xiaoz.org/linux/jellyfin-10.5.3-1.el7.x86_64.rpm
# Install jellyfin
rpm -Uvh --nodeps jellyfin-10.5.3-1.el7.x86_64.rpm

Next, start Jellyfin:

# Start jellyfin
systemctl start jellyfin
# Enable jellyfin to start on boot
systemctl enable jellyfin

Visit http://IP:8096 and follow the page prompts to complete the Jellyfin initialization.

Install ffmpeg

Since Jellyfin requires ffmpeg for transcoding, but the RPM package does not include ffmpeg, you need to install it manually. Here is a method for static installation of ffmpeg:

# Download ffmpeg
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz
# Extract
tar -xvf ffmpeg-git-amd64-static.tar.xz
# Move directory
cp ffmpeg-git-20200211-amd64-static/ffmpeg /usr/bin/
cp ffmpeg-git-20200211-amd64-static/ffprobe /usr/bin/

Open the Jellyfin backend - Server - Playback - Set the FFmpeg path to /usr/bin/ffmpeg.

Jellyfin Original Quality Playback

If your network conditions are good and your hardware is powerful enough, you don't need transcoding. You can remove the following options in "Server - Users - Media Playback":

  • Allow playback of audio that requires transcoding (remove)
  • Allow playback of video that requires transcoding (remove)
  • Allow playback of video that requires conversion but no re-encoding (remove)

User Experience

I have tried both Jellyfin and Plex. Functionally, they are quite similar. Plex is more mature and complete, but without purchasing Plex Premium, there are some functional limitations. Jellyfin is completely free and has powerful features, but currently, Jellyfin does not have an official Windows client. However, I believe Jellyfin will gradually improve. If you are willing to pay, choose Plex; if you want to be completely free, consider Jellyfin.

Summary

Jellyfin is suitable for installation on NAS or local area network hosts, making it easy to build your own home media library. You can also choose to install it on a large hard drive VPS to achieve online playback. Additionally, Jellyfin can be paired with the powerful KODI player, which I will introduce in more detail in the future.

This article partially references the following articles:

Jellyfin Official Website: https://jellyfin.org/