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"]