FROM node:22-alpine
LABEL 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 chmod +x ./migrate.sh
RUN npx zenstack generate

EXPOSE 3000
VOLUME /usr/src/app/public

CMD ["/bin/sh", "-c", "./migrate.sh && npm start"]