diff options
| author | Erwin de Haan <EraYaN@users.noreply.github.com> | 2019-01-12 03:04:36 +0100 |
|---|---|---|
| committer | Erwin de Haan <EraYaN@users.noreply.github.com> | 2019-01-12 03:04:36 +0100 |
| commit | 4b00b0cc8773a5a9aea06220230fe9affd2aed4d (patch) | |
| tree | 17847d31c379a7d312e09d8ea93894fdf8af6b3d | |
| parent | 74507099ad2239e33e22486d392167eada57624f (diff) | |
Fixed fedora rpm build unexpected dependency on liblttng-ust. Fixed the docker builds and added manifest generation.
| -rwxr-xr-x | deployment/common.build.sh | 8 | ||||
| -rw-r--r-- | deployment/docker/Dockerfile.amd64 (renamed from deployment/docker/Dockerfile) | 4 | ||||
| -rw-r--r-- | deployment/docker/Dockerfile.arm32v7 (renamed from deployment/docker/Dockerfile.aarch64) | 6 | ||||
| -rw-r--r-- | deployment/docker/Dockerfile.arm64v8 | 17 | ||||
| -rwxr-xr-x | deployment/docker/build.sh | 8 | ||||
| -rwxr-xr-x | deployment/docker/package.sh | 12 | ||||
| -rw-r--r-- | deployment/fedora-package-x64/pkg-src/jellyfin.spec | 1 |
7 files changed, 46 insertions, 10 deletions
diff --git a/deployment/common.build.sh b/deployment/common.build.sh index 5996a4ec9..a368928ba 100755 --- a/deployment/common.build.sh +++ b/deployment/common.build.sh @@ -46,13 +46,13 @@ build_jellyfin_docker() DOCKERFILE=${2-$DEFAULT_DOCKERFILE} IMAGE_TAG=${3-$DEFAULT_IMAGE_TAG} - echo -e "${CYAN}Building jellyfin docker image in '${ROOT}' with Dockerfile ${CONFIG} and tag '${IMAGE_TAG}'.${NC}" - docker build -t ${IMAGE_TAG} -f ${DOCKERFILE} ${ROOT} + echo -e "${CYAN}Building jellyfin docker image in '${BUILD_CONTEXT}' with Dockerfile '${DOCKERFILE}' and tag '${IMAGE_TAG}'.${NC}" + docker build -t ${IMAGE_TAG} -f ${DOCKERFILE} ${BUILD_CONTEXT} EXIT_CODE=$? if [ $EXIT_CODE -eq 0 ]; then - echo -e "${GREEN}[DONE] Building jellyfin docker image in '${ROOT}' with Dockerfile ${CONFIG} and tag '${IMAGE_TAG}' complete.${NC}" + echo -e "${GREEN}[DONE] Building jellyfin docker image in '${BUILD_CONTEXT}' with Dockerfile '${DOCKERFILE}' and tag '${IMAGE_TAG}' complete.${NC}" else - echo -e "${RED}[FAIL] Building jellyfin docker image in '${ROOT}' with Dockerfile ${CONFIG} and tag '${IMAGE_TAG}' FAILED.${NC}" + echo -e "${RED}[FAIL] Building jellyfin docker image in '${BUILD_CONTEXT}' with Dockerfile '${DOCKERFILE}' and tag '${IMAGE_TAG}' FAILED.${NC}" fi ) diff --git a/deployment/docker/Dockerfile b/deployment/docker/Dockerfile.amd64 index c32cdcf9b..62f8e4fa4 100644 --- a/deployment/docker/Dockerfile +++ b/deployment/docker/Dockerfile.amd64 @@ -23,6 +23,6 @@ COPY --from=builder /jellyfin /jellyfin COPY --from=ffmpeg /ffmpeg-bin/* /usr/bin/ EXPOSE 8096 VOLUME /config /media -RUN apt update \ - && apt install -y libfontconfig1 --no-install-recommends # needed for Skia +RUN apt-get update \ + && apt-get install -y libfontconfig1 --no-install-recommends # needed for Skia ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config diff --git a/deployment/docker/Dockerfile.aarch64 b/deployment/docker/Dockerfile.arm32v7 index d1423dda2..072b9cdeb 100644 --- a/deployment/docker/Dockerfile.aarch64 +++ b/deployment/docker/Dockerfile.arm32v7 @@ -8,10 +8,10 @@ RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \ && dotnet clean \ && dotnet publish --configuration release --output /jellyfin Jellyfin.Server -FROM microsoft/dotnet:${DOTNET_VERSION}-runtime +FROM microsoft/dotnet:${DOTNET_VERSION}-runtime-stretch-slim-arm32v7 COPY --from=builder /jellyfin /jellyfin EXPOSE 8096 -RUN apt update \ - && apt install -y ffmpeg +RUN apt-get update \ + && apt-get install -y ffmpeg VOLUME /config /media ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config diff --git a/deployment/docker/Dockerfile.arm64v8 b/deployment/docker/Dockerfile.arm64v8 new file mode 100644 index 000000000..fecb8cbfb --- /dev/null +++ b/deployment/docker/Dockerfile.arm64v8 @@ -0,0 +1,17 @@ +ARG DOTNET_VERSION=3.0 + +FROM microsoft/dotnet:${DOTNET_VERSION}-sdk as builder +WORKDIR /repo +COPY . . +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 +COPY --from=builder /jellyfin /jellyfin +EXPOSE 8096 +RUN apt-get update \ + && apt-get install -y ffmpeg +VOLUME /config /media +ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config diff --git a/deployment/docker/build.sh b/deployment/docker/build.sh index b75cedc01..40cf90d28 100755 --- a/deployment/docker/build.sh +++ b/deployment/docker/build.sh @@ -4,4 +4,10 @@ source ../common.build.sh VERSION=`get_version ../..` -build_jellyfin_docker ../.. Dockerfile jellyfin:${VERSION}
\ No newline at end of file +build_jellyfin_docker ../.. Dockerfile.amd64 jellyfin:amd64-${VERSION} + +build_jellyfin_docker ../.. Dockerfile.arm64v8 jellyfin:arm64v8-${VERSION} arm64v8 + +build_jellyfin_docker ../.. Dockerfile.arm32v7 jellyfin:arm32v7-${VERSION} arm32v7 + + diff --git a/deployment/docker/package.sh b/deployment/docker/package.sh new file mode 100755 index 000000000..402ac1355 --- /dev/null +++ b/deployment/docker/package.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +source ../common.build.sh + +VERSION=`get_version ../..` + +docker manifest create jellyfin:${VERSION} jellyfin:amd64-${VERSION} jellyfin:arm32v7-${VERSION} jellyfin:arm64v8-${VERSION} +docker manifest annotate jellyfin:amd64-${VERSION} --os linux --arch amd64 +docker manifest annotate jellyfin:arm32v7-${VERSION} --os linux --arch arm --variant armv7 +docker manifest annotate jellyfin:arm64v8-${VERSION} --os linux --arch arm64 --variant armv8 + +#TODO publish.sh - docker manifest push jellyfin:${VERSION}
\ No newline at end of file diff --git a/deployment/fedora-package-x64/pkg-src/jellyfin.spec b/deployment/fedora-package-x64/pkg-src/jellyfin.spec index 406dc399d..acab6b13b 100644 --- a/deployment/fedora-package-x64/pkg-src/jellyfin.spec +++ b/deployment/fedora-package-x64/pkg-src/jellyfin.spec @@ -5,6 +5,7 @@ %global taglib_commit ee5ab21742b71fd1b87ee24895582327e9e04776 %global taglib_shortcommit %(c=%{taglib_commit}; echo ${c:0:7}) +AutoReq: no Name: jellyfin Version: 10.0.1 Release: 1%{?dist} |
