Spaces:
Sleeping
Sleeping
| # Use a slim Python base image | |
| FROM python:3.9-slim | |
| RUN pip install --upgrade pip | |
| RUN pip install --no-cache-dir torch | |
| RUN pip install opencv-python | |
| ENV HOME=/tmp | |
| # Optional: also disable anonymous metrics | |
| ENV STREAMLIT_DISABLE_METRICS=true | |
| # 1) System deps (OpenCV, etc.) | |
| RUN apt-get update && apt-get install -y \ | |
| build-essential curl git python3-dev \ | |
| libglib2.0-0 libsm6 libxrender1 libxext6 libgl1-mesa-glx \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 2) Force all configs & caches into /tmp | |
| ENV STREAMLIT_CONFIG_DIR=/tmp/.streamlit | |
| ENV MPLCONFIGDIR=/tmp/.matplotlib | |
| ENV XDG_CACHE_HOME=/tmp/.cache | |
| # ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # 3) Prepare all config/cache under /tmp (now $HOME) | |
| # ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| RUN mkdir -p /tmp/.streamlit /tmp/.cache /tmp/.matplotlib | |
| # 3) Working dir | |
| WORKDIR /app | |
| # 4) Detectron2 prerequisites | |
| COPY setup.sh ./ | |
| RUN chmod +x setup.sh && ./setup.sh | |
| # 6) Install remaining deps (including detectron2) | |
| COPY requirements.txt ./ | |
| RUN pip install -r requirements.txt | |
| # 7) Copy code & model | |
| COPY app.py ./ | |
| COPY model/ ./model/ | |
| EXPOSE 8501 | |
| HEALTHCHECK --interval=30s --timeout=3s \ | |
| CMD curl --fail http://localhost:8501/_stcore/health || exit 1 | |
| ENTRYPOINT ["streamlit","run","app.py","--server.port=8501","--server.address=0.0.0.0"] | |