FROM node:15-alpine as client-build FROM mcr.microsoft.com/dotnet/sdk:6.0-bullseye-slim-amd64 AS build WORKDIR /source # restore packages COPY ./Nuget.Config ./ COPY ./src/. ./src COPY *.props ./ RUN dotnet restore "./src/samples/server/Elsa.Samples.Server.Host/Elsa.Samples.Server.Host.csproj" --configfile ./Nuget.Config # build and publish (UseAppHost=false creates platform independent binaries) WORKDIR /source/src/samples/server/Elsa.Samples.Server.Host RUN dotnet build "Elsa.Samples.Server.Host.csproj" -c Release -o /app/build RUN dotnet publish "Elsa.Samples.Server.Host.csproj" -c Release -o /app/publish /p:UseAppHost=false --no-restore # move binaries into smaller base image FROM mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim-amd64 AS base WORKDIR /app COPY --from=build /app/publish ./ EXPOSE 80/tcp EXPOSE 443/tcp ENTRYPOINT ["dotnet", "Elsa.Samples.Server.Host.dll"]