FROM node:18-alpine3.18 AS builder

COPY package.json .
COPY yarn.lock .
COPY tsconfig.json .
COPY .env.production .

RUN yarn install

COPY ./src ./src
COPY ./public ./public

RUN yarn build

FROM node:18-alpine3.18
ENV NODE_ENV production

WORKDIR /app

COPY --from=builder /build .

RUN yarn global add serve && yarn
CMD ["serve", "-s", "."]