# 파이썬 3.9 버전을 기반으로 하는 경량 이미지를 사용합니다. FROM python:3.9-slim # Docker 컨테이너의 작업 디렉토리를 /app으로 설정합니다. WORKDIR /app # Hugging Face 및 Sentence Transformers 캐시 경로 지정 ENV SENTENCE_TRANSFORMERS_HOME=/app/.cache \ HUGGINGFACE_HUB_CACHE=/app/.cache \ HF_HOME=/app/.cache # 캐시 폴더 생성 및 권한 부여 RUN mkdir -p /app/.cache && chmod -R 777 /app/.cache # requirements.txt 복사 및 패키지 설치 COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # 앱 소스 복사 COPY . . # 빌드 시 모델 미리 다운로드 RUN python -c "from huggingface_hub import snapshot_download; snapshot_download(repo_id='nlpai-lab/KURE-v1', local_dir='/app/.cache/nlpai-lab/KURE-v1')" \ && chmod -R 777 /app/.cache # Gunicorn + Uvicorn 실행 CMD ["gunicorn", "-w", "4", "-k", "uvicorn.workers.UvicornWorker", "app:app", "--bind", "0.0.0.0:7860"]