# --- build: kompilacja TypeScript --- FROM node:20-bookworm-slim AS build WORKDIR /app COPY apps/api/package.json ./ RUN npm install COPY apps/api/ ./ RUN npm run build && npm prune --omit=dev # --- runtime: node + ffmpeg + yt-dlp (standalone) --- FROM node:20-bookworm-slim AS runtime WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends ffmpeg ca-certificates curl \ && curl -fsSL https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux \ -o /usr/local/bin/yt-dlp \ && chmod a+rx /usr/local/bin/yt-dlp \ && yt-dlp --version \ && apt-get purge -y curl && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* COPY apps/api/package.json ./ COPY --from=build /app/node_modules ./node_modules COPY --from=build /app/dist ./dist ENV PORT=3000 \ WORK_DIR=/app/work EXPOSE 3000 CMD ["node", "dist/main.js"]