FROM node:20-alpine

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/worker && npm run build

CMD ["node", "apps/worker/dist/main.js"]
