FROM node:20-slim # yt-dlp is intentionally opt-in. Enabling its image build alone does not make # acquisition live: the worker additionally requires explicit runtime gates. ARG INSTALL_YTDLP=false RUN apt-get update && apt-get install -y ffmpeg \ && if [ "$INSTALL_YTDLP" = "true" ]; then apt-get install -y yt-dlp; fi \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY package*.json ./ RUN npm install --legacy-peer-deps COPY . . RUN npm run build EXPOSE 3000 CMD ["npm", "run", "start"]