diff --git a/WebApp/Dockerfile b/WebApp/Dockerfile
new file mode 100644
index 0000000..37d201c
--- /dev/null
+++ b/WebApp/Dockerfile
@@ -0,0 +1,32 @@
+# See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
+
+# This stage is used when running from VS in fast mode (Default for Debug configuration)
+FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
+USER $APP_UID
+WORKDIR /app
+EXPOSE 8080
+EXPOSE 8081
+
+
+# This stage is used to build the service project
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
+ARG BUILD_CONFIGURATION=Release
+WORKDIR /src
+COPY ["WebApp/WebApp.csproj", "WebApp/"]
+COPY ["Core/Core.csproj", "Core/"]
+COPY ["Data/Data.csproj", "Data/"]
+RUN dotnet restore "./WebApp/WebApp.csproj"
+COPY . .
+WORKDIR "/src/WebApp"
+RUN dotnet build "./WebApp.csproj" -c $BUILD_CONFIGURATION -o /app/build
+
+# This stage is used to publish the service project to be copied to the final stage
+FROM build AS publish
+ARG BUILD_CONFIGURATION=Release
+RUN dotnet publish "./WebApp.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
+
+# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "WebApp.dll"]
\ No newline at end of file
diff --git a/WebApp/Properties/launchSettings.json b/WebApp/Properties/launchSettings.json
index 2c1a213..c451f24 100644
--- a/WebApp/Properties/launchSettings.json
+++ b/WebApp/Properties/launchSettings.json
@@ -44,6 +44,17 @@
},
"dotnetRunMessages": true,
"applicationUrl": "https://localhost:7235;http://localhost:5013"
+ },
+ "Container (Dockerfile)": {
+ "commandName": "Docker",
+ "launchBrowser": true,
+ "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
+ "environmentVariables": {
+ "ASPNETCORE_HTTPS_PORTS": "8081",
+ "ASPNETCORE_HTTP_PORTS": "8080"
+ },
+ "publishAllPorts": true,
+ "useSSL": true
}
},
"$schema": "http://json.schemastore.org/launchsettings.json",
diff --git a/WebApp/WebApp.csproj b/WebApp/WebApp.csproj
index 130d28b..a36a891 100644
--- a/WebApp/WebApp.csproj
+++ b/WebApp/WebApp.csproj
@@ -4,6 +4,8 @@
net9.0
enable
enable
+ 73972335-ec46-4ad6-a959-8ebe0b06147d
+ Linux
@@ -18,6 +20,7 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
+