File size: 1,066 Bytes
8387086 0f3ae75 8387086 72c19cd 8387086 0f3ae75 8387086 0f3ae75 8387086 0f3ae75 8387086 0f3ae75 8387086 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | FROM python:3.11-slim
# System dependencies
RUN apt-get update && apt-get install -y \
libgl1 \
libglib2.0-0 \
libsm6 \
libxrender1 \
libxext6 \
ffmpeg \
git \
curl \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Install Python dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir \
opencv-python-headless \
ultralytics \
Pillow \
streamlit \
numpy \
pandas \
python-dotenv \
loguru \
pydantic \
boto3 \
google-cloud-storage
# Pre-download YOLOv8 models at build time (avoids runtime 403)
RUN python -c "from ultralytics import YOLO; YOLO('yolov8n.pt'); YOLO('yolov8s.pt'); print('Models downloaded!')"
# Copy project files
COPY . .
# HuggingFace Spaces port
EXPOSE 7860
ENV STREAMLIT_SERVER_PORT=7860
ENV STREAMLIT_SERVER_ADDRESS=0.0.0.0
ENV STREAMLIT_SERVER_HEADLESS=true
ENV STREAMLIT_BROWSER_GATHER_USAGE_STATS=false
CMD ["streamlit", "run", "dashboard/app.py", \
"--server.port=7860", \
"--server.address=0.0.0.0", \
"--server.headless=true"]
|