Home FAQ How To Setup Streaming Media Server Using Jellyfin In Linux
How To Setup Streaming Media Server Using Jellyfin In Linux

How To Setup Streaming Media Server Using Jellyfin In Linux

By sk
746 Views

This guide explains how to setup streaming media server using Jellyfin in Linux. Jellyfin is a free, cross-platform and open source alternative to propriety media streaming applications such as Emby and Plex.

The main developer of Jellyfin forked it from Emby after the announcement of Emby transitioning to a proprietary model. Jellyfin doesn't include any premium features, licenses or membership plans. It is completely free and open source project supported by hundreds of community members. Using jellyfin, we can instantly setup Linux media server in minutes and access it via LAN/WAN from any devices using multiple apps. Jellyfin supports GNU/Linux, Mac OS and Microsoft Windows operating systems.

Install Jellyfin On Linux

As of writing this guide, Jellyfin packages are available for most popular Linux distributions, such as Arch Linux, Debian, CentOS, Fedora and Ubuntu.

Jellyfin is available in AUR. On Arch Linux and its derivatives like Antergos, Manjaro Linux, you can install Jellyfin using any AUR helper tools, for example YaY.

$ yay -S jellyfin

On CentOS/RHEL:

Download the latest Jellyfin rpm package from here and install it as shown below.

$ wget https://repo.jellyfin.org/releases/server/centos/stable/jellyfin-10.5.5-1.el7.x86_64.rpm
$ sudo yum localinstall jellyfin-10.5.5-1.el7.x86_64.rpm

On Fedora:

Download Jellyfin for Fedora from here.

$ wget https://repo.jellyfin.org/releases/server/fedora/jellyfin-10.5.5-1.fc31.x86_64.rpm
$ sudo dnf install jellyfin-10.5.5-1.fc31.x86_64.rpm

On Debian:

Install HTTPS transport for APT if it is not installed already:

$ sudo apt install apt-transport-https

Import Jellyfin GPG signing key:

$ wget -O - https://repo.jellyfin.org/debian/jellyfin_team.gpg.key | sudo apt-key add -

Add Jellyfin repository:

$ sudo touch /etc/apt/sources.list.d/jellyfin.list
$ echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/debian $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Finally, update Jellyfin repository and install Jellyfin using commands:

$ sudo apt update
$ sudo apt install jellyfin

On Ubuntu 20.04 LTS and older versions:

Install HTTPS transport for APT if it is not installed already:

$ sudo apt install apt-transport-https

Enable [Universe] repository:

$ sudo add-apt-repository universe

Import and add Jellyfin GPG signing key:

$ wget -O - https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo apt-key add -

Add the Jellyfin repository:

$ sudo touch /etc/apt/sources.list.d/jellyfin.list
$ echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/ubuntu $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Finally, update Jellyfin repository and install Jellyfin using commands:

$ sudo apt update
$ sudo apt install jellyfin

Start Jellyfin service

Run the following commands to enable and start jellyfin service on every reboot:

$ sudo systemctl enable jellyfin
$ sudo systemctl start jellyfin

To check if the service has been started or not, run:

$ sudo systemctl status jellyfin

Sample output:

