-
Notifications
You must be signed in to change notification settings - Fork 75
Description
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}.wgtPassing:
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/latestexplicitly 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.xmlThis 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.