marcosremar2 commited on
Commit
5f5a1d2
·
1 Parent(s): 422f10d

Update PDF to Markdown converter API with NVIDIA L4 support

Browse files
Files changed (2) hide show
  1. Dockerfile +19 -5
  2. app/main.py +2 -2
Dockerfile CHANGED
@@ -25,11 +25,25 @@ RUN apt-get update && \
25
 
26
  RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
27
 
28
- # Create app directory
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  WORKDIR /app
30
 
31
- # Copy requirements first
32
- COPY requirements.txt .
33
 
34
  # Install PyTorch dependencies with explicit compatible versions for NVIDIA L4
35
  RUN pip3 install --no-cache-dir --upgrade pip && \
@@ -37,8 +51,8 @@ RUN pip3 install --no-cache-dir --upgrade pip && \
37
  pip3 install --no-cache-dir transformers==4.36.2 && \
38
  pip3 install --no-cache-dir -r requirements.txt
39
 
40
- # Copy the rest of the application
41
- COPY . .
42
 
43
  # Expose port
44
  EXPOSE 7860
 
25
 
26
  RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
27
 
28
+ # Create user with UID 1000 (required for Hugging Face Spaces)
29
+ RUN useradd -m -u 1000 user
30
+
31
+ # Create necessary directories and set permissions
32
+ RUN mkdir -p /app /app/docker_mineru /app/docker_mineru/output /app/docker_mineru/output/images && \
33
+ chown -R user:user /app
34
+
35
+ # Switch to user
36
+ USER user
37
+
38
+ # Set home directory
39
+ ENV HOME=/home/user \
40
+ PATH=/home/user/.local/bin:$PATH
41
+
42
+ # Set working directory
43
  WORKDIR /app
44
 
45
+ # Copy requirements first (with correct ownership)
46
+ COPY --chown=user requirements.txt .
47
 
48
  # Install PyTorch dependencies with explicit compatible versions for NVIDIA L4
49
  RUN pip3 install --no-cache-dir --upgrade pip && \
 
51
  pip3 install --no-cache-dir transformers==4.36.2 && \
52
  pip3 install --no-cache-dir -r requirements.txt
53
 
54
+ # Copy the rest of the application with correct ownership
55
+ COPY --chown=user . .
56
 
57
  # Expose port
58
  EXPOSE 7860
app/main.py CHANGED
@@ -16,8 +16,8 @@ sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
16
  from pdf_converter import convert_pdf_to_md
17
 
18
  # --- Configuration for output directory ---
19
- # Always use the local output directory
20
- output_dir = "docker_mineru/output"
21
 
22
  images_dir = os.path.join(output_dir, "images")
23
 
 
16
  from pdf_converter import convert_pdf_to_md
17
 
18
  # --- Configuration for output directory ---
19
+ # In Docker container, use /app prefix
20
+ output_dir = "/app/docker_mineru/output"
21
 
22
  images_dir = os.path.join(output_dir, "images")
23