Building from source
As an alternative to using binary packages, you can build Jellyfin from source.
Jellyfin supports several methods of building for different platforms and instructions for all supported platforms are below.
All package builds begin with these two steps:
Clone the repository.
git clone https://github.com/jellyfin/jellyfin.git
cd jellyfinInitialize the submodules.
git submodule update --init
Container image
Build the container image using Docker or Podman.
docker build -t $USERNAME/jellyfin .
or
podman build -t $USERNAME/jellyfin .
Run Jellyfin in a new container using Docker or Podman from the built container image.
docker run -d -p 8096:8096 $USERNAME/jellyfin
or
podman run -d -p 8096:8096 $USERNAME/jellyfin
Linux or MacOS
Use the included
build
script to perform builds../build --help
./build --list-platforms
./build <platform> allThe resulting archives can be found at
../bin/<platform>
.
This will very likely be split out into a separate repository at some point in the future.
Windows
Install dotnet SDK 7.0 from Microsoft's Website and install Git for Windows. You must be on Powershell 3 or higher.
From Powershell set the execution policy to unrestricted.
set-executionpolicy unrestricted
If you are building a version of Jellyfin newer than 10.6.4, you will need to download the build script from a separate repository.
git clone https://github.com/jellyfin/jellyfin-server-windows.git windows
Run the Jellyfin build script.
windows\build-jellyfin.ps1 -verbose
The
-WindowsVersion
and-Architecture
flags can optimize the build for your current environment; the default is generic Windows x64.The
-InstallLocation
flag lets you select where the compiled binaries go; the default is$Env:AppData\Jellyfin-Server\
.The
-InstallFFMPEG
flag will automatically pull the stableffmpeg
binaries appropriate to your architecture (x86/x64 only for now) from BtbN and place them in your Jellyfin directory.The
-InstallNSSM
flag will automatically pull the stablenssm
binary appropriate to your architecture (x86/x64 only for now) from NSSM's Website and place it in your Jellyfin directory.
(Optional) Use NSSM to configure Jellyfin to run as a service.
Jellyfin is now available in the default directory, or whichever directory you chose.
Start it from PowerShell.
&"$env:APPDATA\Jellyfin-Server\jellyfin.exe"
Start it from CMD.
%APPDATA%\Jellyfin-Server\jellyfin.exe
This will very likely be split out into a separate repository at some point in the future.