Dockerfile.api 480 B

12345678910111213141516171819202122232425
  1. FROM node:22-alpine
  2. # Install FFmpeg (for thumbnail generation)
  3. RUN apk add --no-cache ffmpeg
  4. WORKDIR /app
  5. # Copy package files and install
  6. COPY packages/api/package*.json ./
  7. RUN npm install
  8. # Copy Prisma schema and generate client
  9. COPY packages/api/prisma ./prisma
  10. RUN npx prisma generate
  11. # Copy source code
  12. COPY packages/api/src ./src
  13. EXPOSE 3001
  14. ENV NODE_ENV=production
  15. # For development: run with tsx
  16. # For production: compile first
  17. CMD ["npx", "tsx", "src/index.ts"]