41 lines
1.0 KiB
Docker
41 lines
1.0 KiB
Docker
# 1. 베이스 이미지 설정 (안정적인 bookworm 버전 사용)
|
|
FROM python:3.9-slim-bookworm
|
|
|
|
# 2. 시스템 의존성 설치 (OCR, PDF, Playwright 관련 핵심 라이브러리)
|
|
RUN apt-get update && apt-get install -y \
|
|
tesseract-ocr \
|
|
libtesseract-dev \
|
|
poppler-utils \
|
|
libgl1 \
|
|
libnss3 \
|
|
libnspr4 \
|
|
libatk1.0-0 \
|
|
libatk-bridge2.0-0 \
|
|
libcups2 \
|
|
libdrm2 \
|
|
libxkbcommon0 \
|
|
libxcomposite1 \
|
|
libxdamage1 \
|
|
libxrandr2 \
|
|
libgbm1 \
|
|
libpango-1.0-0 \
|
|
libcairo2 \
|
|
libasound2 \
|
|
fonts-liberation \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# 3. 작업 디렉토리 설정
|
|
WORKDIR /app
|
|
|
|
# 4. 필요한 패키지 설치
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
# 브라우저만 설치 (의존성은 위에서 설치함)
|
|
RUN playwright install chromium
|
|
|
|
# 5. 프로젝트 전체 파일 복사
|
|
COPY . .
|
|
|
|
# 6. 서버 구동
|
|
CMD ["uvicorn", "server:app", "--host", "0.0.0.0", "--port", "8000"]
|