mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-06-02 13:15:25 -04:00
This command seems to inexplicably fail in Docker builds, despite working on the CLI, similar to what happened with the command directly above it in c257d6071c3a8dd141d1191062e892d912177d9a. Fix it in the same way by adding `-k`.
78 lines
2.9 KiB
Docker
78 lines
2.9 KiB
Docker
# DESIGNED FOR BUILDING ON AMD64 ONLY
|
|
#####################################
|
|
# Requires binfm_misc registration
|
|
# https://github.com/multiarch/qemu-user-static#binfmt_misc-register
|
|
ARG DOTNET_VERSION=3.1
|
|
|
|
|
|
FROM node:alpine as web-builder
|
|
ARG JELLYFIN_WEB_VERSION=master
|
|
RUN apk add curl git zlib zlib-dev autoconf g++ make libpng-dev gifsicle alpine-sdk automake libtool make gcc musl-dev nasm python \
|
|
&& curl -L https://github.com/jellyfin/jellyfin-web/archive/${JELLYFIN_WEB_VERSION}.tar.gz | tar zxf - \
|
|
&& cd jellyfin-web-* \
|
|
&& yarn install \
|
|
&& mv dist /dist
|
|
|
|
|
|
FROM mcr.microsoft.com/dotnet/core/sdk:${DOTNET_VERSION} as builder
|
|
WORKDIR /repo
|
|
COPY . .
|
|
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
|
|
# Discard objs - may cause failures if exists
|
|
RUN find . -type d -name obj | xargs -r rm -r
|
|
# Build
|
|
RUN dotnet publish Jellyfin.Server --configuration Release --output="/jellyfin" --self-contained --runtime linux-arm "-p:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none"
|
|
|
|
|
|
FROM multiarch/qemu-user-static:x86_64-arm as qemu
|
|
FROM arm32v7/debian:buster-slim
|
|
|
|
# https://askubuntu.com/questions/972516/debian-frontend-environment-variable
|
|
ARG DEBIAN_FRONTEND="noninteractive"
|
|
# http://stackoverflow.com/questions/48162574/ddg#49462622
|
|
ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn
|
|
# https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(Native-GPU-Support)
|
|
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
|
|
|
|
COPY --from=qemu /usr/bin/qemu-arm-static /usr/bin
|
|
RUN apt-get update \
|
|
&& apt-get install --no-install-recommends --no-install-suggests -y ca-certificates gnupg curl && \
|
|
curl -ks https://repo.jellyfin.org/debian/jellyfin_team.gpg.key | apt-key add - && \
|
|
curl -ks https://keyserver.ubuntu.com/pks/lookup?op=get\&search=0x6587ffd6536b8826e88a62547876ae518cbcf2f2 | apt-key add - && \
|
|
echo 'deb [arch=armhf] https://repo.jellyfin.org/debian buster main' > /etc/apt/sources.list.d/jellyfin.list && \
|
|
echo "deb http://ppa.launchpad.net/ubuntu-raspi2/ppa/ubuntu bionic main">> /etc/apt/sources.list.d/raspbins.list && \
|
|
apt-get update && \
|
|
apt-get install --no-install-recommends --no-install-suggests -y \
|
|
jellyfin-ffmpeg \
|
|
libssl-dev \
|
|
libfontconfig1 \
|
|
libfreetype6 \
|
|
libomxil-bellagio0 \
|
|
libomxil-bellagio-bin \
|
|
libraspberrypi0 \
|
|
vainfo \
|
|
libva2 \
|
|
locales \
|
|
&& apt-get remove curl gnupg -y \
|
|
&& apt-get clean autoclean -y \
|
|
&& apt-get autoremove -y \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& mkdir -p /cache /config /media \
|
|
&& chmod 777 /cache /config /media \
|
|
&& sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen
|
|
|
|
COPY --from=builder /jellyfin /jellyfin
|
|
COPY --from=web-builder /dist /jellyfin/jellyfin-web
|
|
|
|
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
|
|
ENV LC_ALL en_US.UTF-8
|
|
ENV LANG en_US.UTF-8
|
|
ENV LANGUAGE en_US:en
|
|
|
|
EXPOSE 8096
|
|
VOLUME /cache /config /media
|
|
ENTRYPOINT ["./jellyfin/jellyfin", \
|
|
"--datadir", "/config", \
|
|
"--cachedir", "/cache", \
|
|
"--ffmpeg", "/usr/lib/jellyfin-ffmpeg/ffmpeg"]
|