FROM node:22-bookworm-slim AS build
WORKDIR /app
COPY package.json package-lock.json tsconfig.json ./
RUN npm ci
COPY src ./src
COPY migrations ./migrations
COPY public ./public
RUN npm run build

FROM node:22-bookworm-slim AS runtime
WORKDIR /app
ENV NODE_ENV=production OCR_ARTIFACT_ROOT=/data/ingestions
COPY package.json package-lock.json ./
RUN npm ci --omit=dev
COPY --from=build /app/dist ./dist
COPY --from=build /app/migrations ./migrations
COPY public ./public
RUN install -d -o node -g node -m 700 /data/ingestions
VOLUME ["/data/ingestions"]
USER node
EXPOSE 3000
CMD ["sh", "-c", "node dist/modules/catalog/migrations.js && exec node dist/server.js"]
