aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorErwin de Haan <EraYaN@users.noreply.github.com>2019-01-12 15:54:52 +0100
committerErwin de Haan <EraYaN@users.noreply.github.com>2019-01-12 15:54:52 +0100
commitba671569b4a5f897c10b209d9e33fafca0e8621f (patch)
tree42a60856f95e383ea502590336f4347661f7589f /Dockerfile
parent2c65fe53f264f120b5ed028cc81df629e0e6a3bc (diff)
Moved main docker file.
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile28
1 files changed, 28 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 000000000..62f8e4fa4
--- /dev/null
+++ b/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-get update \
+ && apt-get install -y libfontconfig1 --no-install-recommends # needed for Skia
+ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config