Debug School

Cover image for Install Jellyfin
Suyash Sambhare
Suyash Sambhare

Posted on

Install Jellyfin

Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who wants to build something better and work together to achieve it.
Jellyfin is a fast-moving project that is in its early stages, and this documentation as well as the code may change frequently.

Overall Steps

  • Install Jellyfin on your system with the installation method for your platform.
  • Edit the web configuration and adjust the options to fit your desired privacy level.
  • The defaults sacrifice some absolute self-hosting for often-requested features.
  • Review the documentation and edit accordingly.
  • Browse to [IP set during installation] to access the included web client.
  • Follow the initial setup wizard.
  • Libraries and users can always be added later from the dashboard.
  • Remember the username and password so you can log in after the setup.
  • Secure the server with a method of your choice.
  • Create an SSL certificate and add it to the Networking page.
  • Put your server behind a reverse proxy.
  • Only allow local connections and refrain from forwarding any ports.

Windows Install

Windows installers and builds in ZIP archive format are available.
If you installed a version before 10.4.0 using a PowerShell script, you will need to manually remove the service using the command nssm remove Jellyfin and uninstall the server by removing all the files manually. Also one might need to move the data files to the correct location or point the installer at the old location.
The Basic Install is the recommended way to run the Jellyfin Server. Using the Advanced/Service mode may experience FFmpeg hardware acceleration issues and is only for advanced users.

  • Download the latest version of Windows installer.
  • Run the installer.
  • When installing as a service, pick the service account type.
  • If everything was completed successfully, Jellyfin is now running.
  • Open your browser at to finish setting up Jellyfin.
  • Create a folder jellyfin at your preferred install location.
  • Copy the extracted folder into the jellyfin folder and rename it to the system.
  • Create jellyfin.bat within your jellyfin folder containing:
  • To use the default library/data location at %localappdata%: C:\Program Files\jellyfin\system\jellyfin.exe To use a custom library/data location (Path after the -d parameter): C:\Program Files\jellyfin\system\jellyfin.exe -d C:\Program Files\\jellyfin\data To use a custom library/data location and disable the auto-start of the web app: C:\Program Files\jellyfin\system\jellyfin.exe -d C:\Program Files\\jellyfin\data -noautorunwebapp Run jellyfin.bat Open your browser at


Linux Install

Jellyfin can be found in the community repository as jellyfin and jellyfin-web.
To enable the web UI after installing jellyfin-web, make sure to remove the --nowebclient option from /etc/conf.d/jellyfin.
Both packages, server, and web, can also be built from the source at the tip of the master branch using jellyfin-git. The AUR also offers each separately at jellyfin-server-git and jellyfin-web-git.
You will need to enable rpmfusion as ffmpeg is a dependency of the jellyfin server package

There is an installer script to easily configure the Jellyfin APT repository. All you need to do is run this command on your system:
curl | sudo bash

If you do not have curl installed, you can try wget instead:
wget -O- | sudo bash

To install manually:
Install curl and gnupg if you haven't already:
sudo apt install curl gnupg

Download the GPG signing key (signed by the Jellyfin Team):

sudo mkdir -p /etc/apt/keyrings
curl -fsSL | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg

Enter fullscreen mode Exit fullscreen mode

Add a repository configuration at

cat <<EOF | sudo tee /etc/apt/sources.list.d/jellyfin.sources
Types: deb
URIs:$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release )
Suites: $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release )
Components: main
Architectures: $( dpkg --print-architecture )
Signed-By: /etc/apt/keyrings/jellyfin.gpg
Enter fullscreen mode Exit fullscreen mode

Update APT repositories:
sudo apt update

Install Jellyfin:
sudo apt install jellyfin

Manage the Jellyfin system service:
sudo systemctl status jellyfin

Download the desired jellyfin and jellyfin-ffmpeg .deb packages from the repository.
Install the downloaded .deb packages:
sudo dpkg -i jellyfin_*.deb jellyfin-ffmpeg_*.deb

Use apt to install any missing dependencies:
sudo apt -f install

Manage the Jellyfin system service:
sudo systemctl restart jellyfin

Note: If the above command fails you will need to install the following package software-properties-common. This can be achieved with the following command sudo apt-get install software-properties-common

Starting Jellyfin on boot. Create a systemd unit file.
cd /etc/systemd/system
sudo nano jellyfin.service

Then paste the following contents.



Enter fullscreen mode Exit fullscreen mode

Apply the correct permissions to the file, enable the service to start on boot, then start it.

sudo chmod 644 jellyfin.service
sudo systemctl daemon-reload
sudo systemctl enable jellyfin.service
sudo systemctl start jellyfin.service
Enter fullscreen mode Exit fullscreen mode

Congratulations! 👍🐞🏌🏽
You have successfully installed Jellyfin as your media server!


Top comments (0)