# 1. 파이썬 버전을 3.10으로 설정 FROM python:3.11-slim # 2. 필요한 시스템 패키지 및 git-lfs 설치 RUN pip install --no-cache-dir hf_transfer>=0.1.6 RUN apt-get update && apt-get install -y \ build-essential \ curl \ git \ git-lfs \ && rm -rf /var/lib/apt/lists/* # 3. 작업 디렉터리 설정 WORKDIR /app # 4. 소스 코드 복사 COPY . /app # 5. Git LFS 설정 및 대용량 파일 다운로드 RUN git lfs install && \ git lfs pull # 6. 파이썬 라이브러리 설치 RUN pip install --no-cache-dir -r requirements.txt # 7. 스트림릿이 사용할 설정 폴더를 미리 만들고 권한 부여 (PermissionError 해결) # 권한/경로 고정 ENV HOME=/app ENV STREAMLIT_HOME=/app/.streamlit RUN mkdir -p /app/.streamlit && chmod -R 777 /app/.streamlit # 권장: 캐시 경로를 환경변수로 고정 ENV HF_HOME=/tmp/hf-home \ TRANSFORMERS_CACHE=/tmp/hf-cache \ HUGGINGFACE_HUB_CACHE=/tmp/hf-cache \ TORCH_HOME=/tmp/torch-cache \ XDG_CACHE_HOME=/tmp/xdg-cache RUN mkdir -p /tmp/hf-home /tmp/hf-cache /tmp/torch-cache /tmp/xdg-cache # 8. 포트 개방 EXPOSE 8501 # 9. 앱 실행 (PermissionError 추가 방지) CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.fileWatcherType=none"]