FROM node:20-alpine AS builder # Install tzdata and set timezone RUN apk add --no-cache tzdata \ && cp /usr/share/zoneinfo/Asia/Tehran /etc/localtime \ && echo "Asia/Tehran" > /etc/timezone WORKDIR /build # Copy dependency files first for better layer caching COPY package*.json ./ RUN npm ci --omit=dev=false COPY . ./ RUN npm run build # --- FROM nginx:stable-alpine AS production-stage # Copy built assets and nginx config COPY --from=builder /build/dist /usr/share/nginx/html COPY --from=builder /build/nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]