- 修改了 docker-compose.yml,更新了 API 和 Web 服务的镜像名称,并添加了 MinerU OCR 服务。 - 在 pyproject.toml 中添加了 Ruff 代码检查工具的配置。 - 更新了 API 和 Web Dockerfile,添加了代理环境变量。 - 新增了用于拉取 Docker 镜像的脚本。 - 在文档中添加了关于如何使用 MinerU OCR 的说明。 - 优化了代码结构和日志记录,提升了可读性和维护性。
64 lines
2.2 KiB
Docker
64 lines
2.2 KiB
Docker
# Use the official Ubuntu base image
|
|
FROM ubuntu:22.04
|
|
|
|
# Set environment variables to non-interactive to avoid prompts during installation
|
|
# 环境变量设置
|
|
ARG http_proxy
|
|
ARG https_proxy
|
|
ENV http_proxy=$http_proxy \
|
|
https_proxy=$https_proxy \
|
|
DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Update the package list and install necessary packages
|
|
RUN apt-get update && \
|
|
apt-get install -y \
|
|
software-properties-common && \
|
|
add-apt-repository ppa:deadsnakes/ppa && \
|
|
apt-get update && \
|
|
apt-get install -y \
|
|
python3.10 \
|
|
python3.10-venv \
|
|
python3.10-distutils \
|
|
python3-pip \
|
|
wget \
|
|
git \
|
|
libgl1 \
|
|
libreoffice \
|
|
fonts-noto-cjk \
|
|
fonts-wqy-zenhei \
|
|
fonts-wqy-microhei \
|
|
ttf-mscorefonts-installer \
|
|
fontconfig \
|
|
libglib2.0-0 \
|
|
libxrender1 \
|
|
libsm6 \
|
|
libxext6 \
|
|
poppler-utils \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Set Python 3.10 as the default python3
|
|
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
|
|
|
|
# Create a virtual environment for MinerU
|
|
RUN python3 -m venv /opt/mineru_venv
|
|
|
|
# Copy the configuration file template and install magic-pdf latest
|
|
RUN /bin/bash -c "source /opt/mineru_venv/bin/activate && \
|
|
pip3 install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple && \
|
|
pip3 install -U magic-pdf[full] -i https://mirrors.aliyun.com/pypi/simple"
|
|
|
|
# Download models and update the configuration file
|
|
COPY magic-pdf.json /root/magic-pdf.json
|
|
RUN /bin/bash -c "pip3 install modelscope -i https://mirrors.aliyun.com/pypi/simple && \
|
|
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/scripts/download_models.py -O download_models.py && \
|
|
python3 download_models.py && \
|
|
sed -i 's|cpu|cuda|g' /root/magic-pdf.json"
|
|
|
|
COPY app.py /app/app.py
|
|
RUN /bin/bash -c "source /opt/mineru_venv/bin/activate && \
|
|
pip3 install fastapi uvicorn python-multipart loguru -i https://mirrors.aliyun.com/pypi/simple"
|
|
|
|
|
|
# Set the entry point to activate the virtual environment and run the command line tool
|
|
ENTRYPOINT ["/bin/bash", "-c", "source /opt/mineru_venv/bin/activate && exec \"$@\"", "--"]
|