doeqoth commited on
Commit
25b126e
·
verified ·
1 Parent(s): 0bde93f

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +6 -89
Dockerfile CHANGED
@@ -1,91 +1,8 @@
1
- FROM python:3.10-slim
2
-
3
- # Set environment variables
4
- ENV PYTHONDONTWRITEBYTECODE=1
5
- ENV PYTHONUNBUFFERED=1
6
- ENV DEBIAN_FRONTEND=noninteractive
7
-
8
- # Create non-root user for HF Spaces
9
- RUN useradd -m -u 1000 user
10
- ENV HOME=/home/user
11
- ENV PATH=/home/user/.local/bin:$PATH
12
-
13
- # Install system dependencies for pdf2htmlEX
14
  RUN apt-get update && apt-get install -y --no-install-recommends \
15
- wget \
16
- curl \
17
- git \
18
- build-essential \
19
- cmake \
20
- pkg-config \
21
- libfontforge-dev \
22
- libcairo2-dev \
23
- libpango1.0-dev \
24
- libfreetype6-dev \
25
- libglib2.0-dev \
26
- libjpeg-dev \
27
- libpng-dev \
28
- libopenjp2-7-dev \
29
- libtiff-dev \
30
- libxml2-dev \
31
- libpoppler-dev \
32
- libpoppler-cpp-dev \
33
- libpoppler-glib-dev \
34
- poppler-utils \
35
  fontforge \
36
- fonts-dejavu \
37
- fonts-liberation \
38
- fonts-noto \
39
- fonts-noto-cjk \
40
- fonts-thai-tlwg \
41
- ttf-mscorefonts-installer \
42
- && rm -rf /var/lib/apt/lists/* \
43
- && apt-get clean
44
-
45
- # Install pdf2htmlEX from source
46
- WORKDIR /tmp
47
-
48
- # Clone and build pdf2htmlEX
49
- RUN git clone --depth 1 https://github.com/pdf2htmlEX/pdf2htmlEX.git && \
50
- cd pdf2htmlEX && \
51
- mkdir build && cd build && \
52
- cmake .. -DCMAKE_INSTALL_PREFIX=/usr && \
53
- make -j$(nproc) && \
54
- make install && \
55
- cd /tmp && rm -rf pdf2htmlEX
56
-
57
- # Verify pdf2htmlEX installation
58
- RUN pdf2htmlEX --version || echo "pdf2htmlEX installed"
59
-
60
- # Set working directory
61
- WORKDIR $HOME/app
62
-
63
- # Copy requirements first for caching
64
- COPY --chown=user:user requirements.txt .
65
-
66
- # Switch to non-root user
67
- USER user
68
-
69
- # Install Python dependencies
70
- RUN pip install --no-cache-dir --upgrade pip && \
71
- pip install --no-cache-dir -r requirements.txt
72
-
73
- # Copy application code
74
- COPY --chown=user:user . .
75
-
76
- # Create necessary directories
77
- RUN mkdir -p /home/user/app/temp /home/user/app/output
78
-
79
- # Expose port for Gradio
80
- EXPOSE 7860
81
-
82
- # Set environment variables for Gradio
83
- ENV GRADIO_SERVER_NAME=0.0.0.0
84
- ENV GRADIO_SERVER_PORT=7860
85
-
86
- # Health check
87
- HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
88
- CMD curl -f http://localhost:7860/ || exit 1
89
-
90
- # Run the application
91
- CMD ["python", "app.py"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  RUN apt-get update && apt-get install -y --no-install-recommends \
2
+ wget curl git build-essential cmake pkg-config \
3
+ libcairo2-dev libpango1.0-dev libfreetype6-dev libglib2.0-dev \
4
+ libjpeg-dev libpng-dev libopenjp2-7-dev libtiff-dev libxml2-dev \
5
+ libpoppler-dev libpoppler-cpp-dev libpoppler-glib-dev poppler-utils \
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  fontforge \
7
+ fonts-dejavu fonts-liberation fonts-noto fonts-noto-cjk fonts-thai-tlwg \
8
+ && rm -rf /var/lib/apt/lists/* && apt-get clean