FROM mcr.microsoft.com/dotnet/sdk:10.0-preview AS build WORKDIR /app # Copy everything and restore as distinct layers COPY . . RUN dotnet restore Knot.sln # Build and publish a release RUN dotnet publish src/Host/Host.csproj -c Release -o out # Build runtime image FROM mcr.microsoft.com/dotnet/aspnet:10.0-preview WORKDIR /app # Install native dependencies for Npgsql/GSSAPI RUN apt-get update && apt-get install -y libgssapi-krb5-2 && rm -rf /var/lib/apt/lists/* COPY --from=build /app/out . EXPOSE 8080 ENV ASPNETCORE_URLS=http://+:8080 ENTRYPOINT ["dotnet", "Host.dll"]