39 lines
920 B
Docker
39 lines
920 B
Docker
FROM node:22
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package.json package-lock.json .npmrc ./
|
|
COPY scripts ./scripts
|
|
|
|
ENV NPM_CONFIG_REGISTRY=https://registry.npmjs.org
|
|
ENV NPM_CONFIG_FETCH_RETRIES=5
|
|
ENV NPM_CONFIG_FETCH_RETRY_MINTIMEOUT=20000
|
|
ENV NPM_CONFIG_FETCH_RETRY_MAXTIMEOUT=120000
|
|
ENV NPM_CONFIG_FETCH_TIMEOUT=60000
|
|
ENV NPM_CONFIG_MAXSOCKETS=10
|
|
|
|
ENV NODE_ENV=development
|
|
RUN npm ci --include=dev --foreground-scripts --no-audit --no-fund --legacy-peer-deps
|
|
|
|
COPY . .
|
|
|
|
# نامها باید با Environment و Build-time Arguments در Dokploy یکی باشند
|
|
ARG VITE_API_BASE_URL
|
|
ARG VITE_BASE_PATH
|
|
|
|
RUN node scripts/write-docker-vite-env.mjs \
|
|
&& unset VITE_API_BASE_URL VITE_BASE_PATH \
|
|
&& npm run build-only
|
|
|
|
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"]
|