summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-01-23 14:47:38 +0100
committerivarlovlie <git@ivarlovlie.no>2022-01-23 14:47:38 +0100
commit6c13723290e1788eb1f1a31c2081d19dae999b4f (patch)
tree14e1ad3acac7bda58b4826ab6dd8e7a3b5b5be89 /src
parent0cadb64365269e8ec2c7153953ac1eb0430e1d08 (diff)
downloadbookmark-thing-6c13723290e1788eb1f1a31c2081d19dae999b4f.tar.xz
bookmark-thing-6c13723290e1788eb1f1a31c2081d19dae999b4f.zip
build: Add initial docker setup for server
Diffstat (limited to 'src')
-rw-r--r--src/server/.dockerignore4
-rw-r--r--src/server/Dockerfile17
2 files changed, 21 insertions, 0 deletions
diff --git a/src/server/.dockerignore b/src/server/.dockerignore
new file mode 100644
index 0000000..7537228
--- /dev/null
+++ b/src/server/.dockerignore
@@ -0,0 +1,4 @@
+**/server-secrets.json
+**/AppData
+**/bin
+**/obj
diff --git a/src/server/Dockerfile b/src/server/Dockerfile
new file mode 100644
index 0000000..5bd8d05
--- /dev/null
+++ b/src/server/Dockerfile
@@ -0,0 +1,17 @@
+# syntax=docker/dockerfile:1
+FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env
+WORKDIR /app
+
+# Copy csproj and restore as distinct layers
+COPY *.csproj ./
+RUN dotnet restore
+
+# Copy everything else and build
+COPY ./ ./
+RUN dotnet publish -c Release -o out
+
+# Build runtime image
+FROM mcr.microsoft.com/dotnet/aspnet:6.0
+WORKDIR /app
+COPY --from=build-env /app/out .
+ENTRYPOINT ["dotnet", "IOL.BookmarkThing.Server.dll"]