diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b00ceaa --- /dev/null +++ b/Dockerfile @@ -0,0 +1,51 @@ +syntax=docker/dockerfile:1 + +FROM ghcr.io/linuxserver/baseimage-ubuntu:noble + +# set version label +ARG BUILD_DATE +ARG VERSION +LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" +LABEL maintainer="thelamer" + +# environment settings +ARG DEBIAN_FRONTEND="noninteractive" +ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" +ENV MALLOC_TRIM_THRESHOLD_=131072 +ENV ATTACHED_DEVICES_PERMS="/dev/dri /dev/dvb /dev/vchiq /dev/vc-mem /dev/video1? -type c" + +RUN \ + echo "**** install dependencies *****" && \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + at \ + libjemalloc2 \ + mesa-va-drivers \ + xmlstarlet \ + curl && \ + echo "**** dynamically resolve latest deb URLs *****" && \ + BASE_REPO_URL="https://repo.jellyfin.org/files/server/ubuntu/latest-preview/amd64" && \ + # Fetch latest server deb filename for ubu2404 + SERVER_DEB=$(curl -sL "${BASE_REPO_URL}/" | grep -oP 'jellyfin-server_[^"]+ubu2404_amd64\.deb' | head -n 1) && \ + # Fetch latest web UI deb filename + WEB_DEB=$(curl -sL "${BASE_REPO_URL}/" | grep -oP 'jellyfin-web_[^"]+all\.deb' | head -n 1) && \ + # Fetch latest jellyfin-ffmpeg release download URL for noble amd64 via GitHub API + FFMPEG_URL=$(curl -sL "https://api.github.com/repos/jellyfin/jellyfin-ffmpeg/releases/latest" | grep -oP 'https://[^\"]+jellyfin-ffmpeg[^\"]+noble_amd64\.deb' | head -n 1) && \ + echo "**** download custom jellyfin debs *****" && \ + curl -o /tmp/jellyfin-server.deb -L "${BASE_REPO_URL}/${SERVER_DEB}" && \ + curl -o /tmp/jellyfin-web.deb -L "${BASE_REPO_URL}/${WEB_DEB}" && \ + curl -o /tmp/jellyfin-ffmpeg.deb -L "${FFMPEG_URL}" && \ + echo "**** install custom jellyfin debs *****" && \ + # Install them all at once to resolve dependencies cleanly + apt-get install -y \ + /tmp/jellyfin-ffmpeg.deb \ + /tmp/jellyfin-server.deb \ + /tmp/jellyfin-web.deb && \ + echo "**** cleanup ****" && \ + rm -rf \ + /tmp/* \ + /var/lib/apt/lists/* \ + /var/tmp/* + +# add local files +COPY root/ / \ No newline at end of file