690525:1418 ADR-028-228-migration-OCR #01
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# File: specs/04-Infrastructure-OPS/04-00-docker-compose/Desk-5439/ocr-sidecar/Dockerfile
|
||||
# PaddleOCR Sidecar — HTTP API server สำหรับสกัดข้อความจาก PDF/Image
|
||||
# รันบน Desk-5439 (GPU RTX 2060 Super 8GB) ตาม ADR-023A
|
||||
# Change Log:
|
||||
# - 2026-05-25: Initial Dockerfile สำหรับ PaddleOCR sidecar (port 8765)
|
||||
|
||||
FROM python:3.10-slim
|
||||
|
||||
# ติดตั้ง system dependencies สำหรับ PDF processing และ image library
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libglib2.0-0 \
|
||||
libgl1 \
|
||||
libgomp1 \
|
||||
poppler-utils \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# ติดตั้ง Python dependencies
|
||||
# ใช้ paddlepaddle-gpu สำหรับ GPU acceleration (RTX 2060 Super — CUDA 11.x)
|
||||
# เปลี่ยนเป็น paddlepaddle (CPU only) ถ้าต้องการ fallback
|
||||
COPY requirements.txt .
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# Copy source code
|
||||
COPY app.py .
|
||||
|
||||
# Download PaddleOCR models ล่วงหน้าระหว่าง build (ลด cold-start time)
|
||||
# โมเดลภาษาไทย (th) + อังกฤษ (en) ตาม ADR-023A
|
||||
RUN python -c "from paddleocr import PaddleOCR; PaddleOCR(use_angle_cls=True, lang='en', use_gpu=False)"
|
||||
|
||||
EXPOSE 8765
|
||||
|
||||
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
|
||||
CMD curl -f http://localhost:8765/health || exit 1
|
||||
|
||||
CMD ["python", "app.py"]
|
||||
Reference in New Issue
Block a user