# Stage 1: Base runtime FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base WORKDIR /app EXPOSE 8080 # Stage 2: Build FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build WORKDIR /src # Copy the solution file COPY ["ImperialRecruitment.sln", "./"] # Copy all project files (so restore works with project references) COPY ["IR.Blazor/IR.Blazor.csproj", "IR.Blazor/"] COPY ["IR.Data/IR.Data.csproj", "IR.Data/"] COPY ["IR.Domain/IR.Domain.csproj", "IR.Domain/"] # Restore packages RUN dotnet restore "./ImperialRecruitment.sln" # Copy the rest of the source COPY . . # Publish only the Blazor Server project WORKDIR "/src/IR.Blazor" RUN dotnet publish -c Release -o /app/publish # Stage 3: Runtime container FROM base AS final WORKDIR /app COPY --from=build /app/publish . ENTRYPOINT ["dotnet", "IR.Blazor.dll"]