# Build stage FROM node:20-alpine AS builder WORKDIR /app # Install dependencies COPY package.json ./ RUN npm install # Build TypeScript COPY tsconfig.json ./ COPY src ./src RUN npm run build # Production stage FROM node:20-alpine WORKDIR /app # Copy package files COPY package.json ./ # Install production dependencies only RUN npm install --production # Copy built files COPY --from=builder /app/dist ./dist # Set environment variables ENV NODE_ENV=production ENV PORT=3100 EXPOSE 3100 CMD ["node", "dist/index.js"]