diff --git a/Dockerfile.service b/Dockerfile.service index a6b8d3b..a1151d4 100644 --- a/Dockerfile.service +++ b/Dockerfile.service @@ -1,10 +1,29 @@ ARG DOTNET_VERSION=9.0 +ARG NODE_VERSION=20 + +FROM node:${NODE_VERSION}-alpine AS admin-ui +WORKDIR /ui +COPY DorkNet.Server/admin-ui/package.json DorkNet.Server/admin-ui/package-lock.json* ./ +RUN npm install --no-fund --no-audit --loglevel=error +COPY DorkNet.Server/admin-ui/ ./ +RUN mkdir -p /wwwroot/admin \ + && npm run build + +FROM node:${NODE_VERSION}-alpine AS site +WORKDIR /ui +COPY DorkNet.Server/site/package.json DorkNet.Server/site/package-lock.json* ./ +RUN npm install --no-fund --no-audit --loglevel=error +COPY DorkNet.Server/site/ ./ +RUN mkdir -p /wwwroot/site \ + && npm run build FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION} AS build ARG PROJECT_PATH WORKDIR /src COPY . . +COPY --from=admin-ui /wwwroot/admin/ DorkNet.Server/wwwroot/admin/ +COPY --from=site /wwwroot/site/ DorkNet.Server/wwwroot/site/ RUN dotnet publish "${PROJECT_PATH}" -c Release \ -p:SkipAdminUIBuild=true \ -p:DorkNetServiceContainerPublish=true \