The Free Software Media System

Ben Magee 6ce4672b10 Import tests from old project tests 6 лет назад
BDInfo 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад
DvdLib 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад
Emby.Dlna 643201278f Update the DLNA profile links 6 лет назад
Emby.Drawing 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад
Emby.Drawing.ImageMagick 149f75f3f4 * Fixed ImageMagick and XmlTv references 6 лет назад
Emby.Drawing.Net af71366bb5 Optimize images 6 лет назад
Emby.Drawing.Skia 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад
Emby.IsoMounting 59750496d5 Move submodules into repo 6 лет назад
Emby.Naming 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад
Emby.Notifications 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад
Emby.Photos f2a7965101 Replace TagLib.Portable.dll with taglib-sharp submodule 6 лет назад
Emby.Server.Implementations 71b8602a3d Updates all other emby.media links to repo page 6 лет назад
Emby.XmlTv 59750496d5 Move submodules into repo 6 лет назад
MediaBrowser.Api 7c2248727a Remove Emby.Server.Connect 6 лет назад
MediaBrowser.LocalMetadata 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад
MediaBrowser.Providers 99482f0736 Reverts changes to forum URLs 6 лет назад
MediaBrowser.Server.Mono 08024c81de Changed the App.Config to longer break both nix (in debug mode) and windows (in release mode) profiles. Changed the Path helper library to replace %ApplicationData% in Windows land with the Userdata\roaming folder, and with /var/lib in nix land 6 лет назад
MediaBrowser.Tests ecf84d3e64 Remove agreement and app links 6 лет назад
MediaBrowser.WebDashboard 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад
MediaBrowser.XbmcMetadata 99482f0736 Reverts changes to forum URLs 6 лет назад
Mono.Nat 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад
Nuget 39c4542cf6 update query objects 7 лет назад
OpenSubtitlesHandler 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад
RSSDP 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад
SocketHttpListener 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад
debian b5dfdc1efb Merge pull request #83 from nvllsvm/dockdeb 6 лет назад
tests 6ce4672b10 Import tests from old project tests 6 лет назад
.dockerignore 206bc7911c Add jellyfin Docker image 6 лет назад
.gitignore 57ca96ad57 Add JetBrains Rider files to gitignore, add taglib-sharp and ImageMagickSharp to the solution, as otherwise Rider can't build the solution. 6 лет назад
.gitlab-ci.yml 9f79cd6455 Add GitLab CI 6 лет назад
.gitmodules 9f79cd6455 Add GitLab CI 6 лет назад
Build-JellyFin.ps1 f529d8700b Added build script for Windows Builds 6 лет назад
CODE_OF_CONDUCT.md 2cd2182854 Add code of conduct 6 лет назад
CONTRIBUTING.md 7556b8d74f Correct some typos and wording 6 лет назад
CONTRIBUTORS.md ad0f1335d2 Clean up CONTRIBUTORS and differentiate us 6 лет назад
Dockerfile 13eec38783 Opt out of .NET telemetry 6 лет назад
Dockerfile.debian_package a2fee0dde2 Add Dockerfile for building Debian package 6 лет назад
LICENSE cc28782707 Remove incorrect .md suffix from LICENSE file 6 лет назад
MediaBrowser.sln 3dc0985bbd Jellyfin.XbmcMetadata.Test 6 лет назад
MediaBrowser.sln.GhostDoc.xml 6c8d919298 replace file system calls with IFileSystem when needed 11 лет назад
README.md 0e1e6e1d24 Tweak .NET to 2.2 and chgro in chown 6 лет назад
SharedVersion.cs 48facb797e Update to 3.5.2 and .net core 2.1 6 лет назад

README.md

Jellyfin

Jellyfin is a personal media server. The Jellyfin project was started as a result of Emby's decision to take their code closed-source, as well as various philosophical differences with the core developers. Jellyfin seeks to be the free software alternative to Emby and Plex to provide media management and streaming from a dedicated server to end-user devices.

Jellyfin is descended from Emby 3.5.2, ported to the .NET Core framework, and aims to contain build facilities for every platform.

For further details, please see our wiki. To receive the latest project updates feel free to join our public chat on Matrix/Riot and to subscribe to our subreddit.

Feature Requests

