mirror of
https://github.com/opendatalab/MinerU.git
synced 2026-03-28 11:38:32 +07:00
- Update PyPI mirror from Tsinghua to Aliyun in multiple Dockerfiles and installation scripts - This change may improve package download speed and reliability for users in China
85 lines
2.8 KiB
Docker
85 lines
2.8 KiB
Docker
# Use the official Ubuntu base image
|
|
FROM ubuntu:latest
|
|
|
|
# ENV http_proxy http://127.0.0.1:7890
|
|
# ENV https_proxy http://127.0.0.1:7890
|
|
|
|
# Set environment variables to non-interactive to avoid prompts during installation
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV LANG C.UTF-8
|
|
|
|
# ADD sources.list /etc/apt
|
|
# RUN apt-get clean
|
|
|
|
|
|
|
|
# Update the package list and install necessary packages
|
|
RUN apt-get -q update \
|
|
&& apt-get -q install -y --no-install-recommends \
|
|
apt-utils \
|
|
bats \
|
|
build-essential
|
|
RUN apt-get update && apt-get install -y vim net-tools procps lsof curl wget iputils-ping telnet lrzsz git
|
|
|
|
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 \
|
|
libglib2.0-0 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# RUN unset http_proxy && unset https_proxy
|
|
|
|
# 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
|
|
RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
|
|
# Activate the virtual environment and install necessary Python packages
|
|
RUN /bin/bash -c "source /opt/mineru_venv/bin/activate && \
|
|
pip install --upgrade pip && \
|
|
pip install magic-pdf[full] --extra-index-url https://myhloli.github.io/wheels/ --no-cache-dir"
|
|
|
|
|
|
RUN /bin/bash -c "source /opt/mineru_venv/bin/activate && \
|
|
pip install fastapi uvicorn python-multipart --no-cache-dir"
|
|
|
|
RUN /bin/bash -c "source /opt/mineru_venv/bin/activate && \
|
|
pip uninstall paddlepaddle -y"
|
|
|
|
RUN /bin/bash -c "source /opt/mineru_venv/bin/activate && \
|
|
python -m pip install paddlepaddle-gpu==3.0.0b1 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/ --no-cache-dir"
|
|
|
|
# Copy the configuration file template and set up the model directory
|
|
COPY magic-pdf.template.json /root/magic-pdf.json
|
|
ADD models /opt/models
|
|
ADD .paddleocr /root/.paddleocr
|
|
ADD app.py /root/app.py
|
|
|
|
WORKDIR /root
|
|
|
|
# Set the models directory in the configuration file (adjust the path as needed)
|
|
RUN sed -i 's|/tmp/models|/opt/models|g' /root/magic-pdf.json
|
|
|
|
# Create the models directory
|
|
# RUN mkdir -p /opt/models
|
|
|
|
# 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 \"$@\" && python3 app.py", "--"]
|
|
|
|
|
|
# Expose the port that FastAPI will run on
|
|
EXPOSE 8000
|
|
|
|
# Command to run FastAPI using Uvicorn, pointing to app.py and binding to 0.0.0.0:8000
|
|
CMD ["/bin/bash", "-c", "source /opt/mineru_venv/bin/activate && uvicorn app:app --host 0.0.0.0 --port 8000"] |