Spaces:
Paused
Paused
Update Dockerfile
Browse files- 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 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
|
|
|
|
|
|
|
| 40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
|
|
|
|
|
|
|
| 42 |
|
| 43 |
-
# Run
|
| 44 |
-
CMD ["
|
|
|
|
| 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"]
|