FROM node:20-alpine

WORKDIR /app

# Install dependencies separately to leverage Docker cache
COPY package*.json ./
RUN npm install

# Copy source code
COPY . .

# Build TypeScript
RUN npm run build || echo "No build script found, using tsx directly"

EXPOSE 3000 3001

CMD ["npm", "run", "start"]
