refactor(docker): try to fix bug
This commit is contained in:
34
Dockerfile
34
Dockerfile
@@ -2,21 +2,39 @@
|
||||
|
||||
ARG REGISTRY=docker.arvancloud.ir
|
||||
|
||||
# ----------------------------
|
||||
# Stage 1: deps
|
||||
# ----------------------------
|
||||
FROM ${REGISTRY}/node:20-alpine AS deps
|
||||
WORKDIR /app
|
||||
|
||||
# اصلاح mirror برای جلوگیری از TLS error
|
||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||
# نصب وابستگیهای sharp (بدون mirror)
|
||||
RUN apk add --no-cache \
|
||||
vips-dev \
|
||||
build-base \
|
||||
python3 \
|
||||
gcc \
|
||||
g++ \
|
||||
make
|
||||
|
||||
COPY package.json package-lock.json ./
|
||||
RUN npm ci --prefer-offline --no-audit
|
||||
RUN npm ci --no-audit
|
||||
|
||||
|
||||
# ----------------------------
|
||||
# Stage 2: builder
|
||||
# ----------------------------
|
||||
FROM ${REGISTRY}/node:20-alpine AS builder
|
||||
WORKDIR /app
|
||||
|
||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||
# sharp build deps
|
||||
RUN apk add --no-cache \
|
||||
vips-dev \
|
||||
build-base \
|
||||
python3 \
|
||||
gcc \
|
||||
g++ \
|
||||
make
|
||||
|
||||
COPY --from=deps /app/node_modules ./node_modules
|
||||
COPY . .
|
||||
@@ -25,14 +43,18 @@ ENV NEXT_TELEMETRY_DISABLED=1
|
||||
|
||||
RUN npm run build
|
||||
|
||||
|
||||
# ----------------------------
|
||||
# Stage 3: runner
|
||||
# ----------------------------
|
||||
FROM ${REGISTRY}/node:20-alpine AS runner
|
||||
WORKDIR /app
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV NEXT_TELEMETRY_DISABLED=1
|
||||
|
||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||
# در مرحله اجرا فقط libvips runtime لازم داریم
|
||||
RUN apk add --no-cache vips
|
||||
|
||||
RUN addgroup -S nodejs -g 1001
|
||||
RUN adduser -S nextjs -u 1001
|
||||
@@ -47,4 +69,4 @@ EXPOSE 3000
|
||||
ENV PORT=3000
|
||||
ENV HOSTNAME=0.0.0.0
|
||||
|
||||
CMD ["node", "server.js"]
|
||||
CMD ["node", "server.js"]
|
||||
|
||||
Reference in New Issue
Block a user