PraneshJs commited on
Commit
e02a479
·
verified ·
1 Parent(s): 4124238

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +48 -0
Dockerfile ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Use Playwright python image (Chromium + deps preinstalled)
2
+ FROM mcr.microsoft.com/playwright/python:v1.44.0-jammy
3
+
4
+ ENV PYTHONUNBUFFERED=1
5
+ WORKDIR /app
6
+
7
+ # Fix SSL/TLS issues
8
+ ENV PYTHONHTTPSVERIFY=0
9
+ ENV SSL_VERIFY=false
10
+ ENV REQUESTS_CA_BUNDLE=""
11
+ ENV CURL_CA_BUNDLE=""
12
+
13
+ # Update certificates and install network tools
14
+ RUN apt-get update && apt-get install -y \
15
+ ca-certificates \
16
+ curl \
17
+ wget \
18
+ openssl \
19
+ && update-ca-certificates \
20
+ && apt-get clean \
21
+ && rm -rf /var/lib/apt/lists/*
22
+
23
+ # Copy requirements first to leverage caching
24
+ COPY requirements.txt /app/requirements.txt
25
+
26
+ # Install Python dependencies with SSL fixes
27
+ RUN pip install --no-cache-dir --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org -r requirements.txt
28
+
29
+ # Install Playwright browser with dependencies
30
+ RUN python -m playwright install --with-deps chromium
31
+
32
+ # Run Crawl4AI setup
33
+ RUN crawl4ai-setup
34
+
35
+ # Run Crawl4AI doctor (diagnostics)
36
+ RUN crawl4ai-doctor || true
37
+
38
+ # Copy rest of application
39
+ COPY . /app
40
+
41
+ # Make start script executable
42
+ RUN chmod +x /app/start.sh
43
+
44
+ # Use non-root user that Playwright image provides
45
+ USER pwuser
46
+
47
+ # Start backend with gunicorn
48
+ CMD ["python", "app.py"]