FROM node:22-bookworm-slim AS build WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci COPY . . RUN npm run build FROM node:22-bookworm-slim AS runtime ENV NODE_ENV=production WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci --omit=dev && npm cache clean --force COPY --chown=node:node --from=build /app/dist ./dist COPY --chown=node:node --from=build /app/dist-server ./dist-server RUN mkdir -p /var/lib/assessor/artifacts \ && chown -R node:node /var/lib/assessor USER node EXPOSE 4173 CMD ["node", "dist-server/server.mjs"]