ARG REPO_LOCATION
# ARG BASE_VERSION

FROM ${REPO_LOCATION}minideb AS builder

RUN install_packages ca-certificates apt-transport-https curl

RUN curl -sS https://repo.jellyfin.org/jellyfin_team.gpg.key >/jellyfin.asc

########################################################################

FROM ${REPO_LOCATION}minideb

COPY --from=builder /jellyfin.asc /etc/apt/trusted.gpg.d/jellyfin.asc

RUN echo "deb [arch=$( dpkg --print-architecture )] http://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release ) $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release ) main" >/etc/apt/sources.list.d/jellyfin.list \
	&& install_packages ca-certificates mesa-va-drivers jellyfin jellyfin-ffmpeg libraspberrypi0 openssl
# libraspberrypi0 = required by jellyfin-ffmpeg, apparently because of libmmal_core.so
# Might need to install 'locales' too, since it does that & configures it in the official Dockerfile

ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
ENV LC_ALL en_GB.UTF-8
ENV LANG en_GB.UTF-8
ENV LANGUAGE en_GB:en

ENV JELLYFIN_DATA_DIR	/srv/data
ENV JELLYFIN_CONFIG_DIR	/srv/config
ENV JELLYFIN_LOG_DIR	/srv/logs
ENV JELLYFIN_CACHE_DIR	/srv/cache

VOLUME /srv/data /srv/config /srv/logs /srv/cache /srv/media /srv/global_cache /srv/metadata

USER 90:90

# Default port number: 8096
# Note to self: Consider mounting a tmpfs to /srv/cache in the Nomad config
ENTRYPOINT [ "/usr/bin/jellyfin", \
	"--ffmpeg", "/usr/lib/jellyfin-ffmpeg/ffmpeg", \
	"--webdir", "/usr/share/jellyfin/web" ]