# Requires binfm_misc registration for aarch64 # https://github.com/multiarch/qemu-user-static#binfmt_misc-register ARG DOTNET_VERSION=3.0 FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu FROM alpine as qemu_extract COPY --from=qemu /usr/bin qemu_user_static.tgz RUN tar -xzvf qemu_user_static.tgz FROM microsoft/dotnet:${DOTNET_VERSION}-sdk-stretch-arm64v8 as builder COPY --from=qemu_extract qemu-* /usr/bin WORKDIR /repo COPY . . #TODO Remove or update the sed line when we update dotnet version. RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \ && find . -type f -exec sed -i 's/netcoreapp2.1/netcoreapp3.0/g' {} \; \ && dotnet clean \ && dotnet publish \ --configuration release \ --output /jellyfin \ Jellyfin.Server FROM microsoft/dotnet:${DOTNET_VERSION}-runtime-stretch-slim-arm64v8 RUN apt-get update \ && apt-get install -y ffmpeg COPY --from=qemu_extract qemu-* /usr/bin COPY --from=builder /jellyfin /jellyfin EXPOSE 8096 VOLUME /config /media ENTRYPOINT dotnet /jellyfin/jellyfin.dll --datadir /config