How to Set Up a Home Media Server with Jellyfin on Ubuntu

Spread the love

Jellyfin is a media server for streaming and organizing pictures, video, and audio. Unlike other solutions on the market, Jellyfin is completely free with no paid features or premium upgrade plans and allows you to have full control over your media. Any device with a modern web browser can access and stream from Jellyfin, and there are applications for Android, Android TV, and Amazon Fire TV.

Here’s how you can set up your own media streaming server with Jellyfin.

Also read: How to Set Up Plex Media Server on Linux

Before You Begin

You will need a 64-bit device running Ubuntu 18.04 desktop or server edition. This can be anything from an old laptop you have lying around to a high-end dual socket server, but make sure you have enough storage space for all your media files. For better performance, use a wired network connection rather than Wi-Fi.

You will also need to set a static IP address on your Ubuntu machine.

Installing Jellyfin

Start by updating your Ubuntu system:

sudo apt update && sudo apt -y upgrade

Install curl (an HTTP client) and apt-transport-https, which enables HTTPS support for APT:

sudo apt install -y curl apt-transport-https

Enable the universe Ubuntu repository:

sudo add-apt-repository universe

Add the Jellyfin software repository:

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

A GPG signing key is used to ensure that downloaded files haven’t been tampered with. Add the Jellyfin signing key:

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

Update the package list:

sudo apt update

Install Jellyfin:

sudo apt install -y jellyfin

If you want Jellyfin to start automatically at boot, run:

sudo systemctl enable jellyfin.service

Start Jellyfin:

sudo systemctl start jellyfin.service

Using the Setup Wizard

Browse to http://IP_ADDRESS:8096, where “IP_ADDRESS” is the static address you have configured.

Select a default language and click Next.

Enter your first name and password to create the administrator account and click Next.

You can add libraries later, so skip this step for now by clicking Next.

Metadata consists of various information and data, such as age ratings, overviews, posters, etc. Select your language and country and then click Next.

If you plan on streaming from Jellyfin to outside your home, enable these options. Otherwise, uncheck them. Click Next and Finish to exit the wizard.

Also read: How to Set Up Emby Media Server on Linux

Adding Libraries

Jellyfin uses customizable libraries to organize media files. To create your first one, sign into Jellyfin at http://IP_ADDRESS:8096/, and open the administration dashboard by clicking on the top rightmost icon. On the left sidebar, under Server, click Libraries and then click “Add Media Library.”

Choose the content type and give your library a name, and then click the plus sign to add a folder.

Enter the full path to the folder where you will be storing files for this library and then click OK. Repeat this process for other folders, if any. You do not have to change the other library settings, as the defaults work well in most cases.

When you want to add new media, simply add it to one of the folders you’ve chosen. Jellyfin regularly scans these folders and updates your libraries accordingly.

Adding Users

The default user account created by the wizard has administrator access and thus should not be shared. Instead, you can create other Jellyfin accounts for your family members, friends, and so on.

From your administrator dashboard, under Server, click Users and then the plus sign to add a user account.

Enter a name and password, and if you do not want this user to have access to all your libraries, clear the “Enable access to all libraries” checkbox. Click Save to create the account.

Installing Jellyfin Plugins

For added functionality, you can install plugins, such as the popular OpenSubtitles plugin which downloads subtitles automatically.

From your administration dashboard, under “Advanced,” click Plugins and then the Catalog tab.

Click the plugin you want to install.

If you want a specific version, select it. Otherwise, select the latest version and click Install. When you see the message “The plugin has been successfully installed,” restart Jellyfin from the main page of your administration dashboard by clicking Restart.

After you restart Jellyfin, your plugins are ready for use.

You should now have a functional media streaming server. Enjoy!

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Sign up for all newsletters.
By signing up, you agree to our Privacy Policy and European users agree to the data transfer policy. We will not share your data and you can unsubscribe at any time. Subscribe


Karl Wakim

Karl Wakim is a technical author and Linux systems administrator.

Comments (2)