FROM node:18-alpine as builder RUN apk add --no-cache python3 RUN apk add --no-cache make RUN apk add --no-cache gcc RUN apk add --no-cache build-base RUN npm install -g pnpm WORKDIR /usr/src/app COPY package.json pnpm-lock.yaml ./ RUN pnpm install COPY . . RUN pnpm run build FROM node:18-alpine RUN apk update RUN apk add --no-cache bash RUN apk add --no-cache curl RUN apk add --no-cache ffmpeg RUN apk add --no-cache python3 RUN apk add --no-cache make RUN apk add --no-cache gcc RUN apk add --no-cache build-base RUN npm install -g pnpm ENV NODE_ENV production USER node WORKDIR /usr/src/app RUN mkdir bin RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/src/app/bin/yt-dlp RUN chmod a+rx /usr/src/app/bin/yt-dlp COPY prisma/ . COPY package.json pnpm-lock.yaml ./ RUN pnpm install --prod RUN pnpx prisma generate COPY --from=builder /usr/src/app/dist ./dist CMD [ "pnpm", "start" ]