FROM node:24.21.0-bookworm-slim AS dependencies WORKDIR /app ENV HUSKY=0 COPY package.json package-lock.json ./ COPY packages/tokens/package.json ./packages/tokens/ COPY packages/ui/package.json ./packages/ui/ COPY packages/icons/package.json ./packages/icons/ RUN npm ci FROM dependencies AS development COPY . . RUN npm run build:packages ENV VITE_API_BASE_URL="" API_PROXY_TARGET=http://backend:3000 EXPOSE 8080 CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "8080", "--strictPort"] FROM dependencies AS build COPY . . ENV VITE_API_BASE_URL="" RUN npm run build FROM nginx:1.31.6-alpine AS production ARG VERSION ARG REVISION LABEL org.opencontainers.image.version=$VERSION \ org.opencontainers.image.revision=$REVISION COPY docker/nginx.conf /etc/nginx/nginx.conf COPY --from=build /app/dist /usr/share/nginx/html USER nginx EXPOSE 8080 ENTRYPOINT ["nginx"] CMD ["-g", "daemon off;"] HEALTHCHECK --interval=10s --timeout=3s --start-period=10s --retries=6 \ CMD wget -q -O /dev/null http://127.0.0.1:8080/ || exit 1