diff options
Diffstat (limited to 'Dockerfile.arm')
| -rw-r--r-- | Dockerfile.arm | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/Dockerfile.arm b/Dockerfile.arm index 039274197..9d1c30619 100644 --- a/Dockerfile.arm +++ b/Dockerfile.arm @@ -1,24 +1,36 @@ +# Requires binfm_misc registration +# https://github.com/multiarch/qemu-user-static#binfmt_misc-register ARG DOTNET_VERSION=3.0 -FROM microsoft/dotnet:${DOTNET_VERSION}-sdk-stretch-arm32v7 as builder +FROM multiarch/qemu-user-static:x86_64-arm as qemu +FROM alpine as qemu_extract +COPY --from=qemu /usr/bin qemu-arm-static.tar.gz +RUN tar -xzvf qemu-arm-static.tar.gz + +FROM microsoft/dotnet:${DOTNET_VERSION}-sdk-stretch as builder 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 -maxcpucount:1 \ - && dotnet publish \ - -maxcpucount:1 \ +ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 +# TODO Remove or update the sed line when we update dotnet version. +RUN find . -type f -exec sed -i 's/netcoreapp2.1/netcoreapp3.0/g' {} \; +# Discard objs - may cause failures if exists +RUN find . -type d -name obj | xargs -r rm -r +# Build +RUN dotnet publish \ + -r linux-arm \ --configuration release \ --output /jellyfin \ Jellyfin.Server FROM microsoft/dotnet:${DOTNET_VERSION}-runtime-stretch-slim-arm32v7 +COPY --from=qemu_extract qemu-arm-static /usr/bin RUN apt-get update \ - && apt-get install -y ffmpeg + && apt-get install --no-install-recommends --no-install-suggests -y ffmpeg \ + && mkdir -p /cache /config /media \ + && chmod 777 /cache /config /media COPY --from=builder /jellyfin /jellyfin EXPOSE 8096 -VOLUME /config /media -ENTRYPOINT dotnet /jellyfin/jellyfin.dll --datadir /config +VOLUME /cache /config /media +ENTRYPOINT dotnet /jellyfin/jellyfin.dll --datadir /config --cachedir /cache |
