# syntax=docker/dockerfile:1
FROM node:16-alpine as base
WORKDIR /app

RUN apk add --no-cache bash
RUN apk add --no-cache ffmpeg

RUN mkdir enqueued-videos
RUN mkdir transcoded-videos

FROM base as deps

COPY package.json ./
COPY yarn.lock ./

RUN yarn install --production

FROM deps as builder

COPY . .

RUN yarn build

FROM builder as development

CMD ["yarn", "start:dev"]

FROM base as production

ENV NODE_ENV production

COPY --from=builder /app/script /app/script
COPY --from=builder /app/dist /app/dist
COPY --from=deps /app/node_modules /app/node_modules

CMD ["node", "dist/main"]