# 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 "**** download custom jellyfin debs *****" && \
  # 1. Download Server
  curl -o /tmp/jellyfin-server.deb -L "https://repo.jellyfin.org/files/server/ubuntu/latest-preview/amd64/jellyfin-server_12.0-rc2+ubu2404_amd64.deb" && \
  # 2. Download Web UI
  curl -o /tmp/jellyfin-web.deb -L "https://repo.jellyfin.org/files/server/ubuntu/latest-preview/amd64/jellyfin-web_12.0-rc2+ubu2404_all.deb" && \
  # 3. Download FFmpeg
  curl -o /tmp/jellyfin-ffmpeg.deb -L "https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v8.1.1-4/jellyfin-ffmpeg8_8.1.1-4-noble_amd64.deb" && \
  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/ /

# ports and volumes
EXPOSE 8096 8920
VOLUME /config