aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdeployment/common.build.sh8
-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.arm64v817
-rwxr-xr-xdeployment/docker/build.sh8
-rwxr-xr-xdeployment/docker/package.sh12
-rw-r--r--deployment/fedora-package-x64/pkg-src/jellyfin.spec1
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}