From b9751952524029b94c3f9763f470c7cec9db2471 Mon Sep 17 00:00:00 2001 From: mat Date: Thu, 5 Mar 2026 22:00:35 -0500 Subject: [PATCH] fix(docker): bundle jellyfin-web 10.9.11 from official image into wwwroot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit wwwroot/ only contained api-docs (Swagger) — the web client was never bundled. Add a webclient stage that pulls /jellyfin/jellyfin-web from jellyfin/jellyfin:10.9.11 and copies it to /jellyfin/jellyfin-web in the runtime image. Pass --webdir /jellyfin/jellyfin-web to the entrypoint so the server serves the UI. jellyfin-web 10.9.11 is API-compatible with the 10.12.0 server fork. Update to a matching 10.12.x web client once that release ships upstream. --- Dockerfile | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 88a2156648..c64806dad4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,6 +42,14 @@ RUN dotnet publish Jellyfin.Server/Jellyfin.Server.csproj \ -p:TreatWarningsAsErrors=false \ --output /app +# ── Web client stage ────────────────────────────────────────────────────────── +# Pull web client assets from the official Jellyfin image. +# jellyfin-web 10.9.11 is API-compatible with the 10.12.0 server fork. +# Replace this stage when an official 10.12.x image ships. +FROM --platform=linux/amd64 jellyfin/jellyfin:10.9.11 AS webclient +# web assets are at /jellyfin/jellyfin-web inside the official image +RUN ls /jellyfin/ + # ── Runtime stage ───────────────────────────────────────────────────────────── FROM --platform=linux/amd64 mcr.microsoft.com/dotnet/aspnet:10.0 @@ -58,6 +66,7 @@ RUN apt-get update \ WORKDIR /jellyfin COPY --from=build /app . +COPY --from=webclient /jellyfin/jellyfin-web ./jellyfin-web/ # Jellyfin default ports EXPOSE 8096 @@ -73,4 +82,5 @@ ENV JELLYFIN_DATA_DIR=/config \ ENTRYPOINT ["./jellyfin", \ "--datadir", "/config", \ - "--cachedir", "/cache"] + "--cachedir", "/cache", \ + "--webdir", "/jellyfin/jellyfin-web"]