twenty-one/Containerfile

22 lines
No EOL
570 B
Docker

FROM node:22-alpine AS builder
WORKDIR /app
COPY . .
RUN npm install --global pnpm
RUN pnpm install --frozen-lockfile
RUN pnpm build
FROM node:22-alpine
RUN npm install --global pnpm
WORKDIR /app
COPY --from=builder /app/package.json /app/
COPY --from=builder /app/pnpm-lock.yaml /app/
COPY --from=builder /app/tsconfig.json /app/
COPY --from=builder /app/backend /app/backend
COPY --from=builder /app/shared /app/shared
COPY --from=builder /app/dist /app/dist
RUN pnpm install --frozen-lockfile --prod
EXPOSE 3000
ENV NODE_ENV=production
ENTRYPOINT ["pnpm", "start"]