# Base Node Environment. FROM node:22-alpine AS app-base WORKDIR /app ENV PATH=/app/node_modules/.bin:$PATH COPY package.json ./ COPY package-lock.json ./ COPY . ./ # Dev environment. FROM app-base AS final-dev RUN npm install ENV CHOKIDAR_USEPOLLING=true CMD ["npm", "run", "dev"] # Build app for production. FROM app-base AS builder RUN npm ci && npm run build # production environment FROM nginx:stable-alpine AS final-prod COPY --from=builder /app/dist /usr/share/nginx/html COPY /public /usr/share/nginx/html/public COPY scripts/env.sh /docker-entrypoint.d/env.sh EXPOSE 80 RUN chmod +x /docker-entrypoint.d/env.sh CMD ["nginx", "-g", "daemon off;"]