# HF Spaces (Docker SDK) — Streamlit 구동. # 벡터DB(data/chroma)는 이미지에 포함하지 않고, 앱 시작 시 HF private 데이터셋에서 # 토큰으로 내려받는다(rag/common.ensure_corpus). BGE-M3 임베더·리랭커는 최초 기동 시 # HF Hub에서 HF_HOME 캐시로 다운로드된다. FROM python:3.11-slim RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential git curl && \ rm -rf /var/lib/apt/lists/* # 비루트 사용자 (HF Spaces 권장) RUN useradd -m -u 1000 user USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH \ HF_HOME=/home/user/.cache/huggingface \ STREAMLIT_SERVER_PORT=7860 \ STREAMLIT_SERVER_ADDRESS=0.0.0.0 \ STREAMLIT_SERVER_HEADLESS=true \ STREAMLIT_BROWSER_GATHER_USAGE_STATS=false WORKDIR /home/user/app COPY --chown=user requirements.txt . RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt COPY --chown=user . . EXPOSE 7860 CMD ["streamlit", "run", "rag/app.py", "--server.port=7860", "--server.address=0.0.0.0"]