FROM python:3.9-slim WORKDIR /code # Install system dependencies RUN apt-get update && apt-get install -y \ build-essential \ curl \ software-properties-common \ git \ ffmpeg \ libsndfile1 \ && rm -rf /var/lib/apt/lists/* # Create cache directory with proper permissions RUN mkdir -p /.cache && \ chmod -R 777 /.cache && \ mkdir -p /.cache/huggingface && \ chmod -R 777 /.cache/huggingface # Set environment variables ENV TRANSFORMERS_CACHE=/.cache/huggingface ENV HF_HOME=/.cache/huggingface ENV PYTHONUNBUFFERED=1 ENV DEBIAN_FRONTEND=noninteractive ENV HOME=/.cache ENV TRUST_REMOTE_CODE=1 ENV TRANSFORMERS_OFFLINE=1 # Copy requirements first for better caching COPY requirements.txt . # Install Python dependencies RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir \ numpy==1.24.3 \ torch==1.13.1 \ flask==2.0.1 \ flask-cors==5.0.1 \ transformers==4.30.2 \ sentence-transformers==2.2.2 \ huggingface-hub==0.16.4 \ accelerate==0.20.3 \ faiss-cpu==1.7.4 \ pandas==1.5.3 \ geopy==2.3.0 \ geocoder==1.38.1 \ cloudinary==1.33.0 \ pydub==0.25.1 \ SpeechRecognition==3.10.0 \ webrtcvad==2.0.10 \ happytransformer==2.4.1 \ Werkzeug==2.0.3 \ pyngrok==7.0.0 \ safetensors==0.3.1 # Copy the rest of the application COPY . . # Make port 7860 available EXPOSE 7860 # Run the application CMD ["python", "app.py"]