In this tutorial, we will show you how to install Jellyfin on the Ubuntu operating system.
Jellyfin is one of the best free and open-source media servers you can install on Ubuntu and is one of the best alternatives to the Plex Media Server.
Like Plex, Jellyfin works on the same server and client model. You have a central place where you host Jellyfin and all of your media files, and the server streams these to any of your devices running the client. This allows you to have your very own media streaming service where you can retain full control over the media you want and keep your privacy.
Functionality-wise, Plex, and Jellyfin are super similar. This media server will be able to handle almost any movie, TV, or music file you throw at it, with hardware transcoding for free. Hardware transcoding allows your media server to convert a file into a format the client supports. This is useful, especially when dealing with lower end clients that can’t handle more modern codecs.
If you are wondering why someone might want to use Jellyfin over Plex on Ubuntu, it comes down to both the handling of your data and the fact that there is zero paywall. Recent years have seen Plex make some weird decisions with handling user data alongside moving more of its features behind their account system.
While Jellyfin has support for most of the same clients as Plex, it does lack support for both PlayStation and Xbox consoles. If this is a deal breaker, you will want to stick with Plex for now.
Installation-wise, Jellyfin isn’t that different from Plex. You will be able to have Jellyfin installed and streaming your files in just a few short minutes.
Installing and Setting Up Jellyfin on Ubuntu
Over the following sections, we will walk you through the quick and easy steps to setting up Jellyfin on an Ubuntu system.
Preparing your Ubuntu System
1. Before we start setting up the Jellyfin media server on Ubuntu, we must ensure we have everything we need.
The first part of this process is updating the package list cache and upgrading any out-of-date packages by using the following two commands.
sudo apt update
sudo apt upgrade -y
2. Your next step is ensuring we have all the required packages.
You can install the required packages by running the command below within the terminal.
sudo apt install lsb-release curl
Adding the Official Jellyfin Repository on Ubuntu
3. With everything ready, we will want to add the official Jellyfin repository to our Ubuntu system. Adding the official repository will ensure that we always have access to the latest versions of the media server.
You can use the following command to grab the Jellyfin GPG key and save it to your system. This key is used to verify the authenticity of any package downloaded through the repository.
curl https://repo.jellyfin.org/debian/jellyfin_team.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/jellyfin-archive-keyring.gpg >/dev/null
4. Once the GPG key has been saved to your system, your next step is adding the Jellyfin package repository to your system using the command below.
With this command, we automatically fetch your current Ubuntu release and system architecture to ensure we download the right version of Jellyfin.
echo "deb [signed-by=/usr/share/keyrings/jellyfin-archive-keyring.gpg arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/ubuntu $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
5. As we made a change to the available repositories, we must rerun an update to ensure our package manager is aware of the new software it can install.
sudo apt update
Installing Jellyfin
6. At this point, installing Jellyfin onto Ubuntu is as straightforward as running the following command.
This will install the media server alongside its web interface and its modified version of FFmpeg. This modified version of FFmpeg helps the media server properly handle hardware transcoding on your Ubuntu system.
sudo apt install jellyfin
7. Jellyfin will automatically start after your Ubuntu system finishes installing the package.
You can verify that it is running by using the following command to print out the status of the “jellyfin
” service.
sudo systemctl status jellyfin
Assuming everything has worked properly, you should see the following text in the output from the above command.
Active: active (running)
Correcting Permissions for Jellyfin on Ubuntu
8. Before we go ahead and access the Jellyfin Media server’s web interface, we will need to ensure your media files on Ubuntu have the correct permissions for the “jellyfin
” user to access them.
For these next three steps, you must know the paths where you are storing your media files. For this example, we will say our media files are stored within the directory “/mnt/media
“.
Our first step is to swap to the superuser by running the following two commands within the terminal.
sudo su
9. Once you are acting as the superuser we can use the following two commands within the terminal to change the permissions for files and directories within your media location.
While typing out these commands, ensure you replace “<YOURDRIVEPATH>
” with the path to where your media files are located.
These two commands re-adjust the permissions of both files and directories within the given directory. In particular, it will set directories to “755
” and files to “644
“. Follow our chmod command guide to understand what exactly these numbers means.
You will need to repeat this step for each location where your media files are stored. Failing to follow this step can lead to permission issues when using Jellyfin on Ubuntu. If the media server can’t read your files, it can’t stream them to your clients.
find <YOURDRIVEPATH> -type d -exec chmod 755 {} \;
find <YOURDRIVEPATH> -type f -exec chmod 644 {} \;
10. Once you are finished, you can exit and return to your normal user by running the following command.
exit
Accessing the Jellyfin Web Interface
11. With the Jellyfin media server up and running on your Ubuntu system, you will want to access its web interface.
If you don’t know the IP address of your Ubuntu machine, one of the easiest ways to get it is to use the hostname command.
hostname -I
12. Once you know the local IP address of your machine, go to the following URL in your favorite web browser.
Ensure you replace “<IPADDRESS>
” with the IP you got in the previous step.
http://<IPADDRESS>:8096
Going Through the Initial Setup of Jellyfin on Ubuntu
13. The first time you access your Jellyfin media server, you must complete some initial setup steps.
With this first step, you must set your preferred language (1.).
Once the language has been set, click the “Next
” button to continue (2.).
14. Your next step is to create what will be the admin user for your Jellyfin installation on Ubuntu. Fill out your username and password (1.) using the provided text boxes.
Once you are happy with all your details, click the “Next
” button (2.).
15. Your next step is to add your first media library to Jellyfin. To begin this process, click the “Add Media Library
” button.
If you prefer to do this later, click the “Next” button instead.
16. The first thing you must do is set the content type (1.) so that Jellyfin can understand how it must handle your files.
Once you have the content type set, click the plus (+
) symbol next to the “Folders
” heading (2.) to add a new folder to Jellyfin.
17. Using this screen, you will want to type in the path to where your media files are stored on your Ubuntu system (1.). Remember that this folder must only contain the content type that you have selected.
For example, if our movies were stored at “/media/movies/
“, that would be the directory we would use.
Once you are happy with the path you have set, click the “OK
” button (2.).
18. If you are happy with all of the settings for this new media library, click the “OK
” button.
19. You can now take this time to add the rest of your media libraries, or you can click the “Next
” button to proceed with setting up Jellyfin.
20. Jellyfin will now ask you to select the preferred metadata language (1.). You can change this per library, but these values will be used as the default when none have been set.
After you have set your preferred details, click the “Next
” button (2.).
21. The second last set of screens will allow you to control whether your Ubuntu Jellyfin server will have remote access (1.). Change these settings to suit your needs.
If you are happy with your setting changes, click the “Next
” button (2.).
22. You have now successfully finished going through the initial setup steps for Jellyfin on your Ubuntu system.
All you need to do now is click the “Finish
” button.
Logging into your New Jellyfin Account
23. After setting up the Jellyfin media server on Ubuntu, you can now log in to the account you created during the set up process.
After filling out your account details (1.), click the “Sign In
” button (2.).
24. Below, you can see we now have access to our Jellyfin media server through the web interface. We could even stream our media files directly from this web interface if we wanted to.
Conclusion
By this point in the guide, you should have the Jellyfin media server up and running on your Ubuntu machine.
Jellyfin is one of the best media servers around and is perfect if you are looking for a solid alternative to Plex or even Kodi. It has many features you will find useful and is capable of easily streaming media files to the vast majority of devices.
Please feel free to drop a comment below if you have had any issues with getting Jellyfin to run on Ubuntu.
If you found this Ubuntu tutorial to be helpful, we highly recommend taking some time to explore some of our many other Ubuntu guides.