# Dockerfile FROM python:3.11.10-slim-bullseye WORKDIR /app # Install runtime dependencies RUN apt-get update && apt-get upgrade -y && apt-get install -y \ libgeos-dev \ libcurl4-openssl-dev \ libssl-dev \ binutils \ curl \ git \ autoconf \ automake \ build-essential \ libtool \ python-dev \ wget \ gcc \ libmagic-dev \ poppler-utils \ tesseract-ocr \ libreoffice \ libpq-dev \ pandoc && \ rm -rf /var/lib/apt/lists/* && apt-get clean COPY . . RUN pip install --no-cache-dir -r requirements.lock # Set NLTK data directory environment variable explicitly ENV NLTK_DATA=/usr/local/share/nltk_data RUN playwright install --with-deps && \ mkdir -p $NLTK_DATA && \ python -c "import nltk; nltk.download('punkt', download_dir='$NLTK_DATA'); nltk.download('averaged_perceptron_tagger', download_dir='$NLTK_DATA')" && \ python -c "from unstructured.partition.model_init import initialize; initialize()" EXPOSE 8001 CMD ["python", "app.py"]