FROM node:20-alpine AS builder WORKDIR /app COPY package.json ./ RUN npm install --legacy-peer-deps COPY . . RUN npm run build FROM nginx:1.25-alpine RUN addgroup -g 1000 appgroup && adduser -u 1000 -G appgroup -s /bin/sh -D appuser RUN rm -rf /usr/share/nginx/html/* COPY --from=builder /app/dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf RUN mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/proxy_temp \ /var/cache/nginx/fastcgi_temp /var/cache/nginx/uwsgi_temp \ /var/cache/nginx/scgi_temp && \ touch /var/run/nginx.pid && \ chown -R appuser:appgroup /var/cache/nginx /var/run/nginx.pid \ /var/log/nginx /usr/share/nginx/html /etc/nginx/conf.d USER appuser EXPOSE 7860 CMD ["nginx", "-g", "daemon off;"]