FROM node:20-alpine

ARG NEXT_PUBLIC_API_URL=http://localhost:3001

RUN apk add --no-cache npm

WORKDIR /app

COPY package.json ./
COPY packages packages/
COPY apps apps/
COPY tsconfig.json ./

RUN sed -i 's|"@shared/types": "workspace:\*"|"@shared/types": "file:../../packages/shared-types"|g' apps/api-server/package.json apps/web-dashboard/package.json apps/worker/package.json

RUN npm install

RUN cd packages/shared-types && npm run build
RUN cd apps/web-dashboard && npm run build

EXPOSE 3000
CMD ["sh", "-c", "cd apps/web-dashboard && npm start"]
