File size: 1,190 Bytes
fbd1091
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 영웅문 S# AI 메뉴 검색 — FastAPI 검색 에이전트 이미지 (docker-compose / 사내 서버용)
# Qdrant는 별도 컨테이너(server 모드)에 연결한다. HF Spaces 배포는 루트 Dockerfile 참고.
FROM python:3.13-slim

WORKDIR /app

# 빌드 도구 (sentence-transformers/kiwipiepy 등 일부 소스 빌드 대비)
RUN apt-get update && apt-get install -y --no-install-recommends \
        build-essential curl \
    && rm -rf /var/lib/apt/lists/*

# torch는 CPU 전용 휠로 설치 (기본 설치 시 거대한 CUDA 빌드를 받는 것 방지)
RUN pip install --no-cache-dir torch --index-url https://download.pytorch.org/whl/cpu

# 의존성 (소스보다 먼저 복사 → 레이어 캐시 활용)
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# 애플리케이션 코드
COPY . .

# bge-m3 모델 캐시 위치 (compose에서 named volume으로 마운트 → 재빌드 시 재다운로드 방지)
ENV HF_HOME=/app/.hf_cache \
    TRANSFORMERS_OFFLINE=0 \
    TOKENIZERS_PARALLELISM=false \
    PYTHONUNBUFFERED=1

ENTRYPOINT ["bash", "docker-entrypoint.sh"]
CMD ["uvicorn", "api.main:app", "--host", "0.0.0.0", "--port", "8000"]