Skip to content

Georift/install-jellyfin-tizen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Install Jellyfin for Samsung TV

This project makes it easy to install Jellyfin for Samsung TV with a single pre-configured docker container.

Jellyfin has yet to make it onto the Samsung App store, but active effort is under way to get it there.

Configure Computer (PC, Laptop, etc...)

  • Install Docker

  • Ensure you are connected to the same network as the TV.

Configure Samsung TV

Place TV in Developer Mode

  • On the TV, open the "Smart Hub".
  • Select the "Apps" panel.
  • Press the "123" button (or if your remote doesn't have this button, long press the Home button) before typing "12345" with the on-screen keyboard.
  • Toggle the Developer button to On.
  • Enter the Host PC IP address of the computer you're running this container on. Need help?

Uninstall Existing Jellyfin Installations, If Required

Follow the Samsung uninstall instructions

Find IP Address

  • Exact instructions will vary with the model of TV. In general you can find the TV's IP address in Settings under Networking or About. Plenty of guides are available with a quick search, however for brevity a short guide with pictures can be found here.

  • Make a note of the IP address as it will be needed later.

Install Jellyfin

Installation

  • Run the command below, replacing first argument with the IP of your Samsung TV
    • If you just want to install the default build, do not put anything after the IP address.
    • (Optional) You can provide preferred jellyfin-tizen-builds option (Jellyfin / Jellyfin-TrueHD / Jellyfin-master / Jellyfin-master-TrueHD / Jellyfin-secondary) as second argument. By default, Jellyfin option is used.
    • (Optional) You can provide preferred jellyfin-tizen-builds releases release tag URL as third argument. By default, latest version is used. This is useful if you want to install older Jellyfin Tizen Client version.
    • (Optional) You can provide a custom Samsung certificate by mounting the .p12 files at /certificates/ and providing the certificate password as fourth argument.
    • If you do not want to use either of these options and just install the default build, do not put anything after the IP address.
docker run --rm ghcr.io/georift/install-jellyfin-tizen <samsung tv ip> [build option] [tag url] [certificate password]

Examples:

docker run --rm ghcr.io/georift/install-jellyfin-tizen 192.168.0.10 Jellyfin-TrueHD "https://github.com/jeppevinkel/jellyfin-tizen-builds/releases/tag/2024-05-13-0139"
docker run --rm -v "$(pwd)/author.p12":/certificates/author.p12 -v "$(pwd)/distributor.p12":/certificates/distributor.p12 ghcr.io/georift/install-jellyfin-tizen 192.168.0.10 Jellyfin "" 'CertPassw0rd!' # Third argument empty to use latest tag

Validating Success

Common Errors

  • library initialization failed - unable to allocate file descriptor table - out of memory

    Add --ulimit nofile=1024:65536 to the docker run command:

    docker run --ulimit nofile=1024:65536 --rm ghcr.io/georift/install-jellyfin-tizen <samsung tv ip> <build option> <tag url>
  • install failed[118, -11], reason: Author certificate not match :

    Uninstall the Jellyfin application from your Samsung TV, and run the installation again.

Success

If everything went well, you should see docker output something like the following

Installed the package: Id(AprZAARz4r.Jellyfin)
Tizen application is successfully installed.
Total time: 00:00:12.205

At this point you can find Jellyfin on your TV by navigating to Apps -> Downloaded (scroll down), there you'll find Jellyfin.

Supported Platforms

At the moment, these steps should work on any amd64 based system. Platforms like the Raspberry Pi, which run ARM chips, are not yet supported, but we might have some progress soon..

Additional Required Commands: ARM (MacOS M Chips and higher)

  • Firstly make sure that you have the Experimental "Virtualization Framework" enabled.
  • Verify that docker on your M series has qemu installed. You can do this by running: docker run --rm --platform linux/amd64 alpine uname -m

If it outputs: x86_64 you're good. If not, reinstall docker, with the needed requirements.

Then use the --platform linux/amd64" argument on the original command. This should look something like this: docker run --rm --platform linux/amd64 ghcr.io/georift/install-jellyfin-tizen <samsung tv ip> <build option> <tag url>

  • install failed[118, -12], reason: Check certificate error : :Invalid certificate chain with certificate in signature.

    Recent TV models require the installation packages to be signed with a custom certificate for your specific TV.

    See official documentation on creating your certificate and use the custom certificate arguments.

Credits

This project is possible thanks to these projects:

Similar Projects

Here are some similar projects we've been told of, links are provided here without any endorsement for their quality.

Feel free to raise a PR with any additional projects.

Contributors 11