mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Fixed fedora rpm build unexpected dependency on liblttng-ust. Fixed the docker builds and added manifest generation.
This commit is contained in:
parent
74507099ad
commit
4b00b0cc87
@ -46,13 +46,13 @@ build_jellyfin_docker()
|
|||||||
DOCKERFILE=${2-$DEFAULT_DOCKERFILE}
|
DOCKERFILE=${2-$DEFAULT_DOCKERFILE}
|
||||||
IMAGE_TAG=${3-$DEFAULT_IMAGE_TAG}
|
IMAGE_TAG=${3-$DEFAULT_IMAGE_TAG}
|
||||||
|
|
||||||
echo -e "${CYAN}Building jellyfin docker image in '${ROOT}' with Dockerfile ${CONFIG} and tag '${IMAGE_TAG}'.${NC}"
|
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} ${ROOT}
|
docker build -t ${IMAGE_TAG} -f ${DOCKERFILE} ${BUILD_CONTEXT}
|
||||||
EXIT_CODE=$?
|
EXIT_CODE=$?
|
||||||
if [ $EXIT_CODE -eq 0 ]; then
|
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
|
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
|
fi
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -23,6 +23,6 @@ COPY --from=builder /jellyfin /jellyfin
|
|||||||
COPY --from=ffmpeg /ffmpeg-bin/* /usr/bin/
|
COPY --from=ffmpeg /ffmpeg-bin/* /usr/bin/
|
||||||
EXPOSE 8096
|
EXPOSE 8096
|
||||||
VOLUME /config /media
|
VOLUME /config /media
|
||||||
RUN apt update \
|
RUN apt-get update \
|
||||||
&& apt install -y libfontconfig1 --no-install-recommends # needed for Skia
|
&& apt-get install -y libfontconfig1 --no-install-recommends # needed for Skia
|
||||||
ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config
|
ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config
|
@ -8,10 +8,10 @@ RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \
|
|||||||
&& dotnet clean \
|
&& dotnet clean \
|
||||||
&& dotnet publish --configuration release --output /jellyfin Jellyfin.Server
|
&& 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
|
COPY --from=builder /jellyfin /jellyfin
|
||||||
EXPOSE 8096
|
EXPOSE 8096
|
||||||
RUN apt update \
|
RUN apt-get update \
|
||||||
&& apt install -y ffmpeg
|
&& apt-get install -y ffmpeg
|
||||||
VOLUME /config /media
|
VOLUME /config /media
|
||||||
ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config
|
ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config
|
17
deployment/docker/Dockerfile.arm64v8
Normal file
17
deployment/docker/Dockerfile.arm64v8
Normal file
@ -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
|
@ -4,4 +4,10 @@ source ../common.build.sh
|
|||||||
|
|
||||||
VERSION=`get_version ../..`
|
VERSION=`get_version ../..`
|
||||||
|
|
||||||
build_jellyfin_docker ../.. Dockerfile jellyfin:${VERSION}
|
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
|
||||||
|
|
||||||
|
|
||||||
|
12
deployment/docker/package.sh
Executable file
12
deployment/docker/package.sh
Executable file
@ -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}
|
@ -5,6 +5,7 @@
|
|||||||
%global taglib_commit ee5ab21742b71fd1b87ee24895582327e9e04776
|
%global taglib_commit ee5ab21742b71fd1b87ee24895582327e9e04776
|
||||||
%global taglib_shortcommit %(c=%{taglib_commit}; echo ${c:0:7})
|
%global taglib_shortcommit %(c=%{taglib_commit}; echo ${c:0:7})
|
||||||
|
|
||||||
|
AutoReq: no
|
||||||
Name: jellyfin
|
Name: jellyfin
|
||||||
Version: 10.0.1
|
Version: 10.0.1
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user