FROM node:20-alpine

WORKDIR /app

# Install production dependencies only
COPY package*.json ./
RUN npm ci --production

# Copy application source
COPY src/ ./src/
COPY tsconfig.json ./

# Build the application
RUN npm run build

# Remove dev files
RUN rm -rf src/ tsconfig.json

EXPOSE 8080

ENV NODE_ENV=production

CMD ["node", "dist/server.js"]
