# Stage 1: Build frontend FROM node:20-alpine AS frontend-build WORKDIR /app COPY ./src/GreenHome.Web/package*.json ./ RUN npm ci --ignore-scripts || npm install COPY ./src/GreenHome.Web/ . RUN npm run build # Stage 2: Build backend FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build WORKDIR /src COPY ./src/ . # Copy built frontend from previous stage COPY --from=frontend-build /app/dist /src/GreenHome.Api/wwwroot/ RUN dotnet restore --verbosity detailed RUN dotnet publish -c Release -o /app FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime WORKDIR /app COPY --from=build /app . RUN mkdir -p /app/My_StaticFiles RUN mkdir -p /app/files ENTRYPOINT ["dotnet", "GreenHome.Api.dll"]