aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua M. Boniface <joshua@boniface.me>2020-06-19 17:17:44 -0400
committerJoshua M. Boniface <joshua@boniface.me>2020-06-19 17:17:44 -0400
commit5a1971c2801d8d6fa5ddba052e52f0d4d465ae1c (patch)
tree641a0290368336ac3d4603d7bd48a141bddc0a7e
parenta418c248061362379b43624128f6cd15a4acb193 (diff)
Add builder docker images
-rw-r--r--deployment/Dockerfile.docker.amd6414
-rw-r--r--deployment/Dockerfile.docker.arm6414
-rw-r--r--deployment/Dockerfile.docker.armhf14
3 files changed, 42 insertions, 0 deletions
diff --git a/deployment/Dockerfile.docker.amd64 b/deployment/Dockerfile.docker.amd64
new file mode 100644
index 000000000..133163148
--- /dev/null
+++ b/deployment/Dockerfile.docker.amd64
@@ -0,0 +1,14 @@
+ARG DOTNET_VERSION=3.1
+ARG SOURCE_DIR=/src
+ARG ARTIFACT_DIR=/jellyfin
+
+FROM mcr.microsoft.com/dotnet/core/sdk:${DOTNET_VERSION}-buster as builder
+
+WORKDIR ${SOURCE_DIR}
+COPY . .
+
+ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
+
+# because of changes in docker and systemd we need to not build in parallel at the moment
+# see https://success.docker.com/article/how-to-reserve-resource-temporarily-unavailable-errors-due-to-tasksmax-setting
+RUN dotnet publish Jellyfin.Server --disable-parallel --configuration Release --output="${ARTIFACT_DIR}" --self-contained --runtime linux-x64 "-p:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none"
diff --git a/deployment/Dockerfile.docker.arm64 b/deployment/Dockerfile.docker.arm64
new file mode 100644
index 000000000..c81c2955b
--- /dev/null
+++ b/deployment/Dockerfile.docker.arm64
@@ -0,0 +1,14 @@
+ARG DOTNET_VERSION=3.1
+ARG SOURCE_DIR=/src
+ARG ARTIFACT_DIR=/jellyfin
+
+FROM mcr.microsoft.com/dotnet/core/sdk:${DOTNET_VERSION}-buster as builder
+
+WORKDIR ${SOURCE_DIR}
+COPY . .
+
+ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
+
+# because of changes in docker and systemd we need to not build in parallel at the moment
+# see https://success.docker.com/article/how-to-reserve-resource-temporarily-unavailable-errors-due-to-tasksmax-setting
+RUN dotnet publish Jellyfin.Server --disable-parallel --configuration Release --output="${ARTIFACT_DIR}" --self-contained --runtime linux-arm64 "-p:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none"
diff --git a/deployment/Dockerfile.docker.armhf b/deployment/Dockerfile.docker.armhf
new file mode 100644
index 000000000..abf15d4e7
--- /dev/null
+++ b/deployment/Dockerfile.docker.armhf
@@ -0,0 +1,14 @@
+ARG DOTNET_VERSION=3.1
+ARG SOURCE_DIR=/src
+ARG ARTIFACT_DIR=/jellyfin
+
+FROM mcr.microsoft.com/dotnet/core/sdk:${DOTNET_VERSION}-buster as builder
+
+WORKDIR ${SOURCE_DIR}
+COPY . .
+
+ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
+
+# because of changes in docker and systemd we need to not build in parallel at the moment
+# see https://success.docker.com/article/how-to-reserve-resource-temporarily-unavailable-errors-due-to-tasksmax-setting
+RUN dotnet publish Jellyfin.Server --disable-parallel --configuration Release --output="${ARTIFACT_DIR}" --self-contained --runtime linux-arm "-p:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none"