janshakti-backend / Dockerfile
varunka's picture
backend fix
a8c4d41
# 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}"