Dockerfile 1.89 KB
Newer Older
Aoyang Fang's avatar
Aoyang Fang committed
1
# Use the official Ubuntu base image
2
FROM ubuntu:22.04
Aoyang Fang's avatar
Aoyang Fang committed
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

# Set environment variables to non-interactive to avoid prompts during installation
ENV 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 \
        libglib2.0-0 \
        && 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

# Activate the virtual environment and install necessary Python packages
RUN /bin/bash -c "source /opt/mineru_venv/bin/activate && \
32
    pip3 install --upgrade pip && \
33
    wget https://github.com/opendatalab/MinerU/raw/master/docker/global/requirements.txt -O requirements.txt && \
34
    pip3 install -r requirements.txt"
35
36

# Copy the configuration file template and install magic-pdf latest
37
RUN /bin/bash -c "wget https://github.com/opendatalab/MinerU/raw/master/magic-pdf.template.json && \
38
39
    cp magic-pdf.template.json /root/magic-pdf.json && \
    source /opt/mineru_venv/bin/activate && \
Xiaomeng Zhao's avatar
Xiaomeng Zhao committed
40
    pip3 install -U magic-pdf"
41
42

# Download models and update the configuration file
43
44
RUN /bin/bash -c "pip3 install huggingface_hub && \
    wget https://github.com/opendatalab/MinerU/raw/master/scripts/download_models_hf.py -O download_models.py && \
45
46
    python3 download_models.py && \
    sed -i 's|cpu|cuda|g' /root/magic-pdf.json"
Aoyang Fang's avatar
Aoyang Fang committed
47
48

# Set the entry point to activate the virtual environment and run the command line tool
Xiaomeng Zhao's avatar
Xiaomeng Zhao committed
49
ENTRYPOINT ["/bin/bash", "-c", "source /opt/mineru_venv/bin/activate && exec \"$@\"", "--"]