FROM node:22-slim AS web
WORKDIR /web
COPY web/package.json web/package-lock.json* ./
RUN npm install --no-fund --no-audit
COPY web ./
RUN npm run build -- --outDir /web/dist

FROM python:3.11-slim

WORKDIR /app
COPY pyproject.toml README.md ./
COPY researchshelf ./researchshelf
COPY --from=web /web/dist ./researchshelf/static
RUN pip install --no-cache-dir .

ENV RESEARCHSHELF_DATA_DIR=/data
VOLUME ["/data"]
EXPOSE 8340

CMD ["researchshelf"]
