25 lines
634 B
Docker
25 lines
634 B
Docker
#syntax=docker/dockerfile:1
|
|
FROM docker.io/library/node:24-trixie-slim AS builder
|
|
|
|
WORKDIR /workspace
|
|
RUN corepack enable && corepack prepare pnpm@10.33.0 --activate
|
|
|
|
COPY package.json pnpm-lock.yaml tsconfig.json ./
|
|
RUN pnpm install --frozen-lockfile
|
|
|
|
COPY src ./src
|
|
RUN pnpm run build
|
|
RUN pnpm prune --prod
|
|
|
|
FROM docker.io/library/node:24-trixie-slim AS runtime
|
|
|
|
WORKDIR /workspace
|
|
ENV NODE_ENV=production
|
|
RUN corepack enable && corepack prepare pnpm@10.33.0 --activate
|
|
|
|
COPY package.json pnpm-lock.yaml ./
|
|
COPY --from=builder /workspace/node_modules ./node_modules
|
|
COPY --from=builder /workspace/dist ./dist
|
|
|
|
CMD ["pnpm", "start"]
|