hellorahulk commited on
Commit
89561b9
·
verified ·
1 Parent(s): 5219df3

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +15 -13
Dockerfile CHANGED
@@ -5,6 +5,7 @@ RUN apt-get update && apt-get install -y \
5
  wget \
6
  gnupg \
7
  fontconfig \
 
8
  && rm -rf /var/lib/apt/lists/*
9
 
10
  # Create non-root user
@@ -29,22 +30,11 @@ WORKDIR /app
29
 
30
  # Create and set permissions for cache directories
31
  RUN mkdir -p /home/crawler/.cache/fontconfig \
 
32
  && mkdir -p /home/crawler/.crawl4ai \
33
  && chown -R crawler:crawler /home/crawler \
34
  && chown -R crawler:crawler /app
35
 
36
- # Copy requirements and install Python dependencies
37
- COPY requirements.txt .
38
- RUN pip install --no-cache-dir -r requirements.txt
39
-
40
- # Install Playwright browsers
41
- RUN playwright install chromium
42
- RUN playwright install-deps
43
-
44
- # Copy application code
45
- COPY . .
46
- RUN chown -R crawler:crawler /app
47
-
48
  # Set environment variables
49
  ENV PYTHONUNBUFFERED=1
50
  ENV GRADIO_SERVER_NAME=0.0.0.0
@@ -52,10 +42,22 @@ ENV GRADIO_SERVER_PORT=7860
52
  ENV HOME=/home/crawler
53
  ENV FONTCONFIG_PATH=/etc/fonts
54
  ENV XDG_CACHE_HOME=/home/crawler/.cache
 
 
55
 
56
- # Switch to non-root user
57
  USER crawler
58
 
 
 
 
 
 
 
 
 
 
 
59
  # Expose port
60
  EXPOSE 7860
61
 
 
5
  wget \
6
  gnupg \
7
  fontconfig \
8
+ build-essential \
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
  # Create non-root user
 
30
 
31
  # Create and set permissions for cache directories
32
  RUN mkdir -p /home/crawler/.cache/fontconfig \
33
+ && mkdir -p /home/crawler/.cache/pip \
34
  && mkdir -p /home/crawler/.crawl4ai \
35
  && chown -R crawler:crawler /home/crawler \
36
  && chown -R crawler:crawler /app
37
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  # Set environment variables
39
  ENV PYTHONUNBUFFERED=1
40
  ENV GRADIO_SERVER_NAME=0.0.0.0
 
42
  ENV HOME=/home/crawler
43
  ENV FONTCONFIG_PATH=/etc/fonts
44
  ENV XDG_CACHE_HOME=/home/crawler/.cache
45
+ ENV PIP_CACHE_DIR=/home/crawler/.cache/pip
46
+ ENV PYTHONDONTWRITEBYTECODE=1
47
 
48
+ # Switch to non-root user for pip installations
49
  USER crawler
50
 
51
+ # Copy requirements and install Python dependencies
52
+ COPY --chown=crawler:crawler requirements.txt .
53
+ RUN pip install --no-cache-dir --user -r requirements.txt
54
+
55
+ # Install Playwright browsers
56
+ RUN python -m playwright install chromium --with-deps
57
+
58
+ # Copy application code
59
+ COPY --chown=crawler:crawler . .
60
+
61
  # Expose port
62
  EXPOSE 7860
63