Spaces:
Runtime error
Runtime error
| # Hugging Face Space: Streamlit on port 7860 (required by HF) | |
| FROM python:3.10-slim | |
| WORKDIR /app | |
| # System deps: libxcb for OpenCV/rembg; cmake for torchmcubes; ffmpeg for imageio; xvfb for TripoSR texture baking (ModernGL needs a display) | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| build-essential \ | |
| cmake \ | |
| curl \ | |
| ffmpeg \ | |
| git \ | |
| libxcb1 \ | |
| libxcb-shm0 \ | |
| libxcb-render0 \ | |
| libxcb-shape0 \ | |
| libxcb-xfixes0 \ | |
| xauth \ | |
| xvfb \ | |
| && rm -rf /var/lib/apt/lists/* | |
| COPY requirements.txt requirements-docker.txt ./ | |
| # Install CPU-only PyTorch first so torchmcubes can build without CUDA (Docker build has no GPU/CUDA). | |
| # If we install default torch (CUDA wheel), CMake fails: "Your installed Caffe2 version uses CUDA but I cannot find CUDA". | |
| RUN pip install --no-cache-dir torch torchvision --index-url https://download.pytorch.org/whl/cpu | |
| # Install rest of deps without touching torch/torchvision (requirements-docker.txt omits them) | |
| RUN pip install --no-cache-dir -r requirements-docker.txt | |
| # torchmcubes: build deps for --no-build-isolation (scikit-build-core, pybind11, ninja) | |
| RUN pip install --no-cache-dir scikit-build-core pybind11 ninja | |
| # torchmcubes must be built after torch is installed (CMake needs TorchConfig.cmake); CPU Torch = no CUDA required at build. | |
| RUN pip install --no-cache-dir --no-build-isolation "git+https://github.com/tatsy/torchmcubes.git" | |
| # TripoSR repo (model downloaded at runtime from Hugging Face) | |
| RUN git clone --depth 1 https://github.com/VAST-AI-Research/TripoSR.git TripoSR | |
| COPY app.py . | |
| COPY scripts/ ./scripts/ | |
| COPY pages/ ./pages/ | |
| COPY .streamlit/ ./.streamlit/ | |
| COPY entrypoint.sh /app/entrypoint.sh | |
| RUN chmod +x /app/entrypoint.sh | |
| # HF Spaces expose port 7860 | |
| EXPOSE 7860 | |
| HEALTHCHECK CMD curl --fail http://localhost:7860/_stcore/health || true | |
| # Start Xvfb in background then Streamlit (avoids xvfb-run which can hang in HF Spaces) | |
| ENTRYPOINT ["/app/entrypoint.sh"] | |