FROM python:3.9 WORKDIR /app # Install git, git-lfs, and build dependencies for native extensions RUN apt-get update && \ apt-get install -y git git-lfs build-essential cmake pkg-config libpq-dev gcc g++ && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # Copy requirements file COPY requirements.txt . # Install dependencies with pip upgrade RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir --upgrade -r requirements.txt # Pre-download NLTK data during build time RUN python -c "import nltk; nltk.download('punkt'); nltk.download('wordnet'); nltk.download('stopwords')" && \ mkdir -p /app/nltk_data && \ cp -r /root/nltk_data/* /app/nltk_data/ && \ chmod -R 755 /app/nltk_data # Create necessary directories RUN mkdir -p data/users data/sessions data/conversations data/feedback && \ mkdir -p mental_health_model_artifacts/chroma_db # Copy application files COPY app.py . COPY .env.example .env COPY api_mental_health.py . COPY run_api.sh . # Copy model artifacts directory COPY mental_health_model_artifacts/ mental_health_model_artifacts/ # Make the script executable RUN chmod +x run_api.sh # Expose the port Hugging Face Spaces expects EXPOSE 7860 # Command to run the application CMD ["./run_api.sh"]