- Published on
How to host Jellyfin on your Ubuntu home server
- Authors
- Name
- Kaur Kadak
In this tutorial we'll get Jellyfin server running on a fresh Ubuntu Linux server install and we'll take a look on how we could transfer media from your computer onto the server.
Versions at the time of writing:
- Linux - Ubuntu Server 24.04.2
- Jellyfin 10.10.7
How to setup Jellyfin on Ubuntu server
After a fresh install of Ubuntu Server, you'll be greeted by a command line.
username@hostname:~$
Luckily for us, downloading Jellyfin for linux has been made super simple. You only need to make sure that your server has internet connection and then run the following command:
curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash
This will handle installation of all necessary software to run Jellyfin.
You can check wheter Jellyfin is running, by running the command:
sudo systemctl status jellyfin
Example response of a running service:
● jellyfin.service - Jellyfin Media Server
Loaded: loaded (/lib/systemd/system/jellyfin.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2025-01-15 14:30:22 UTC; 2h 15min ago
Docs: https://jellyfin.org/docs/
Main PID: 1234 (jellyfin)
Tasks: 25 (limit: 4915)
Memory: 156.2M
CPU: 1min 23.456s
CGroup: /system.slice/jellyfin.service
└─1234 /usr/bin/jellyfin --webdir=/usr/share/jellyfin/web --restartpath=/usr/lib/jellyfin/restart.sh --ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg
Jan 15 14:30:22 hostname systemd[1]: Started Jellyfin Media Server.
Jan 15 14:30:23 hostname jellyfin[1234]: [14:30:23] [INF] Jellyfin version: 10.8.13
Jan 15 14:30:23 hostname jellyfin[1234]: [14:30:23] [INF] Operating system: Linux
Key indicators that our Jellyfin instance is running nicely:
Active: active (running)
means that our service is runningLoaded: loaded; enabled;
means it's installed and will start at boot
You can then access the user interface from a device that's connected to the same network your server is running on by going to: your_server_ip:8096
For example, my server is running on an old mini Dell PC, which is connected to my home network with an ethernet cable. This means it's possible for my LG TV to connect straight to the Jellyfin server over WiFi because they are on the same network and LG has a Jellyfin app developed for it, which makes the whole process super-easy.
Setup: TV (WiFi) → Router (ethernet/WiFi bridge) → Server (ethernet)
If everything is running nicely, you should be greeted with a view like this:
How to transfer media from your laptop to your server
This is how I made the transfer from my Windows laptop to my server.
- Download a movie
- Open Powershell
- Use the secure copy command (scp)
- Example:
scp C:\path\to\movie.mp4 username@server-ip:~/
- I'm copying to home directory initially, becaause I don't want to mess around with write permissions on the server.
- Example:
- Move the movies on your server where ever you've set up your Jellyfin media library
- Example:
mv ~/movie.mp4 ../../var/lib/jellyfin/movies/
- Example:
Bonus: How to add subtitles to your favorite show
In the Jellyfin dashboard, search for plugins and install Open Subtitles plugin.
Then all you need to do is create an account at OpenSubtitles.com and enter your credentials into your Jellyfin OS plugin setup. This will grant you 20 free downloads of subtitles for any media per day.
PS: If you are not finding subtitles for your movie/series, make sure the file name is formatted as follows:
- For series:
<Show name> <Year> <Seaso number> <Episode number> <Episode title>
- Example:
Show (2021) S01E01 Title.avi
- For movies:
<Movie name> <Year>
- Example:
Best_Movie_Ever (2019)