Skip to content

Docker image fails when passing releases/latest as tag URL and has fragile assumptions around working directory and file mounts on Windows #91

@michaeldwood

Description

@michaeldwood

Bug: install-jellyfin-tizen Docker image fails with releases/latest and has fragile path/arg handling on Windows

Summary

When using ghcr.io/georift/install-jellyfin-tizen on Windows (Docker Desktop + PowerShell), the installer fails in multiple non-obvious ways. The root causes are argument handling, tag resolution logic, and working-directory assumptions in entrypoint.sh. The current README examples are unreliable on Windows.

Environment

  • Host OS: Windows
  • Shell: PowerShell
  • Docker Desktop (Linux containers)
  • Image: ghcr.io/georift/install-jellyfin-tizen
  • Samsung TV in Developer Mode (connection works)

Issue 1: Passing releases/latest as argument 3 breaks downloads

If argument 3 is provided and non-empty, the script does:

TAG=$(basename "$TAG_URL")
DOWNLOAD_URL=https://github.com/jeppevinkel/jellyfin-tizen-builds/releases/download/${TAG}/${JELLYFIN_BUILD_OPTION}.wgt

Passing:

https://github.com/jeppevinkel/jellyfin-tizen-builds/releases/latest

Results in:

TAG=latest

Which produces an invalid download URL:

.../releases/download/latest/Jellyfin.wgt

wget fails silently (-q), no .wgt is downloaded, and installation later fails with:

There is no package with named Jellyfin.wgt.

Important:
Redirect resolution only happens when argument 3 is empty. Passing the latest URL explicitly does not work, even though it appears valid.

Suggested fix

  • Detect /releases/latest explicitly and resolve the redirect
  • Or always resolve redirects instead of using basename "$TAG_URL"
  • Or validate that the computed download URL exists before continuing

Issue 2: Script assumes a fixed working directory

The script references profile.xml using a relative path:

sed -i ... profile.xml

This only works if the working directory is /home/developer, where profile.xml lives. Running the container with a different working directory causes:

sed: can't read profile.xml: No such file or directory
Specify location of the working directory.

Suggested fix

  • Use absolute paths for profile.xml
  • Or cd "$(dirname "$0")" at script startup

Issue 3: Windows file mounts can silently become directories

On Windows, mounting individual files like:

-v "$PWD/author.p12:/certificates/author.p12"

Can result in /certificates/author.p12 being created as a directory, not a file, causing:

Certificate information provided but certificate files not found.

Mounting the entire directory works reliably:

-v "C:\path\to\certs:/certificates"

Suggested fix

  • Document directory-based mounting as the supported approach on Windows

Issue 4: Empty positional arguments are unreliable in PowerShell

The README relies on passing an empty third argument ("") to trigger "latest" tag resolution. In PowerShell, empty arguments can be dropped, causing argument shifting where the certificate password is interpreted as the tag URL.

Suggested fix

  • Avoid control flow based on empty positional arguments
  • Add Windows-specific usage examples

What works reliably

Using a real release tag and the correct working directory:

docker run --rm `
  -v "C:\temp\jellyfin-certs:/certificates" `
  -w /home/developer `
  ghcr.io/georift/install-jellyfin-tizen `
  10.0.6.183 `
  Jellyfin `
  "https://github.com/jeppevinkel/jellyfin-tizen-builds/releases/tag/2026-01-09-1624" `
  "<CERT_PASSWORD>"

Impact

These issues make the image appear broken on Windows, even though it ultimately works. Improving tag handling, path robustness, and Windows documentation would significantly improve usability.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions