FROM node:20 # Install system dependencies including HandBrakeCLI, SQLite, and FFmpeg RUN apt-get update && apt-get install -y \ handbrake-cli \ sqlite3 \ ffmpeg \ && rm -rf /var/lib/apt/lists/* # Install pnpm RUN npm install -g pnpm WORKDIR /app # Copy package files COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./ # Copy app package files COPY apps/web/package.json apps/web/ COPY apps/service/package.json apps/service/ COPY apps/docs/package.json apps/docs/ COPY apps/cli/package.json apps/cli/ # Copy packages COPY packages/eslint-config/package.json packages/eslint-config/ COPY packages/typescript-config/package.json packages/typescript-config/ COPY packages/ui/package.json packages/ui/ # Install dependencies RUN pnpm install --frozen-lockfile # Copy source code COPY . . # Expose ports EXPOSE 3000 3001 3002 # Set the CLI as the default entrypoint ENTRYPOINT ["pnpm", "run", "cli"] # Default command (can be overridden) CMD []