FROM node:22-alpine # Install FFmpeg (for thumbnail generation) RUN apk add --no-cache ffmpeg WORKDIR /app # Copy package files and install COPY packages/api/package*.json ./ RUN npm install # Copy Prisma schema and generate client COPY packages/api/prisma ./prisma RUN npx prisma generate # Copy source code COPY packages/api/src ./src EXPOSE 3001 ENV NODE_ENV=production # For development: run with tsx # For production: compile first CMD ["npx", "tsx", "src/index.ts"]