Summary
docs/linuxserver.io.md recipes hardcode LinuxServer.io upstream default ports (Jellyfin
8096, Radarr 7878, Sonarr 8989, Prowlarr 9696, qBittorrent 8080, Deluge 8112, ...) with no
warning that these are shared multi-tenant hosts where another account can already have
that exact host port bound.
Symptom
Customer follows section 3/4 verbatim, docker run -d --name jellyfin ... -p 8096:8096 .... Another account on the same shared seedbox already had 8096 bound, so the run
silently fails to bind and no container starts for the customer. The only visible symptom
is "the URL from the guide doesn't load" with no obvious cause on the customer's side.
Traced independently on three separate support tickets so far.
Root Cause
Low, frequently-reused default ports collide often on a populated shared host. The guide
never tells the reader to check port availability first or to pick an alternate host port.
Reproduction
Two accounts on the same PMSS shared seedbox both run an unmodified -p 8096:8096 (or
7878/8989/9696/8080/8112). Whichever runs second gets a bind failure with no container
created; the error is stderr on their own docker run -d one-liner, easy to miss. Any
populated shared host will show several of these ports already occupied via
ss -ltn | grep -E ':(7878|8989|9696|8096|8080|8112)\b'.
Suggested Fix
Add a short caution note to section 2.3 (Ports) and the section 3 Jellyfin walkthrough:
check ss -ltn | grep :<port> (or a docker logs <name> bind error) before publishing a
default port; if taken, pick a different free HOST port for -p HOST:CONTAINER (container
side stays default) and use that host port in the browser URL instead.
Environment
Any PMSS shared seedbox with 2+ accounts using LinuxServer.io containers per this guide.
Tier-3 declared at filing: --why public-surface — GH#631 tier gate. Declared fix size: 20 lines vs 38-line body — size gate (operator directive 2026-07-29). Owner: docs/linuxserver.io.md in MagnaCapax/PMSS — owner gate.
Summary
docs/linuxserver.io.md recipes hardcode LinuxServer.io upstream default ports (Jellyfin
8096, Radarr 7878, Sonarr 8989, Prowlarr 9696, qBittorrent 8080, Deluge 8112, ...) with no
warning that these are shared multi-tenant hosts where another account can already have
that exact host port bound.
Symptom
Customer follows section 3/4 verbatim,
docker run -d --name jellyfin ... -p 8096:8096 .... Another account on the same shared seedbox already had 8096 bound, so the runsilently fails to bind and no container starts for the customer. The only visible symptom
is "the URL from the guide doesn't load" with no obvious cause on the customer's side.
Traced independently on three separate support tickets so far.
Root Cause
Low, frequently-reused default ports collide often on a populated shared host. The guide
never tells the reader to check port availability first or to pick an alternate host port.
Reproduction
Two accounts on the same PMSS shared seedbox both run an unmodified
-p 8096:8096(or7878/8989/9696/8080/8112). Whichever runs second gets a bind failure with no container
created; the error is stderr on their own
docker run -done-liner, easy to miss. Anypopulated shared host will show several of these ports already occupied via
ss -ltn | grep -E ':(7878|8989|9696|8096|8080|8112)\b'.Suggested Fix
Add a short caution note to section 2.3 (Ports) and the section 3 Jellyfin walkthrough:
check
ss -ltn | grep :<port>(or adocker logs <name>bind error) before publishing adefault port; if taken, pick a different free HOST port for
-p HOST:CONTAINER(containerside stays default) and use that host port in the browser URL instead.
Environment
Any PMSS shared seedbox with 2+ accounts using LinuxServer.io containers per this guide.
Tier-3 declared at filing:
--why public-surface— GH#631 tier gate. Declared fix size:20lines vs 38-line body — size gate (operator directive 2026-07-29). Owner:docs/linuxserver.io.mdin MagnaCapax/PMSS — owner gate.