|
|
|
FROM python:3.11-slim |
|
|
|
WORKDIR /app |
|
|
|
|
|
ENV HOME=/tmp \ |
|
HF_HOME=/tmp/hf_home \ |
|
TRANSFORMERS_CACHE=/tmp/hf_home \ |
|
STREAMLIT_CONFIG_DIR=/tmp/.streamlit \ |
|
STREAMLIT_RUNTIME_DIR=/tmp/.streamlit \ |
|
STREAMLIT_BROWSER_GATHER_USAGE_STATS=false \ |
|
STREAMLIT_TELEMETRY_OPT_OUT=true \ |
|
TRANSFORMERS_ATTENTION_BACKEND=eager \ |
|
STREAMLIT_STATIC_DIR=/tmp/streamlit_static \ |
|
MPLCONFIGDIR=/tmp/mpl |
|
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \ |
|
build-essential curl git libgl1 libglib2.0-0 \ |
|
tesseract-ocr tesseract-ocr-fas libtesseract-dev \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
RUN mkdir -p /tmp/.streamlit /tmp/hf_home /tmp/streamlit_static /tmp/mpl && chmod -R 777 /tmp |
|
|
|
|
|
COPY requirements.txt ./ |
|
RUN python -m pip install --upgrade pip setuptools wheel && \ |
|
pip install --no-cache-dir -r requirements.txt |
|
|
|
|
|
RUN printf "[server]\nheadless=true\nenableXsrfProtection=false\nenableCORS=false\nmaxUploadSize=200\n\n[browser]\ngatherUsageStats=false\n" > /tmp/.streamlit/config.toml |
|
|
|
|
|
COPY . . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EXPOSE 8501 |
|
HEALTHCHECK CMD curl --fail http://localhost:${PORT:-8501}/_stcore/health || exit 1 |
|
|
|
|
|
ENTRYPOINT ["bash","-lc","streamlit run app.py --server.port=${PORT:-8501} --server.address=0.0.0.0"] |
|
|