Spaces:
Configuration error
Configuration error
File size: 2,248 Bytes
1ea04fb 6237d61 2acaa40 6237d61 1ea04fb 6237d61 1ea04fb 6237d61 1ea04fb 6237d61 1ea04fb 6237d61 2acaa40 1ea04fb 6237d61 1ea04fb 6237d61 1ea04fb 2acaa40 1ea04fb 2acaa40 1ea04fb 2acaa40 1ea04fb 2acaa40 1ea04fb 2acaa40 1ea04fb 2acaa40 1ea04fb 6237d61 2acaa40 8937613 6237d61 22bc712 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
ARG BASE_IMAGE=quay.io/sclorg/python-312-c9s:c9s
FROM ${BASE_IMAGE}
ARG CPU_ONLY=false
ARG MODELS_LIST="layout tableformer picture_classifier easyocr"
USER 0
###################################################################################################
# OS Layer #
###################################################################################################
RUN --mount=type=bind,source=os-packages.txt,target=/tmp/os-packages.txt \
dnf -y install --best --nodocs --setopt=install_weak_deps=False dnf-plugins-core && \
dnf config-manager --best --nodocs --setopt=install_weak_deps=False --save && \
dnf config-manager --enable crb && \
dnf -y update && \
dnf install -y $(cat /tmp/os-packages.txt) && \
dnf -y clean all && \
rm -rf /var/cache/dnf
ENV TESSDATA_PREFIX=/usr/share/tesseract/tessdata/
COPY --from=ghcr.io/astral-sh/uv:0.6.1 /uv /uvx /bin/
###################################################################################################
# Docling layer #
###################################################################################################
USER 1001
WORKDIR /opt/app-root/src
# On container environments, always set a thread budget to avoid undesired thread congestion.
ENV OMP_NUM_THREADS=4
ENV LANG=en_US.UTF-8
ENV LC_ALL=en_US.UTF-8
ENV PYTHONIOENCODING=utf-8
ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy
ENV UV_PROJECT_ENVIRONMENT=/opt/app-root
ENV WITH_UI=True
COPY --chown=1001:0 pyproject.toml uv.lock README.md ./
RUN --mount=type=cache,target=/opt/app-root/src/.cache/uv,uid=1001 \
if [ "$CPU_ONLY" = "true" ]; then \
NO_EXTRA=cu124; \
else \
NO_EXTRA=cpu; \
fi && \
uv sync --frozen --no-install-project --no-dev --all-extras --no-extra ${NO_EXTRA}
RUN echo "Downloading models..." && \
docling-tools models download ${MODELS_LIST} && \
chown -R 1001:0 /opt/app-root/src/.cache && \
chmod -R g=u /opt/app-root/src/.cache
COPY --chown=1001:0 --chmod=664 ./docling_serve ./docling_serve
EXPOSE 5001
CMD ["python", "-m", "docling_serve"]
|