FROM node:20-alpine

WORKDIR /repo

RUN corepack enable

COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
COPY apps/api/package.json apps/api/package.json
RUN pnpm install --frozen-lockfile --filter api...

COPY apps/api apps/api
RUN pnpm --filter api prisma:generate
RUN pnpm --filter api build

WORKDIR /repo/apps/api

ENV PORT=4000
EXPOSE 4000

CMD ["pnpm", "start"]
