LangmyOCR / Dockerfile
nanoapple's picture
Update Dockerfile
f422051 verified
FROM python:3.11-slim
# ---------- 让 Streamlit 在导入前就用 /tmp,可写 ----------
ENV HOME=/tmp
ENV XDG_CACHE_HOME=/tmp
ENV STREAMLIT_CACHE_DIR=/tmp
ENV STREAMLIT_GLOBAL_DATA_DIR=/tmp
ENV STREAMLIT_RUNTIME_DIR=/tmp
ENV STREAMLIT_CONFIG_DIR=/tmp/.streamlit
RUN mkdir -p /tmp/.streamlit
# ---------- 关闭 CORS / XSRF,放宽上传限制(避免 403) ----------
ENV STREAMLIT_SERVER_ENABLE_CORS=false
ENV STREAMLIT_SERVER_ENABLE_XSRF_PROTECTION=false
ENV STREAMLIT_SERVER_MAX_UPLOAD_SIZE=200
ENV STREAMLIT_BROWSER_GATHER_USAGE_STATS=false
ENV STREAMLIT_SERVER_HEADLESS=true
# 端口/地址
ENV STREAMLIT_SERVER_PORT=7860
ENV STREAMLIT_SERVER_ADDRESS=0.0.0.0
# ---------- 安装系统依赖(OCRmyPDF 运行所需) ----------
RUN apt-get update && apt-get install -y --no-install-recommends \
tesseract-ocr tesseract-ocr-eng tesseract-ocr-chi-sim \
ghostscript qpdf pngquant unpaper icc-profiles-free \
libmagic1 ca-certificates && \
rm -rf /var/lib/apt/lists/*
# ---------- Python 依赖 ----------
WORKDIR /app
COPY requirements.txt /app/requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# ---------- 应用代码 ----------
COPY app.py /app/app.py
COPY README.md /app/README.md
EXPOSE 7860
CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]