FROM node:20-bookworm-slim

WORKDIR /app

COPY package*.json ./
RUN npm install

# Playwright's Chromium needs system libraries that Alpine does not provide
# reliably for this app's CI/runtime path. Install the Linux dependencies in
# the image so browser tests can launch in GitHub Actions and container runs.
RUN npx playwright install --with-deps chromium

COPY . .

RUN npm run prisma:generate
RUN npm run build

EXPOSE 3000

CMD ["sh", "-c", "npm run prisma:migrate:deploy && npm run prisma:seed && node .next/standalone/server.js"]
