mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-01 19:17:23 -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"]
 |