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
http://192.168.0.115:8096
[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
http://192.168.0.115:8096
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
Runjellyfin.bat
Open your browser athttp://192.168.0.115:8096
.
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 https://repo.jellyfin.org/install-debuntu.sh | sudo bash
If you do not have curl installed, you can try wget instead:
wget -O- https://repo.jellyfin.org/install-debuntu.sh | 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 https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg
Add a repository configuration at
/etc/apt/sources.list.d/jellyfin.sources:
cat <<EOF | sudo tee /etc/apt/sources.list.d/jellyfin.sources
Types: deb
URIs: https://repo.jellyfin.org/$( 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
EOF
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.
[Unit]
Description=Jellyfin
After=network.target
[Service]
Type=simple
User=suyash
Restart=always
ExecStart=/opt/jellyfin/jellyfin.sh
[Install]
WantedBy=multi-user.target
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
Congratulations! 👍🐞🏌🏽
You have successfully installed Jellyfin as your media server!
Top comments (0)