# FROM python:3.10-slim # # WORKDIR /app # # COPY . /app # # RUN chmod -R 777 /app # # RUN apt-get update && \ # apt-get upgrade -y && \ # apt-get install -y \ # build-essential \ # git \ # cmake \ # poppler-utils \ # ffmpeg \ # libsm6 \ # libxext6 && \ # apt-get clean && \ # rm -rf /var/lib/apt/lists/* # # RUN pip install --no-cache-dir nltk && \ # mkdir -p /app/nltk_data && \ # chmod -R 777 /app/nltk_data && \ # python -m nltk.downloader -d /app/nltk_data all # # RUN pip install --no-cache-dir --upgrade pip && \ # pip install --no-cache-dir -r requirements.txt # # EXPOSE 8000 # # CMD ["python", "app.py"] FROM python:3.10-slim # Create a non-root user and set up environment RUN useradd -m -u 1000 appuser ENV HOME=/home/appuser ENV PATH=$HOME/.local/bin:$PATH # Switch to the app user's home directory for proper permissions WORKDIR /app # Copy app files COPY . /app # Adjust ownership for the non-root user RUN chown -R appuser:appuser /app # Install system dependencies RUN apt-get update && \ apt-get upgrade -y && \ apt-get install -y \ build-essential \ git \ cmake \ poppler-utils \ ffmpeg \ libsm6 \ libxext6 && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # Switch to non-root user USER appuser # Install Python dependencies RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt # Set NLTK data directory and download data ENV NLTK_DATA=/app/nltk_data RUN mkdir -p $NLTK_DATA && \ python -m nltk.downloader -d $NLTK_DATA all # Expose the application port EXPOSE 7860 # Start the application CMD ["python", "app.py"]