FROM node:22 AS frontend WORKDIR /app/frontend COPY frontend/package*.json ./ RUN npm ci COPY frontend/ ./ RUN npm run build FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build WORKDIR /src COPY src/Tau.Acuvim.Console/Tau.Acuvim.Console.csproj ./Tau.Acuvim.Console/ RUN dotnet restore Tau.Acuvim.Console/Tau.Acuvim.Console.csproj COPY src/Tau.Acuvim.Console/ ./Tau.Acuvim.Console/ RUN dotnet publish Tau.Acuvim.Console/Tau.Acuvim.Console.csproj -c Release -o /app/publish FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime WORKDIR /app COPY --from=build /app/publish . COPY --from=frontend /app/frontend/dist ./wwwroot/ RUN mkdir -p /app/firmware ENV ASPNETCORE_URLS=http://+:5000 EXPOSE 5000 ENTRYPOINT ["dotnet", "Tau.Acuvim.Console.dll"]