● jellyfin.service - Jellyfin Media Server
     Loaded: loaded (/lib/systemd/system/jellyfin.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/jellyfin.service.d
             └─jellyfin.service.conf
     Active: active (running) since Wed 2020-06-10 06:34:32 UTC; 6min ago
   Main PID: 2893 (jellyfin)
      Tasks: 16 (limit: 2283)
     Memory: 76.8M
     CGroup: /system.slice/jellyfin.service
             └─2893 /usr/bin/jellyfin --restartpath=/usr/lib/jellyfin/restart.sh --ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg

Jun 10 06:34:45 ubuntuserver jellyfin[2893]: [06:34:45] [INF] Registering publisher for urn:schemas-upnp-org:device:MediaServer:1 on 192.168.225.52
Jun 10 06:34:45 ubuntuserver jellyfin[2893]: [06:34:45] [INF] Registering publisher for urn:schemas-upnp-org:device:MediaServer:1 on 192.168.225.60
Jun 10 06:34:45 ubuntuserver jellyfin[2893]: [06:34:45] [INF] Registering publisher for urn:schemas-upnp-org:device:MediaServer:1 on 192.168.225.51
Jun 10 06:34:46 ubuntuserver jellyfin[2893]: [06:34:46] [INF] Executed all post-startup entry points in 0:00:01.0366093
Jun 10 06:34:46 ubuntuserver jellyfin[2893]: [06:34:46] [INF] Startup complete 0:00:12.7912482
Jun 10 06:34:47 ubuntuserver jellyfin[2893]: [06:34:47] [INF] StartupTrigger fired for task: Update Plugins
Jun 10 06:34:47 ubuntuserver jellyfin[2893]: [06:34:47] [INF] Queueing task PluginUpdateTask
Jun 10 06:34:47 ubuntuserver jellyfin[2893]: [06:34:47] [INF] Executing Update Plugins
Jun 10 06:34:49 ubuntuserver jellyfin[2893]: [06:34:49] [INF] Update Plugins Completed after 0 minute(s) and 2 seconds
Jun 10 06:34:49 ubuntuserver jellyfin[2893]: [06:34:49] [INF] ExecuteQueuedTasks

If you see an output something, congratulations! Jellyfin service has been started.

Next, we should do some initial configuration.

Setup Streaming Media Server Using Jellyfin In Linux

Once jellyfin is installed, open the browser and navigate to - http://<domain-name>:8096 or http://<IP-Address>:8096 URL.

You will see the Jellyfin welcome screen. Select your preferred language and click Next.

Jellyfin welcome screen

Create a new user for Jellyfin. You can add more users later from the Jellyfin Dashboard.

Create a new user for Jellyfin

Net, choose the folders where you have saved the media files. To do so, click "Add Media Library" button:

Add Media Library In Jellyfin

Choose the content type (i.e. audio, video, movies etc.), enter display name and click plus (+) sign next to the Folders icon to choose the location where you kept your media files. You can further choose other library settings such as the preferred download language, country etc. Click OK after choosing the preferred options.

Choose media location in Jellyfin

Similarly, add all of the media files. You can also create multiple media libraries by clicking on the "Add Media Library" button. Once you have chosen everything to stream, click Next.

Setup your media libraries in Jellyfin

Choose the Metadata language and click Next:

Select preferred metadata language in Jellyfin

Next, you need to configure whether you want to allow remote connections to this media server. Make sure you have allowed the remote connections. Also, enable automatic port mapping and click Next:

Configure remote access to Jellyfin

You're all set! Click Finish to complete Jellyfin configuration.

Jellyfin configuration completed

You will now be redirected to Jellyfin login page. Enter the username and password which we created earlier.

Login to Jellyfin dashboard

This is how Jellyfin dashboard looks like.

Jellyfin dashboard

As you see in the screenshot, all of your media files are shown in the dashboard itself under My Media section. Just click on the any media file of your choice and start watching it!!

Playing media in Jellyfin

You can access this Jellyfin media server from any systems or devices such as mobile phone, tablet pc, on the network using URL - http://ip-address:8096. You don't need to install any extra apps. All you need is a modern web browser.

If you want to change anything or reconfigure, click on the three horizontal bars from the Home screen. Here, you can add users, media files, change playback settings, add TV/DVR, install plugins, change default port no and a lot more settings.

Jellyfin settings

For more details, check out Jellyfin official documentation page.

And, that's all for now. As you can see setting up a streaming media server on Linux is no big-deal. I tested it on my Ubuntu 20.04 LTS server. It worked just fine out of the box. I can be able to watch the movies from other systems and mobile devices in my LAN. If you're looking for an easy, quick and free solution for hosting a media server, Jellyfin is a definitely good choice.


Related read:


Resource:

Thanks for stopping by!

Help us to help you:

Have a Good day!!

You May Also Like

7 comments

ed peterson May 9, 2020 - 8:06 am

WOW!! Thanks so much! I have spent …days… attempting to find some player to add to a VM containing my music. Unfortunately, MOST of the install instruction and install scripts are very buggy, so I’ve had less than ~10% success rate. Over coffee this Am I found your page and decided to make another try, I’m very happy I did, this installed as you documented, and also ran as you detail in your instructions. I’m playing music + uploading my library as I’m sending this to you. The only thing left to do is add more users. GREAT JOB, THANKS!!!

Reply
Denis Sakac June 2, 2020 - 12:21 pm

Hi, nice tutorial…but my mkv files won’t play. My naming of files is ok and everything others sims ok…maybe you know what could be?

Reply
sk June 2, 2020 - 12:29 pm

Does your mkv file play in media player like VLC or SMPlayer? Then you should check file permissions restriction in your media storage directory. This is probably due to permission issue.

Reply
Mark June 10, 2020 - 9:47 am

I had an issue where some of my files that i setup in a Movie library weren’t discovered by Jellyfin. I had to change the ownership of the files so that they’d be found when Jellyfin scanned the library. Then i saw that changing file ownership in my home directory wasnt a good idea. The suggestion was to put my files in a directory off of the root. (Umbutu by the way). I made a directory off the root and moved a movie in there to test. When i tried adding this folder to my Jellyfin server via the add media button, when i go to save the setup, it never completes. Its like content off the root is allowed. Any idea?

Reply
sk June 10, 2020 - 1:26 pm

Today I tested Jellyfin on my Ubuntu 20.04 LTS. I created a new media directory in my root (/) directory and I can able to play media files without any problems. I think your user doesn’t not have read permission for the media library folder. I believe it is permission issue.

Reply
Sameer Chauhan June 20, 2020 - 12:36 am

Well, it’s not a new thing u can set-up a samba server on your system, but still, it is GREAT! by providing great skins and interactive UI.
I hope they soon make an app for it bcz my parents don’t know what a browser is and how to go to that specific site they can just open up an app and click on the movie they want to stream.

Reply
sk June 20, 2020 - 4:32 pm

May be you should create desktop shortcut for Jeyylfin URL and tell them to open it when they wanted to watch a movie.

Reply

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More