FROM node:20-alpine

WORKDIR /app

# Install deps
COPY package.json pnpm-lock.yaml* package-lock.json* ./
COPY packages/*/package.json packages/
COPY apps/*/package.json apps/
RUN npm install --workspaces --include-workspace-root --ignore-scripts

# Build shared-types then api-server
RUN npm run build --workspace=packages/shared-types
RUN npm run build --workspace=apps/api-server

EXPOSE 3001
CMD ["node", "apps/api-server/dist/main.js"]
