docker-images/images/jellyfin/Dockerfile

42 lines
1.5 KiB
Docker

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 openssl
# 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
# Don't forget to mount this directory from the host
ENV LD_LIBRARY_PATH /opt/vc/lib
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 /opt/vc/lib
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" ]