diff options
| author | Erwin de Haan <EraYaN@users.noreply.github.com> | 2019-01-10 19:45:21 +0100 |
|---|---|---|
| committer | Erwin de Haan <EraYaN@users.noreply.github.com> | 2019-01-10 19:45:30 +0100 |
| commit | 399a079dd472a0ad424884eb48a0d9e471a95c70 (patch) | |
| tree | 43bd338b79f1243dbe7f4f07ca63f1b5363724fb /deployment/docker | |
| parent | 3d867c2c46cec39b669bb8647efef677f32b8a8d (diff) | |
Build scripts and build system consolidation.
Squashed commit.
Diffstat (limited to 'deployment/docker')
| -rw-r--r-- | deployment/docker/Dockerfile | 28 | ||||
| -rw-r--r-- | deployment/docker/Dockerfile.aarch64 | 17 | ||||
| -rw-r--r-- | deployment/docker/build.sh | 7 |
3 files changed, 52 insertions, 0 deletions
diff --git a/deployment/docker/Dockerfile b/deployment/docker/Dockerfile new file mode 100644 index 0000000000..c32cdcf9b8 --- /dev/null +++ b/deployment/docker/Dockerfile @@ -0,0 +1,28 @@ +ARG DOTNET_VERSION=2 + + +# Download ffmpeg first to allow quicker rebuild of other layers +FROM alpine as ffmpeg +ARG FFMPEG_URL=https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-4.0.3-64bit-static.tar.xz +RUN wget ${FFMPEG_URL} -O - | tar Jxf - \ + && mkdir ffmpeg-bin \ + && mv ffmpeg*/ffmpeg ffmpeg-bin \ + && mv ffmpeg*/ffprobe ffmpeg-bin + + +FROM microsoft/dotnet:${DOTNET_VERSION}-sdk as builder +WORKDIR /repo +COPY . . +RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \ + && dotnet clean \ + && dotnet publish --configuration release --output /jellyfin Jellyfin.Server + + +FROM microsoft/dotnet:${DOTNET_VERSION}-runtime +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 +ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config diff --git a/deployment/docker/Dockerfile.aarch64 b/deployment/docker/Dockerfile.aarch64 new file mode 100644 index 0000000000..d1423dda2b --- /dev/null +++ b/deployment/docker/Dockerfile.aarch64 @@ -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 +COPY --from=builder /jellyfin /jellyfin +EXPOSE 8096 +RUN apt update \ + && apt 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 new file mode 100644 index 0000000000..b75cedc013 --- /dev/null +++ b/deployment/docker/build.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source ../common.build.sh + +VERSION=`get_version ../..` + +build_jellyfin_docker ../.. Dockerfile jellyfin:${VERSION}
\ No newline at end of file |
