FROM mcr.microsoft.com/playwright:v1.45.0-jammy AS build

WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
COPY tsconfig.json vite.config.ts ./
COPY src ./src
COPY client ./client
RUN npm run build
RUN npm prune --omit=dev

FROM mcr.microsoft.com/playwright:v1.45.0-jammy

ENV NODE_ENV=production
ENV AISHARE_PORT=8080
ENV AISHARE_DATA_DIR=/data
ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright

WORKDIR /app
RUN apt-get update \
  && apt-get install -y --no-install-recommends fonts-noto fonts-noto-cjk fonts-noto-color-emoji fonts-thai-tlwg \
  && rm -rf /var/lib/apt/lists/*
COPY --from=build /app/node_modules ./node_modules
COPY --from=build /app/dist ./dist
COPY --from=build /app/dist-client ./dist-client
COPY package.json ./

EXPOSE 8080
CMD ["node", "dist/server.js"]
