# 1. 고성능 인스턴스 대응을 위한 베이스 이미지 FROM python:3.10-slim # 2. 필수 시스템 패키지 설치 RUN apt-get update && apt-get install -y \ git \ git-lfs \ libgomp1 \ gcc \ python3-dev \ libgcc-s1 \ && rm -rf /var/lib/apt/lists/* # 3. 사용자 환경 설정 RUN useradd -m -u 1000 user USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH \ PYTHONUNBUFFERED=1 \ GRADIO_SERVER_NAME="0.0.0.0" \ GRADIO_SERVER_PORT=7860 \ GRADIO_ALLOW_FLAGGING="never" WORKDIR $HOME/app # 4. 의존성 설치 (캐시 활용을 위해 먼저 복사) COPY --chown=user requirements.txt . RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt # 5. 소스 코드 복사 COPY --chown=user . . # 6. LFS 파일이 포인터로만 복사되었을 경우를 대비해 실제 파일 체크아웃 # (git lfs pull은 .git 폴더가 없으면 무시됨 - 안전) RUN git lfs install --skip-repo 2>/dev/null || true # 6. 포트 개방 (Hugging Face 고정 포트) EXPOSE 7860 # 7. 실행 CMD ["python", "app.py"]