While our first priority is a stable build, we will eventually add features that were missing in Emby or were not well implemented (technically or philosophically).

Feature Requests

Contributing to Jellyfin

If you're interested in contributing, please see CONTRIBUTING.md.

Prebuilt Jellyfin packages

Prebuild packages are available for Debian/Ubuntu and Arch, and via Docker Hub.

Docker

The Jellyfin Docker image is available on Docker Hub at https://hub.docker.com/r/jellyfin/jellyfin/

Arch

The Jellyfin package is in the AUR at https://aur.archlinux.org/packages/jellyfin-git/

Unraid

An Unraid Docker template is available. See this documentation page for details on installing it.

Debian/Ubuntu

A package repository is available at https://repo.jellyfin.org.

Clean install

  1. Install the dotnet-runtime-2.2 package via Microsoft's repositories.
  2. Import the GPG signing key (signed by Joshua):

    wget -O - https://repo.jellyfin.org/debian/jellyfin-signing-key-joshua.gpg.key | sudo apt-key add -
    
  3. Add an entry to /etc/apt/sources.list.d/jellyfin.list (note that Ubuntu will get buster in the list file, but this should still work fine):

    echo "deb https://repo.jellyfin.org/debian $( grep -Ewo -m1 --color=none 'jessie|stretch|buster' /etc/os-release || echo buster ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
    
  4. Update APT repositories:

    sudo apt update
    
  5. Install Jellyfin:

    sudo apt install jellyfin
    

Upgrade from Emby

The following procedure should work to upgrade from Emby to Jellyfin on an existing installation:

  1. Upgrade to Emby 3.5.X, preferably 3.5.2, so the database schema is fully up-to-date and consistent. This is somewhat optional but can reduce the risk of obscure bugs later on.
  2. Stop the emby-server daemon:

    sudo service emby-server stop
    
  3. Move your existing Emby data directory out of the way:

    sudo mv /var/lib/emby /var/lib/emby.backup
    
  4. Remove the emby-server package:

    sudo apt remove emby-server
    
  5. Install the jellyfin package using the instructions above, verifying that /var/lib/emby is a symlink to /var/lib/jellyfin.

  6. Stop the jellyfin daemon:

    sudo service jellyfin stop
    
  7. Copy over all the data files from the old backup data directory:

    sudo cp -a /var/lib/emby.backup/* /var/lib/jellyfin/
    
  8. Correct ownership on the new data directory:

    sudo chown -R jellyfin:jellyfin /var/lib/jellyfin
    
  9. Start the jellyfin daemon:

    sudo service jellyfin start
    

This same general procedure should apply for upgrades on any other platform as well though the specific commands and/or paths may be different.

Building Jellyfin packages from source

Jellyfin seeks to integrate build facilities for any desired packaging format. Instructions for the various formats can be found below.

NOTE: When building from source, only cloning the full Git repository is supported, rather than using a .zip/.tar archive, in order to support submodules.

Debian/Ubuntu

Debian build facilities are integrated into the repo at debian/.

  1. Install the dotnet-sdk-2.2 package via Microsoft's repositories.
  2. Run dpkg-buildpackage -us -uc.
  3. Install the resulting jellyfin_*.deb file on your system.

A huge thanks to Carlos Hernandez who created the original Debian build configuration for Emby 3.1.1.

Windows (64 bit)

A pre-built windows installer will be available soon. Until then it isn't too hard to install Jellyfin from Source.

  1. Install the dotnet core SDK 2.2 from Microsoft's Webpage and install Git for Windows
  2. Clone Jellyfin into a directory of your choice.

    git clone https://github.com/jellyfin/jellyfin.git C:\Jellyfin
    
  3. From the Jellyfin directory you can use our Jellyfin build script. Call Build-Jellyfin.ps1 -InstallFFMPEG from inside the directory in a powershell window. Make sure you've set your executionpolicy to unsrestricted.

    Additional flags:

    • If you want to optimize for your environment you can use the -WindowsVersion and -Architecture flags to do so; 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 stable ffmpeg binaries appropriate to your architecture (x86/x64 only for now) from Zeranoe and place them in your Jellyfin directory.
  4. (Optional) Use NSSM to configure JellyFin to run as a service

  5. 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\EmbyServer.exe". To start it from CMD, run, %APPDATA%\Jellyfin-Server\EmbyServer.exe