diff --git a/Dockerfile b/Dockerfile index 69b4ca2..ddefd84 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,24 +1,26 @@ -FROM node:lts-alpine AS builder +FROM node:24-alpine AS builder WORKDIR /app -RUN npm i -g pnpm +RUN apk add --no-cache libc6-compat && \ + corepack enable && corepack prepare pnpm@latest --activate COPY package.json pnpm-lock.yaml ./ -RUN pnpm install +RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store \ + pnpm install --frozen-lockfile || pnpm install COPY . . RUN pnpm run build +RUN pnpm prune --prod -FROM node:lts-alpine AS runtime +FROM node:24-alpine AS runtime WORKDIR /app -RUN npm i -g pnpm +RUN apk add --no-cache libc6-compat COPY --from=builder /app/dist ./dist -COPY package.json pnpm-lock.yaml ./ - -RUN pnpm install --prod +COPY --from=builder /app/node_modules ./node_modules +COPY package.json ./ ENV HOST=0.0.0.0 ENV PORT=4321