23 lines
405 B
Text
23 lines
405 B
Text
|
|
# --- Stage 1: Build ---
|
||
|
|
FROM node:22.22-alpine AS build
|
||
|
|
|
||
|
|
WORKDIR /app
|
||
|
|
|
||
|
|
RUN corepack enable
|
||
|
|
|
||
|
|
COPY . .
|
||
|
|
RUN pnpm install --frozen-lockfile
|
||
|
|
|
||
|
|
RUN pnpm build
|
||
|
|
|
||
|
|
# --- Stage 2: Run ---
|
||
|
|
FROM node:22.22-alpine AS runtime
|
||
|
|
WORKDIR /app
|
||
|
|
|
||
|
|
COPY --from=build /app/dist ./dist
|
||
|
|
COPY --from=build /app/node_modules ./node_modules
|
||
|
|
COPY --from=build /app/package.json ./package.json
|
||
|
|
|
||
|
|
EXPOSE 3000
|
||
|
|
|
||
|
|
CMD ["node", "dist/index.js"]
|