Ever wish you could build your own Netflix-like home media streaming service? If so, you’re going to adore Jellyfin. Either you’re a film enthusiast, a music aficionado, or simply a person who likes to keep their digital life in order, Jellyfin is an incredibly capable open-source media server that allows you to completely manage your media library without having to pay for expensive premium subscriptions or cope with privacy-violating data collection. In this article, we’ll take you through the whole process of how to install Jellyfin on Ubuntu from setup and dependencies to configuration and accessing the web dashboard. No jargon tech speak just a no-nonsense, beginner’s guide for anyone willing to take back their media.
What is Jellyfin?

Let’s begin with the fundamentals. Jellyfin is an open-source, free alternative to Plex and Emby. It enables you to manage, stream, and share your digital media library to all your devices. The best part? It values your privacy no tracking, no ads, and no fees. It’s really your media, your server, your rules.
Some highlights:
- Stream to your phone, smart TV, tablet, or browser
- Organize videos, music, and photos
- Live TV and DVR support (with plugins and tuners)
- Multi-user support with access control
- Supports Windows, Linux, macOS, Docker, and more
Prerequisites
Before we jump into installation, let’s ensure you have everything in place:
- Ubuntu system: Ideally Ubuntu 20.04 LTS or higher
- User with sudo rights
- Internet connection
- Basic terminal familiarity
You don’t have to be a Linux guru we’ll walk you through it all.
Step 1: Update Your System
First things first always a good idea to get your Ubuntu packages updated before installing anything new.
Open your terminal and enter:
Get exclusive access to all things tech-savvy, and be the first to receive
the latest updates directly in your inbox.
<code>sudo apt update && sudo apt upgrade -y</code>
This keeps your system up to date with the latest security patches and software versions.
Step 2: Add the Jellyfin Repository
To install Jellyfin on Ubuntu, Jellyfin has official repositories for Ubuntu, and this makes installation easy.
Install HTTPS transport and dependencies:
sudo apt install apt-transport-https software-properties-common gnupg curl -y
Import the GPG key
curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/jellyfin-archive-keyring.gpg > /dev/null
Add the Jellyfin repository:
echo "deb [signed-by=/usr/share/keyrings/jellyfin-archive-keyring.gpg] https://repo.jellyfin.org/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
Update the package index again:
sudo apt update
Step 3: Install Jellyfin
Now that the repository is added, to install Jellyfin on Ubuntu is as easy as:
sudo apt install jellyfin -y
That’s it! The server will be installed and ready to run
Step 4: Start and Enable Jellyfin Service
Once installed, you’ll want Jellyfin to start automatically on boot.
sudo systemctl enable jellyfin<br>sudo systemctl start jellyfin
You can check the status of the service:

sudo systemctl status jellyfin
If everything is working, you’ll see something like “Active: active (running)”
Step 5: Configure Firewall (if enabled)
If you’re using ufw
(Uncomplicated Firewall), you’ll need to allow traffic to the default Jellyfin port: 8096
sudo ufw allow 8096/tcp
Check status with:
sudo ufw status
Step 6: Access the Web Interface
Here’s the exciting part!
Open your web browser and navigate to:
http://:8096<br>Example: http://192.168.1.100:8096
You will be presented with the Jellyfin setup wizard.
Step 7: Finish Initial Setup through Web Interface
Choose your desired language:
- Create an admin user — Select a secure username and password
- Add media libraries — Direct Jellyfin to directories on your server where your movies, TV shows, music, or photos reside
- Set up metadata downloaders — You can have Jellyfin download movie posters, descriptions, actor names, etc.
- Select remote access settings (optional) — You can have external access, but it’s a good idea to set this up using HTTPS or VPN for security.
- Hit “Finish” and you’re in!
Step 8: Add Media to Jellyfin
Let’s discuss media organization. To install Jellyfin on Ubuntu, Jellyfin needs your files to be structured in a manner that it can interpret.
Here’s an easy example structure:
/media/<br>Movies/<br>Inception (2010)/<br>Inception (2010).mp4<br>TV Shows/<br>Breaking Bad/<br>Season 01/<br>Breaking Bad - S01E01.mkv<br>Music/<br>Coldplay/<br>Parachutes/<br>Yellow.mp3
To add these, go to:
Dashboard > Libraries > Add Media Library
Select the type of content (Movies, TV, Music), and provide the proper folder path.
Step 9: Install and Use Jellyfin Apps
You can play your media using a variety of apps:
- Web Browser: Primary interface
- Android / iOS App: Search “Jellyfin” in your app store
- Smart TVs: Certain Android TVs or Roku devices have Jellyfin apps
- Kodi Plugin: Good if you already use Kodi
Ensure your server is running and accessible before attempting to connect.
Step 10: Hardening Your Jellyfin Server (Optional but High Recommendation)
In default, Jellyfin uses HTTP. To make it secure:
- Use Nginx as the reverse proxy via HTTPS
- Procure an SSL certificate via Let’s Encrypt
- Install
fail2ban
to harden against brute-force attacks
Here’s an outline of minimal setup for Nginx + HTTPS:
Install Nginx:
sudo apt install nginx -y
Create reverse proxy configuration
Create file: /etc/nginx/sites-available/jellyfin
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:8096;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Enable config and get SSL with Certbot
sudo ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/<br>sudo apt install certbot python3-certbot-nginx -y<br>sudo certbot --nginx
Step 11: Backups and Maintenance
To safeguard your library and metadata:
- Backup the Jellyfin config directory:
/var/lib/jellyfin/
- Backup the system regularly
- Keep your system up to date
- You can even automate daily backups using
rsync
orcron
.
Troubleshooting Common Issues
Web page not loading?
Check if Jellyfin is running:
sudo systemctl status jellyfin
Media not showing up?
Check proper folder permissions and rescan the library.
Access from outside not working?
Port forward 8096 on your router or use a VPN or reverse proxy with HTTPS.
Advanced Tips
- Hardware Acceleration: Enhance performance with GPU support (Intel QuickSync, NVIDIA NVENC, etc.)
- Plugins: Add functionality — Trakt sync, Subtitles, Intros, etc.
- Live TV/DVR: Needs compatible tuners and EPG sources
Conclusion
And that’s a wrap this is how you can Install Jellyfin on Ubuntu!
You’ve just transformed your Ubuntu computer into a high-performance personal media server with Jellyfin. You now have a self-hosted platform that can arrange your media elegantly, stream it to any device, and provide a clean, private, and secure experience all without a subscription or intrusive tracking.
Whether you’re a casual user looking to watch home videos or a media junkie with terabytes of files, Jellyfin is a fantastic tool to bring it all together. So go ahead load up your favorite movies, kick back, and enjoy the show.
FAQs
Can I install Jellyfin on Ubuntu with a graphical interface on Ubuntu?
Jellyfin is installed and controlled mostly through the command line on Ubuntu. But when installed, it has a full-fledged web-based interface that is simple to use and even non-technical people can easily manage it.
Do I require a high-end system to install Jellyfin on Ubuntu?
Not really. Jellyfin has the capability of running on light hardware, particularly for individual usage or small operations. An average system with 2GB memory and a two-core processor would be sufficient in streaming most videos. Transcoding or several simultaneous users would demand a better processor or hardware support.
What is Jellyfin’s default port number?
Jellyfin defaults to port 8096 for HTTP access. If you have HTTPS or a reverse proxy (e.g., Nginx) set up, you may also use ports 80 and 443.