|
|
| FROM python:3.10-slim
|
|
|
|
|
| WORKDIR /code
|
|
|
|
|
| ENV NLTK_DATA=/data/nltk_data
|
| ENV MPLCONFIGDIR=/data/matplotlib_cache
|
|
|
|
|
| RUN useradd --create-home --shell /bin/bash appuser && \
|
| mkdir -p /data/static $NLTK_DATA $MPLCONFIGDIR && \
|
| chown -R appuser:appuser /data
|
|
|
|
|
| USER appuser
|
|
|
|
|
|
|
| ENV PATH="/home/appuser/.local/bin:${PATH}"
|
|
|
|
|
| COPY --chown=appuser:appuser ./requirements.txt /code/requirements.txt
|
|
|
|
|
| RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
|
|
|
|
|
| COPY --chown=appuser:appuser . /code/
|
|
|
|
|
| RUN python -m nltk.downloader -d $NLTK_DATA punkt stopwords punkt_tab
|
|
|
|
|
| CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--timeout", "120", "app:app"] |