|
|
@@ -0,0 +1,45 @@
|
|
|
+# Use the official Ubuntu base image
|
|
|
+FROM ubuntu:latest
|
|
|
+
|
|
|
+# 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 && \
|
|
|
+ pip install --upgrade pip && \
|
|
|
+ pip install magic-pdf[full-cpu] detectron2 --extra-index-url https://myhloli.github.io/wheels/"
|
|
|
+
|
|
|
+# Copy the configuration file template and set up the model directory
|
|
|
+COPY magic-pdf.template.json /root/magic-pdf.json
|
|
|
+
|
|
|
+# 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 \"$@\"", "--"]
|