Dockerfile 664 B

123456789101112131415161718192021222324
  1. FROM node:20-alpine AS base
  2. FROM base AS deps
  3. WORKDIR /app
  4. COPY package.json packages/*/package.json apps/*/package.json ./
  5. RUN npm install --workspaces --include-workspace-root
  6. FROM base AS builder
  7. WORKDIR /app
  8. COPY --from=deps /app/node_modules ./node_modules
  9. COPY . .
  10. RUN npm run build --workspace=apps/api-server
  11. FROM base AS runner
  12. WORKDIR /app
  13. ENV NODE_ENV=production
  14. COPY --from=builder /app/apps/api-server/dist ./dist
  15. COPY --from=builder /app/node_modules ./node_modules
  16. COPY --from=builder /app/packages/shared-types/dist ./packages/shared-types/dist
  17. COPY --from=builder /app/apps/api-server/package.json ./
  18. EXPOSE 3001
  19. CMD ["node", "dist/main.js"]