# Use an official Python runtime FROM python:3.9-slim # Set environment variables ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 ENV NLTK_DATA /app/nltk_data # Set working directory WORKDIR /app # Install system dependencies RUN apt-get update && apt-get install -y \ build-essential \ && rm -rf /var/lib/apt/lists/* # Create NLTK data directory RUN mkdir -p /app/nltk_data # Copy dependency files COPY requirements.txt . # Install Python dependencies RUN pip install -r requirements.txt # Download NLTK data to the correct directory RUN python -c "import nltk; nltk.download('wordnet', download_dir='/app/nltk_data'); \ nltk.download('punkt', download_dir='/app/nltk_data'); \ nltk.download('averaged_perceptron_tagger', download_dir='/app/nltk_data'); \ nltk.download('stopwords', download_dir='/app/nltk_data')" # Copy the rest of the app COPY . . # Expose port EXPOSE 7860 # Run the app CMD gunicorn --bind 0.0.0.0:7860 app:app