Jellyfin is a media player that allows you play your media content, primarily Movies and TV Shows, anywhere. Basically your own personal Netflix where you can play content that you own, or obtained through arr means.
In this article, we’re going to learn how to install Jellyfin on your Debian machine. It’s really a simple step. If you wish to learn about different parts of Jellyfin, don’t worry, I will create other articles that are related to each other. Such as how to setup samba for your media file through NAS, etc.
Setting up repository and automating the installation
Run this command in your terminal and it will automatically install Jellyfin for you on your machine. This will take 5-10 minutes, depending on your machine.
curl https://repo.jellyfin.org/install-debuntu.sh | sudo bashIt will ask for confirmation. Once it is done, you can access the web interface via http://127.0.0.1:8096 or whatever your IP is with HTTP(we’ll setup SSL in another article). If you are doing it over VPS, it is highly recommended that you finish the process as soon as possible otherwise malicious bot that scan over the Internet and all top ports will get to the interface and possibly setup backdoor or worse.
Setting it up
Choose the language of your choice and press next:

If you are on a VPS, make sure the credentials are strong and you use a password generator. Also make sure to not use default jellyfin username and put something like your name or etc rather than generic “admin”.

Now the main part, setting up media folder. In this article, I have already setup media folder to /share where all my movies and shows are setup. If you have those media stored somewhere else, worry not, I will write an article showing how to connect those files to your server. For now, click on “Add Media Library” and select from category what you are adding.
Setting up Media

Now select from dropdown what you are going to add. Movies, TV shows, music, etc. This will be necessary as after setup, the Jellyfin server will rely on this to fetch metadata and description.

It will automatically expand to show other options. Now click on the + icon next to Folders and navigate to where you media is stored. For the sake of this tutorial, mine is stored in “/share” so I will select accordingly.

Make sure to go to the directory where the movies are stored. It should look like the screenshot above. Those movie names you see are directories, not direct media files. Mine were sorted automatically using Radarr. I will post an article about that too soon. Once navigated, click OK.
Optionally, if you want to automate downloading subtitles in future, you should select the “Preferred Download Language” as English. This will ensure automatic subtitle downloading and processing is done in English. You can choose other language as you please.
You can leave the rest of the options as default. We can always configure them later. Press OK and if you want to add more, add more library using same steps mentioned above. Otherwise click “Next”.

You should leave this as default. Do not turn on automatic port mapping as it will interfer with your router settings and possibly try to enable port via UPnP. You should manually do this via port forwarding rather than UPnP for security reasons.
Conclusion
And you are done! Really. It’s that simple. Press next and now it will take you to login page where you can login with the credentials you have setup in above steps. Jellyfin also works on Trixie. Infact, I recommend using Trixie over Bookworm due to increased performance over old kernel and overall improvements. Learn how to upgrade your Debian installation, which btw, also works with Jellyfin, to Trixie.
If you have faced any issues, let me know down in comments. I will cover other aspects of managing your own digital media. If you have any suggestion, please feel free to let me know.
