FROM node:22-alpine
MAINTAINER Kenneth van Ewijk (kennyboy55)

WORKDIR /usr/src/app

COPY package.json ./
COPY package-lock.json ./

RUN npm install

COPY . .

ENV NODE_ENV=production
ENV DATABASE_URL="REQUIRED"

RUN npx zenstack generate

EXPOSE 3000
VOLUME /usr/src/app/public

CMD ["/bin/sh", "-c", "npx prisma db push && npm start"]