vasdevaman6 commited on
Commit
8e65651
·
verified ·
1 Parent(s): 754af72

Upload Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +22 -18
Dockerfile CHANGED
@@ -1,36 +1,40 @@
1
- # 1. Base Image
2
  FROM python:3.10-slim
3
 
4
- # 2. Environment variable
5
- ENV PYTHONUNBUFFERED 1
6
- ENV PORT 7860
7
 
8
- # 3. System Dependencies (for image processing & OCR)
9
  RUN apt-get update && \
10
  apt-get install -y --no-install-recommends \
11
  libgl1 \
12
  libgomp1 \
13
- libsm6 libxext6 \
14
  && apt-get clean && rm -rf /var/lib/apt/lists/*
15
 
16
- # 4. Working directory
17
  WORKDIR /app
18
 
19
- # 5. Copy & install Python dependencies
20
  COPY requirements.txt .
21
  RUN pip install --no-cache-dir -r requirements.txt
22
 
23
- # 6. Create writable directories
24
- RUN mkdir -p /app/easyocr_models
25
- RUN mkdir -p /app/models
26
- RUN mkdir -p /app/uploads
27
- RUN chmod -R 777 /app/easyocr_models /app/models /app/uploads
28
 
29
- # 7. Copy CNN model
30
- COPY cnn_model.h5 /app/models/cnn_model.h5
31
-
32
- # 8. Copy rest of your application
33
  COPY . .
34
 
35
- # 9. Run the application using Gunicorn
 
 
 
 
 
 
 
 
 
 
36
  CMD exec gunicorn --bind 0.0.0.0:$PORT --workers 1 --threads 8 app:app
 
1
+ # 1. Base Image: Use a stable, slim Python image
2
  FROM python:3.10-slim
3
 
4
+ # Ensure Python output is not buffered
5
+ ENV PYTHONUNBUFFERED=1
 
6
 
7
+ # 2. Install system dependencies required for image processing & EasyOCR
8
  RUN apt-get update && \
9
  apt-get install -y --no-install-recommends \
10
  libgl1 \
11
  libgomp1 \
12
+ libsm6 libxext6 libxrender1 \
13
  && apt-get clean && rm -rf /var/lib/apt/lists/*
14
 
15
+ # 3. Set the working directory
16
  WORKDIR /app
17
 
18
+ # 4. Copy dependency file and install Python packages
19
  COPY requirements.txt .
20
  RUN pip install --no-cache-dir -r requirements.txt
21
 
22
+ # 5. Fix EasyOCR permission issue by pre-creating writable directories
23
+ RUN mkdir -p /.EasyOCR && chmod -R 777 /.EasyOCR
24
+ RUN mkdir -p /app/easyocr_models && chmod -R 777 /app/easyocr_models
 
 
25
 
26
+ # 6. Copy all project files into the container
 
 
 
27
  COPY . .
28
 
29
+ # 7. (Optional but recommended) Verify model files exist
30
+ # You can uncomment this line for debugging:
31
+ # RUN ls -al /app
32
+
33
+ # 8. Environment variables for the app
34
+ ENV PORT=7860
35
+
36
+ # 9. Expose the port (Hugging Face uses this automatically)
37
+ EXPOSE 7860
38
+
39
+ # 10. Command to run the app via Gunicorn (production-grade WSGI server)
40
  CMD exec gunicorn --bind 0.0.0.0:$PORT --workers 1 --threads 8 app:app