Dockerfile 854 B

12345678910111213141516171819202122232425262728293031323334353637
  1. FROM node:20
  2. # Install system dependencies including HandBrakeCLI
  3. RUN apt-get update && apt-get install -y \
  4. handbrake-cli \
  5. && rm -rf /var/lib/apt/lists/*
  6. # Install pnpm
  7. RUN npm install -g pnpm
  8. WORKDIR /app
  9. # Copy package files
  10. COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./
  11. # Copy app package files
  12. COPY apps/web/package.json apps/web/
  13. COPY apps/service/package.json apps/service/
  14. COPY apps/docs/package.json apps/docs/
  15. COPY apps/cli/package.json apps/cli/
  16. # Copy packages
  17. COPY packages/eslint-config/package.json packages/eslint-config/
  18. COPY packages/typescript-config/package.json packages/typescript-config/
  19. COPY packages/ui/package.json packages/ui/
  20. # Install dependencies
  21. RUN pnpm install --frozen-lockfile
  22. # Copy source code
  23. COPY . .
  24. # Expose ports
  25. EXPOSE 3000 3001 3002
  26. # Default command
  27. CMD ["pnpm", "dev"]