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

Jellyfin Home Screen Featured

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.

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 )] $( 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 | 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.

Jellyfin Wizard Initial

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

Jellyfin Wizard User Account

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

Jellyfin Wizard Libraries

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

Jellyfin Wizard Metadata Language

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.

Jellyfin Wizard Remote Connections

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.

Jellyfin Add Library

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.

Jellyfin Add Folder

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.

Jellyfin Add User

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.

Jellyfin Plugins Catalog

Click the plugin you want to install.

Jellyfin Plugin 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.

Jellyfin Server Restart

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

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

Karl Wakim

Karl Wakim is a technical author and Linux systems administrator.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox