Table of Contents
As an alternative to using binary packages, you can build Jellyfin from source. This is required when contributing to Jellyfin.
Jellyfin supports several methods of building for different platforms and instructions for all supported platforms are below.
All package builds begin with the first two steps (for Linux/OSX; alter as needed for Windows):
- Clone the repository:
git clone https://github.com/jellyfin/jellyfin.git && cd jellyfin
- Initialize the submodules:
git submodule update --init
Docker
- Build the Docker image:
docker build -t $USERNAME/jellyfin .
- Run the container:
docker run -d -p 8096:8096 $USERNAME/jellyfin
Debian Packages via Docker
- Run the build script:
./build-deb.sh
- Resulting packages will be in
../jellyfin*.deb
Debian Packages via dpkg-dev
- Add the Microsoft .NET Core repository:
sudo apt-get install -y apt-transport-https debhelper gnupg wget devscripts wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc.gpg wget -qO- https://packages.microsoft.com/config/debian/9/prod.list | sudo tee /etc/apt/sources.list.d/microsoft-prod.list sudo apt-get update
- Install build dependencies:
sudo mk-build-deps -i
- Build the packages:
dpkg-buildpackage -us -uc
- Resulting packages will be in
../jellyfin*.deb
Windows (64 bit)
-
Install the dotnet core SDK 2.2 from Microsoft's Webpage and install Git for Windows
-
Set
executionpolicy
to unrestricted. -
Run the Jellyfin build script:
build-jellyfin.ps1
- 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 Zeranoe and place them in your Jellyfin directory.
- The
-
(Optional) Use NSSM to configure Jellyfin to run as a service
-
Jellyfin is now available in the default directory (or the directory you chose). Assuming you kept the default directory, to start it from a Powershell window, run,
&"$env:APPDATA\Jellyfin-Server\jellyfin.exe"
. To start it from CMD, run,%APPDATA%\Jellyfin-Server\jellyfin.exe