Spaces:
Sleeping
Sleeping
| FROM python:3.10-slim | |
| # System dependencies | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| build-essential \ | |
| git \ | |
| libgl1 \ | |
| libglib2.0-0 \ | |
| libsm6 \ | |
| libxext6 \ | |
| libxrender-dev \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Create app directory | |
| WORKDIR /app | |
| # Step 1: Install PyTorch FIRST (CPU-only to save space) | |
| RUN pip install --no-cache-dir \ | |
| torch torchvision --index-url https://download.pytorch.org/whl/cpu | |
| # Step 2: Install Detectron2 (needs torch already installed) | |
| RUN pip install --no-cache-dir \ | |
| 'git+https://github.com/facebookresearch/detectron2.git' | |
| # Step 3: Install remaining dependencies | |
| RUN pip install --no-cache-dir \ | |
| fastapi>=0.104.0 \ | |
| "uvicorn[standard]>=0.24.0" \ | |
| opencv-python-headless>=4.8.0 \ | |
| numpy>=1.24.0 \ | |
| Pillow>=10.0.0 \ | |
| requests>=2.31.0 \ | |
| huggingface_hub>=0.19.0 \ | |
| python-multipart>=0.0.6 | |
| # Step 4: V5.1 Pipeline — MobileSAM + SigLIP | |
| RUN pip install --no-cache-dir \ | |
| "transformers>=4.40.0" \ | |
| timm>=0.9.0 \ | |
| 'git+https://github.com/ChaoningZhang/MobileSAM.git' | |
| # Copy app code | |
| COPY . . | |
| # Create a non-root user (HF Spaces requirement) | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| # Expose port (HF Spaces uses 7860) | |
| EXPOSE 7860 | |
| # Start the server | |
| CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] | |