From fb438c82876159010a0b81f7290a69e33d2b498c Mon Sep 17 00:00:00 2001 From: Beau Findlay Date: Sat, 31 Jan 2026 22:02:07 +0000 Subject: [PATCH] Adds docker support --- .dockerignore | 25 +++++++++++++++++++++++++ Dockerfile | 29 +++++++++++++++++++++++++++++ src/BlazorApp/BlazorApp.csproj | 7 +++++++ 3 files changed, 61 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..38bece4 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,25 @@ +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/.idea +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/azds.yaml +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9f44d60 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,29 @@ +FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base +WORKDIR /app +EXPOSE 5000 + +FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build +ARG BUILD_CONFIGURATION=Release +WORKDIR /src +COPY ["src/BlazorApp/BlazorApp.csproj", "src/BlazorApp/"] +RUN dotnet restore "src/BlazorApp/BlazorApp.csproj" +COPY . . +WORKDIR "/src/src/BlazorApp" +RUN dotnet build "./BlazorApp.csproj" -c $BUILD_CONFIGURATION -o /app/build + +FROM build AS publish +ARG BUILD_CONFIGURATION=Release +RUN dotnet publish "./BlazorApp.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false + +FROM base AS final +WORKDIR /app + +# Install curl for health checks +RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* + +COPY --from=publish /app/publish . + +HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ + CMD curl -f http://localhost:5000/health || exit 1 + +ENTRYPOINT ["dotnet", "BlazorApp.dll"] \ No newline at end of file diff --git a/src/BlazorApp/BlazorApp.csproj b/src/BlazorApp/BlazorApp.csproj index c1fef06..d179d3b 100644 --- a/src/BlazorApp/BlazorApp.csproj +++ b/src/BlazorApp/BlazorApp.csproj @@ -5,10 +5,17 @@ enable enable true + Linux <_ContentIncludedByDefault Remove="Components\Shared\Icon.razor"/> + + + .dockerignore + + +