FROM node:18-alpine as dependencies
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn install --frozen-lockfile

FROM node:18-alpine as builder
WORKDIR /app
COPY . .
COPY --from=dependencies /app/node_modules ./node_modules
RUN yarn build

FROM node:18-alpine as runner
WORKDIR /app
ENV NODE_ENV production

COPY --from=builder /app/ .

EXPOSE 3000
CMD ["yarn", "start"]
