Spaces:
Running
Running
| # Dockerfile for container deployment (HF Spaces / Render) | |
| FROM python:3.10-slim | |
| # Install system dependencies required for OpenCV, Whisper, database, and cryptography | |
| RUN apt-get update && apt-get install -y \ | |
| ffmpeg \ | |
| libgl1 \ | |
| libglib2.0-0 \ | |
| build-essential \ | |
| python3-dev \ | |
| libpq-dev \ | |
| libssl-dev \ | |
| libffi-dev \ | |
| pkg-config \ | |
| cargo \ | |
| rustc \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Run from an app working directory | |
| WORKDIR /app | |
| # Copy the application code | |
| COPY . /app | |
| # Install standard Python dependencies | |
| RUN pip install --no-cache-dir --upgrade pip | |
| RUN if [ -f "backend/requirements.txt" ]; then \ | |
| pip install --no-cache-dir --prefer-binary -r backend/requirements.txt; \ | |
| else \ | |
| pip install --no-cache-dir --prefer-binary -r requirements.txt; \ | |
| fi | |
| # Create necessary directories | |
| RUN if [ -d "backend" ]; then \ | |
| mkdir -p backend/ml/weights backend/uploads; \ | |
| else \ | |
| mkdir -p ml/weights uploads; \ | |
| fi | |
| # Expose default port (platform may override via PORT env var) | |
| EXPOSE 7860 | |
| # Run FastAPI using platform PORT when provided. | |
| CMD sh -c "if [ -d 'backend' ]; then cd backend; fi && uvicorn main:app --host 0.0.0.0 --port ${PORT:-7860}" | |