bla commited on
Commit
a52ed1a
·
verified ·
1 Parent(s): 87d8560

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +58 -8
Dockerfile CHANGED
@@ -30,15 +30,65 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
30
 
31
  RUN pip install huggingface_hub huggingface
32
  # Expose port
33
- EXPOSE 7860
34
- # Pre-download PaddleOCR models to default location (/root/.paddleocr)
35
- # Pre-download PaddleOCR models (downloads to /root/.paddleocr)
36
- RUN python -c "from paddleocr import PaddleOCR; ocr = PaddleOCR(use_angle_cls=True, lang='en', show_log=False)"
37
-
38
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
 
 
 
40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
 
 
 
42
 
43
- # Run the application
44
- CMD ["python", "app.py"]
 
30
 
31
  RUN pip install huggingface_hub huggingface
32
  # Expose port
33
+ # Download PaddleOCR models manually
34
+ RUN mkdir -p /app/paddle_models/det /app/paddle_models/rec /app/paddle_models/cls
35
+
36
+ # Download detection model
37
+ RUN wget -O /app/paddle_models/det/en_PP-OCRv3_det_infer.tar \
38
+ "https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_infer.tar" && \
39
+ cd /app/paddle_models/det && \
40
+ tar -xf en_PP-OCRv3_det_infer.tar && \
41
+ rm en_PP-OCRv3_det_infer.tar
42
+
43
+ # Download recognition model
44
+ RUN wget -O /app/paddle_models/rec/en_PP-OCRv4_rec_infer.tar \
45
+ "https://paddleocr.bj.bcebos.com/PP-OCRv4/english/en_PP-OCRv4_rec_infer.tar" && \
46
+ cd /app/paddle_models/rec && \
47
+ tar -xf en_PP-OCRv4_rec_infer.tar && \
48
+ rm en_PP-OCRv4_rec_infer.tar
49
+
50
+ # Download classification model
51
+ RUN wget -O /app/paddle_models/cls/ch_ppocr_mobile_v2.0_cls_infer.tar \
52
+ "https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar" && \
53
+ cd /app/paddle_models/cls && \
54
+ tar -xf ch_ppocr_mobile_v2.0_cls_infer.tar && \
55
+ rm ch_ppocr_mobile_v2.0_cls_infer.tar
56
 
57
+ # Copy application files
58
+ COPY app.py .
59
 
60
+ # Create startup script
61
+ RUN echo '#!/bin/bash\n\
62
+ set -e\n\
63
+ \n\
64
+ # Create required directories with proper permissions\n\
65
+ mkdir -p /.paddleocr/whl/det/en/en_PP-OCRv3_det_infer\n\
66
+ mkdir -p /.paddleocr/whl/rec/en/en_PP-OCRv4_rec_infer\n\
67
+ mkdir -p /.paddleocr/whl/cls/ch_ppocr_mobile_v2.0_cls_infer\n\
68
+ mkdir -p /.config/matplotlib\n\
69
+ mkdir -p /.config/Ultralytics\n\
70
+ \n\
71
+ # Copy models to expected locations\n\
72
+ cp -r /app/paddle_models/det/en_PP-OCRv3_det_infer/* /.paddleocr/whl/det/en/en_PP-OCRv3_det_infer/\n\
73
+ cp -r /app/paddle_models/rec/en_PP-OCRv4_rec_infer/* /.paddleocr/whl/rec/en/en_PP-OCRv4_rec_infer/\n\
74
+ cp -r /app/paddle_models/cls/ch_ppocr_mobile_v2.0_cls_infer/* /.paddleocr/whl/cls/ch_ppocr_mobile_v2.0_cls_infer/\n\
75
+ \n\
76
+ # Set permissions\n\
77
+ chmod -R 777 /.paddleocr /.config /content\n\
78
+ \n\
79
+ # Start the application\n\
80
+ exec python app.py\n\
81
+ ' > /app/start.sh && chmod +x /app/start.sh
82
+
83
+ # Set environment variables
84
+ ENV MPLCONFIGDIR=/.config/matplotlib
85
+ ENV YOLO_CONFIG_DIR=/.config/Ultralytics
86
+
87
+ # Set permissions
88
+ RUN chmod -R 766 /app /content
89
 
90
+ # Expose port
91
+ EXPOSE 7860
92
 
93
+ # Run startup script
94
+ CMD ["/app/start.sh"]