Dockerfile 544 B

1234567891011121314151617181920212223242526272829
  1. # Build stage
  2. FROM node:20-slim AS builder
  3. WORKDIR /app
  4. # Copy package files
  5. COPY package*.json ./
  6. # Install dependencies
  7. RUN npm ci
  8. # Copy source
  9. COPY . .
  10. # Override output to local directory for Docker build
  11. RUN npm run build -- --outDir ./dist
  12. # Production stage
  13. FROM nginx:alpine
  14. # Copy built files from builder
  15. COPY --from=builder /app/dist /usr/share/nginx/html
  16. # Copy nginx config (will be mounted or copied separately)
  17. # Note: nginx.conf should be copied in docker-compose or here
  18. EXPOSE 80
  19. CMD ["nginx", "-g", "daemon off;"]