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