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.
Start by updating your Ubuntu system:
curl (an HTTP client) and
apt-transport-https, which enables HTTPS support for APT:
Enable the universe Ubuntu repository:
Add the Jellyfin software repository:
A GPG signing key is used to ensure that downloaded files haven’t been tampered with. Add the Jellyfin signing key:
Update the package list:
If you want Jellyfin to start automatically at boot, run:
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.
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.
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!