FROM node:20 AS builder
WORKDIR /app

COPY package.json ./
COPY tsconfig.base.json ./
COPY apps/web ./apps/web
COPY apps/admin ./apps/admin
COPY packages ./packages

RUN npm install
RUN npm run build:admin

FROM node:20
WORKDIR /app
ENV NODE_ENV=production

COPY --from=builder /app/package.json /app/package.json
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/apps/admin/.next ./apps/admin/.next
COPY --from=builder /app/apps/admin/package.json ./apps/admin/package.json
COPY --from=builder /app/apps/admin/public ./apps/admin/public
COPY --from=builder /app/apps/admin/next.config.js ./apps/admin/next.config.js
COPY --from=builder /app/apps/admin/next-env.d.ts ./apps/admin/next-env.d.ts

ENV NEXT_TELEMETRY_DISABLED=1
EXPOSE 3001
CMD ["npm","run","start","-w","apps/admin"]
