diff --git a/Dockerfile b/Dockerfile index 19a5ae0..38bf4a8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,15 @@ # -------------------- FROM node:22-alpine AS base -RUN apk add --no-cache tzdata libc6-compat && \ +# Change Alpine repo +RUN sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://mirror.de.velop.ir/alpine|g' /etc/apk/repositories + +# Configure npm registry mirror (Liara) +ENV NPM_CONFIG_REGISTRY=https://package-mirror.liara.ir/repository/npm/ +RUN npm config set registry https://package-mirror.liara.ir/repository/npm/ + +# Install tzdata to support timezone settings +RUN apk add --no-cache tzdata && \ cp /usr/share/zoneinfo/Asia/Tehran /etc/localtime && \ echo "Asia/Tehran" > /etc/timezone @@ -14,8 +22,9 @@ WORKDIR /app # -------------------- FROM base AS deps +RUN apk add --no-cache libc6-compat git COPY package.json package-lock.json ./ -RUN npm ci --ignore-scripts +RUN npm ci --legacy-peer-deps --ignore-scripts --loglevel info # -------------------- # Build @@ -27,12 +36,12 @@ COPY --from=deps /app/node_modules ./node_modules COPY . . RUN npm run build && \ - npm ci --omit=dev --ignore-scripts + npm ci --omit=dev --legacy-peer-deps --ignore-scripts --loglevel info # -------------------- # Runtime # -------------------- -FROM node:22-alpine AS runner +FROM base AS runner WORKDIR /app ENV NODE_ENV=production @@ -55,8 +64,6 @@ ENV HOSTNAME="0.0.0.0" CMD ["node", "server.js"] - - # FROM node:22-alpine AS base # RUN apk add --no-cache tzdata && \ @@ -102,4 +109,4 @@ CMD ["node", "server.js"] # ENV NEXT_PUBLIC_TOKEN_NAME=dsc_refresh_token # ENV NEXT_PUBLIC_TOKEN_NAME=dsc_token -# CMD ["node", "server.js"] \ No newline at end of file +# CMD ["node", "server.js"]