# syntax=docker/dockerfile:1.7 # Multi-stage Angular console image with non-root runtime (DOCKER-44-001) ARG NODE_IMAGE=node:20-bullseye-slim ARG NGINX_IMAGE=nginxinc/nginx-unprivileged:1.27-alpine ARG APP_DIR=src/Web/StellaOps.Web ARG DIST_DIR=dist ARG APP_PORT=8080 FROM ${NODE_IMAGE} AS build ENV npm_config_fund=false npm_config_audit=false SOURCE_DATE_EPOCH=1704067200 WORKDIR /app COPY ${APP_DIR}/package*.json ./ RUN npm ci --prefer-offline --no-progress --cache .npm COPY ${APP_DIR}/ ./ RUN npm run build -- --configuration=production --output-path=${DIST_DIR} FROM ${NGINX_IMAGE} AS runtime ARG APP_PORT ENV APP_PORT=${APP_PORT} USER 101 WORKDIR / COPY --from=build /app/${DIST_DIR}/ /usr/share/nginx/html/ COPY ops/devops/docker/healthcheck-frontend.sh /usr/local/bin/healthcheck-frontend.sh RUN rm -f /etc/nginx/conf.d/default.conf && \ cat > /etc/nginx/conf.d/default.conf <