Dockerfile.arm64 925 B

12345678910111213141516171819202122232425262728293031
  1. ARG DOTNET_VERSION=3.0
  2. FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu
  3. FROM alpine as qemu_extract
  4. COPY --from=qemu /usr/bin qemu_user_static.tgz
  5. RUN tar -xzvf qemu_user_static.tgz
  6. FROM microsoft/dotnet:${DOTNET_VERSION}-sdk-stretch-arm64v8 as builder
  7. COPY --from=qemu_extract qemu-* /usr/bin
  8. WORKDIR /repo
  9. COPY . .
  10. #TODO Remove or update the sed line when we update dotnet version.
  11. RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \
  12. && find . -type f -exec sed -i 's/netcoreapp2.1/netcoreapp3.0/g' {} \; \
  13. && dotnet clean \
  14. && dotnet publish \
  15. --configuration release \
  16. --output /jellyfin \
  17. Jellyfin.Server
  18. FROM microsoft/dotnet:${DOTNET_VERSION}-runtime-stretch-slim-arm64v8
  19. COPY --from=qemu_extract qemu-* /usr/bin
  20. COPY --from=builder /jellyfin /jellyfin
  21. EXPOSE 8096
  22. RUN apt-get update \
  23. && apt-get install -y ffmpeg
  24. VOLUME /config /media
  25. ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config