51 lines
2.0 KiB
Docker
51 lines
2.0 KiB
Docker
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/ / |