diff --git a/Dockerfile b/Dockerfile index 109a6ac..891f390 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,23 +3,16 @@ FROM node:20-alpine AS base ENV TZ=Asia/Tehran RUN apk add --no-cache tzdata -FROM base AS deps -WORKDIR /deps +FROM base AS builder +WORKDIR /build + COPY package*.json ./ RUN --mount=type=cache,target=/root/.npm \ npm ci -FROM base AS prod-deps -WORKDIR /deps -COPY package*.json ./ -RUN --mount=type=cache,target=/root/.npm \ - npm ci --omit=dev - -FROM base AS builder -WORKDIR /build COPY . . -COPY --from=deps /deps/node_modules ./node_modules RUN npm run build +RUN npm prune --omit=dev FROM base AS runner WORKDIR /app @@ -37,8 +30,8 @@ COPY --from=builder --chown=appuser:appgroup /build/.nuxt ./.nuxt COPY --from=builder --chown=appuser:appgroup /build/static ./static COPY --from=builder --chown=appuser:appgroup /build/server ./server COPY --from=builder --chown=appuser:appgroup /build/nuxt.config.js ./ -COPY --from=prod-deps --chown=appuser:appgroup /deps/node_modules ./node_modules -COPY --from=prod-deps --chown=appuser:appgroup /deps/package.json ./package.json +COPY --from=builder --chown=appuser:appgroup /build/node_modules ./node_modules +COPY --from=builder --chown=appuser:appgroup /build/package.json ./package.json USER appuser