Switch the user Docker build to the Montify Node serve style.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-09 18:29:16 +03:30
co-authored by Cursor
parent aa02802974
commit c6f13e1b38
5 changed files with 212 additions and 15 deletions
+33 -11
View File
@@ -1,17 +1,39 @@
# داک‌پلوی: Build Type = Dockerfile ، پورت ۸۰
FROM node:22-alpine AS build
FROM docker.iranserver.com/node:20
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm config set registry https://mirror2.chabokan.net/npm/
RUN npm ci
COPY scripts ./scripts
RUN npm config set registry https://mirror2.chabokan.net/npm/ \
&& npm config set replace-registry-host npmjs \
&& npm config set fetch-retry-mintimeout 10000 \
&& npm config set fetch-retry-maxtimeout 120000 \
&& npm config set fetch-timeout 120000 \
&& npm config set fetch-retries 5
ENV NODE_ENV=development
RUN npm ci --include=dev --foreground-scripts --registry=https://mirror2.chabokan.net/npm/
COPY . .
ARG VITE_API_BASE_URL=https://parche.montest.ir/server/api
ENV VITE_API_BASE_URL=$VITE_API_BASE_URL
RUN npm run build-only
FROM nginx:1.27-alpine
COPY deploy/nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 80
# نام‌ها باید با Environment و Build-time Arguments در Dokploy یکی باشند
ARG VITE_API_BASE_URL
ARG VITE_USE_MOCK_AUTH
ARG VITE_BASE_PATH
RUN node scripts/write-docker-vite-env.mjs \
&& unset VITE_API_BASE_URL VITE_USE_MOCK_AUTH VITE_BASE_PATH \
&& npm run build
ENV NODE_ENV=production
ENV VITE_BASE_PATH=/
ENV PORT=7676
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
EXPOSE 7676
ENTRYPOINT ["/entrypoint.sh"]
CMD ["node", "scripts/serve-user.mjs"]