sksameermujahid commited on
Commit
6b46e7b
·
verified ·
1 Parent(s): da1d309

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +57 -54
Dockerfile CHANGED
@@ -1,54 +1,57 @@
1
- FROM python:3.10-slim
2
-
3
- # Create a non-root user
4
- RUN useradd -m -u 1000 user
5
- USER user
6
- ENV PATH="/home/user/.local/bin:$PATH"
7
-
8
- # Set working directory
9
- WORKDIR /app
10
-
11
- # Install system dependencies
12
- USER root
13
- RUN apt-get update && apt-get install -y \
14
- tesseract-ocr \
15
- tesseract-ocr-eng \
16
- && rm -rf /var/lib/apt/lists/*
17
-
18
- # Create necessary directories with proper permissions
19
- RUN mkdir -p /app/logs \
20
- && mkdir -p /app/cache \
21
- && mkdir -p /app/uploads \
22
- && mkdir -p /app/model_cache \
23
- && mkdir -p /app/temp \
24
- && chown -R user:user /app
25
-
26
- # Switch back to non-root user
27
- USER user
28
-
29
- # Copy requirements first to leverage Docker cache
30
- COPY --chown=user:user requirements.txt .
31
-
32
- # Install Python dependencies
33
- RUN pip install --no-cache-dir --user -r requirements.txt
34
-
35
- # Download spaCy model
36
- RUN python -m spacy download en_core_web_md
37
-
38
- # Copy application code
39
- COPY --chown=user:user . .
40
-
41
- # Set environment variables
42
- ENV PYTHONUNBUFFERED=1
43
- ENV FLASK_APP=app.py
44
- ENV FLASK_ENV=production
45
- ENV TRANSFORMERS_CACHE=/app/cache
46
- ENV HF_HOME=/app/cache
47
- ENV XDG_CACHE_HOME=/app/cache
48
- ENV LOG_DIR=/app/logs
49
-
50
- # Expose port
51
- EXPOSE 7860
52
-
53
- # Run the application
54
- CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--workers", "1", "--threads", "8", "--timeout", "0", "app:app"]
 
 
 
 
1
+ FROM python:3.10-slim
2
+
3
+ # Create a non-root user
4
+ RUN useradd -m -u 1000 user
5
+ USER user
6
+ ENV PATH="/home/user/.local/bin:$PATH"
7
+
8
+ # Set working directory
9
+ WORKDIR /app
10
+
11
+ # Install system dependencies
12
+ USER root
13
+ RUN apt-get update && apt-get install -y \
14
+ tesseract-ocr \
15
+ tesseract-ocr-eng \
16
+ && rm -rf /var/lib/apt/lists/*
17
+
18
+ # Create necessary directories with proper permissions
19
+ RUN mkdir -p /app/logs \
20
+ && mkdir -p /app/cache \
21
+ && mkdir -p /app/uploads \
22
+ && mkdir -p /app/model_cache \
23
+ && mkdir -p /app/temp \
24
+ && chown -R user:user /app
25
+
26
+ # Switch back to non-root user
27
+ USER user
28
+
29
+ # Upgrade pip
30
+ RUN pip install --upgrade pip
31
+
32
+ # Copy requirements first to leverage Docker cache
33
+ COPY --chown=user:user requirements.txt .
34
+
35
+ # Install Python dependencies
36
+ RUN pip install --no-cache-dir --user -r requirements.txt
37
+
38
+ # Download spaCy model
39
+ RUN python -m spacy download en_core_web_md
40
+
41
+ # Copy application code
42
+ COPY --chown=user:user . .
43
+
44
+ # Set environment variables
45
+ ENV PYTHONUNBUFFERED=1
46
+ ENV FLASK_APP=app.py
47
+ ENV FLASK_ENV=production
48
+ ENV TRANSFORMERS_CACHE=/app/cache
49
+ ENV HF_HOME=/app/cache
50
+ ENV XDG_CACHE_HOME=/app/cache
51
+ ENV LOG_DIR=/app/logs
52
+
53
+ # Expose port
54
+ EXPOSE 7860
55
+
56
+ # Run the application
57
+ CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--workers", "1", "--threads", "8", "--timeout", "0", "app:app"]