FROM node:20-alpine

WORKDIR /app

COPY package*.json ./
COPY prisma.config.ts ./
COPY prisma ./prisma/
COPY tsconfig.json ./

RUN npm ci

RUN npx prisma generate

COPY worker ./worker/
COPY app/generated ./app/generated/

RUN npm install -g tsx

CMD ["tsx", "worker/snapshot-worker.ts"]