FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build # Install dependencies WORKDIR /build RUN apk add pnpm COPY \ Aamukampa.Frontend/package.json \ Aamukampa.Frontend/pnpm-lock.yaml \ Aamukampa.Frontend/ RUN pnpm install -C Aamukampa.Frontend/ COPY .config ./ RUN dotnet tool restore COPY Aamukampa.sln ./ COPY Aamukampa.Frontend/*.fsproj Aamukampa.Frontend/ COPY Aamukampa.Core/*.fsproj Aamukampa.Core/ COPY Aamukampa.Web/*.fsproj Aamukampa.Web/ RUN dotnet restore # Copy shared Core library COPY Aamukampa.Core/ Aamukampa.Core/ # Build frontend WORKDIR Aamukampa.Frontend COPY Aamukampa.Frontend/ ./ RUN dotnet fable --noRestore RUN pnpm build # Build backend WORKDIR /build COPY Aamukampa.Web/ Aamukampa.Web/ RUN dotnet publish Aamukampa.Web --no-restore -o publish FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine WORKDIR /app USER app COPY --from=build --chown=app:app /build/publish /app CMD [ "./Aamukampa.Web" ]