FROM python:3.11-slim # (권장) opencv/ffmpeg 의존성 RUN apt-get update && apt-get install -y --no-install-recommends \ libgl1 libglib2.0-0 ffmpeg && \ rm -rf /var/lib/apt/lists/* WORKDIR /app # 파이썬 패키지 COPY requirements.txt /app/requirements.txt RUN pip install --no-cache-dir -r requirements.txt # 앱 복사 (이 순서 중요) COPY . /app # ❗ 가중치 파일을 "명시적으로" 복사 (와일드카드/폴더 누락 방지) COPY models/yolo11n.pt /app/models/yolo11n.pt # 권한 보장(비루트 실행 대비) + 존재 확인(없으면 빌드 실패) RUN chmod 644 /app/models/yolo11n.pt && \ chmod 755 /app/models && \ ls -lh /app/models && \ test -f /app/models/yolo11n.pt || (echo "❌ weights missing"; exit 1) # 절대경로로 고정 ENV YOLO_MODEL=/app/models/yolo11n.pt EXPOSE 7860 CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]