Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Docker support for building and installing jellyfin-tizen. #265

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

AlperShal
Copy link

Add Docker support for building and installing jellyfin-tizen.

Description

This PR introduces Docker support for building and installing the jellyfin-tizen application.

How it works

  1. Add your Samsung certificate to the relevant directory.
  2. Enable developer mode on your Samsung TV.
  3. Build the Docker image using the provided Dockerfile.
  4. Run the Docker container with the certificate's password and the TV's IP address.

Caution

I have only tested this on Arch Linux/EndeavourOS. Testing is needed on Windows.

Copy link
Collaborator

@dmitrylyzo dmitrylyzo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally, as a dev, I'm not interested in building an app based on the latest commits. For me it is more convenient to build current (modified) jellyfin-tizen with any specified jellyfin-web.

Some thought: #114 (comment)

2. Install Certificate Manager using Tizen Studio Package Manager. See [Installing Required Extensions](https://developer.samsung.com/smarttv/develop/getting-started/setting-up-sdk/installing-tv-sdk.html#Installing-Required-Extensions).
3. Activate Developer Mode on TV and set Host PC IP to your computer's IP address. See [Enable Developer Mode on the TV](https://developer.samsung.com/smarttv/develop/getting-started/using-sdk/tv-device.html#Connecting-the-TV-and-SDK).
4. Setup Samsung certificates in Certificate Manager. See [Creating Certificates](https://developer.samsung.com/smarttv/develop/getting-started/setting-up-sdk/creating-certificates.html).
> You need to create a Samsung certificate. NOT a Tizen certificate.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since some version of Tizen Studio, you can use a Tizen certificate. Maybe only older Tizen versions (2.3/2.4) still require a Samsung or a hybrid certificate.
AFAIK, this is how https://github.com/jeppevinkel/jellyfin-tizen-builds works.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was never able to install using Tizen certificates on my Q60A. Could that be a device/generation specific problem? I am a bit tight on free time this week so can't try right now but will definitely do next week.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I at last found the time to spend on this. Really sorry for delaying this much. The situation was completely out of my control.

Now I checked how the certifications work. Looks like for building both Tizen and Samsung certificates work fine. But, since this container also tries to install the app and Tizen certificates are not (if I understood it correctly) signing packages for installation on devices, it's not possible to use them for installation but only emulation. For that, you need a Samsung certificate to sign the package and the device needs to check the validity of the sign from that Samsung account.

If you know how to do the installation with the Tizen certificate I would like to hear that but from my research it looks like it's impossible.

@AlperShal
Copy link
Author

AlperShal commented Jun 1, 2024

Personally, as a dev, I'm not interested in building an app based on the latest commits. For me it is more convenient to build current (modified) jellyfin-tizen with any specified jellyfin-web.

Some thought: #114 (comment)

This last commit should fix what you have mentioned now and in your mentioned comment except this:

The previous CI attempt (Asure) was suspended due to reinstalling Tizen Studio every time CI was started. Does GHA have caching ability?

I am installing Tizen Studio CLI everytime as there is a need for license agreement. Now thinking about it, I may just install Tizen Studio beforehand and exit the script if ACCEPT_TIZEN_STUDIO_LICENSE is not 1. But I am not sure about the legal basis of that. As the step that needs license agreement would be done beforehand and be shipped like that. So I am leaving that to your decision. I can easily move the installation to the Dockerfile.

Edit: Also, I have force-pushed because I made some commits that (I think) should have been an individual commit. Just corrected that.

@dfredell
Copy link

Note, it seems there is an existing MR from @Georift that adds docker support too. I just installed it for the first time using the IDE, but I wish I saw that there was these two existing docker examples. I love the docker method way better, and was actually thinking of doing this too.
#170

@AlperShal
Copy link
Author

Note, it seems there is an existing MR from @Georift that adds docker support too. I just installed it for the first time using the IDE, but I wish I saw that there was these two existing docker examples. I love the docker method way better, and was actually thinking of doing this too.
#170

Oh, I didn't know there was another request for Docker too. I wouldn't waste the time. Thanks for the heads up and yeah using Docker for this is waaay better. I don't want to install Tizen Studio (both CLI and IDE) on my Linux desktop. ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants