Update Dockerfile
Browse files- Dockerfile +17 -25
Dockerfile
CHANGED
@@ -1,47 +1,39 @@
|
|
1 |
FROM python:3.11-slim
|
2 |
|
3 |
-
#
|
4 |
-
# 把 HOME 等全部指向 /tmp(可写目录)
|
5 |
ENV HOME=/tmp
|
6 |
ENV XDG_CACHE_HOME=/tmp
|
7 |
ENV STREAMLIT_CACHE_DIR=/tmp
|
8 |
ENV STREAMLIT_GLOBAL_DATA_DIR=/tmp
|
9 |
ENV STREAMLIT_RUNTIME_DIR=/tmp
|
10 |
ENV STREAMLIT_CONFIG_DIR=/tmp/.streamlit
|
11 |
-
ENV STREAMLIT_BROWSER_GATHER_USAGE_STATS=false
|
12 |
-
|
13 |
-
# 创建必要目录
|
14 |
RUN mkdir -p /tmp/.streamlit
|
15 |
|
16 |
-
#
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
19 |
-
tesseract-ocr \
|
20 |
-
|
21 |
-
|
22 |
-
ghostscript \
|
23 |
-
qpdf \
|
24 |
-
pngquant \
|
25 |
-
unpaper \
|
26 |
-
icc-profiles-free \
|
27 |
-
libmagic1 \
|
28 |
-
ca-certificates && \
|
29 |
rm -rf /var/lib/apt/lists/*
|
30 |
|
31 |
-
#
|
32 |
WORKDIR /app
|
33 |
COPY requirements.txt /app/requirements.txt
|
34 |
RUN pip install --no-cache-dir -r requirements.txt
|
35 |
|
36 |
-
#
|
37 |
COPY app.py /app/app.py
|
38 |
COPY README.md /app/README.md
|
39 |
|
40 |
-
# ========= 容器启动配置 =========
|
41 |
EXPOSE 7860
|
42 |
-
ENV STREAMLIT_SERVER_PORT=7860
|
43 |
-
ENV STREAMLIT_SERVER_ADDRESS=0.0.0.0
|
44 |
-
# 禁止 Streamlit 自动打开浏览器(Spaces 环境也不会)
|
45 |
-
ENV STREAMLIT_BROWSER_SERVER_ADDRESS=0.0.0.0
|
46 |
-
|
47 |
CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
|
|
|
1 |
FROM python:3.11-slim
|
2 |
|
3 |
+
# ---------- 让 Streamlit 在导入前就用 /tmp,可写 ----------
|
|
|
4 |
ENV HOME=/tmp
|
5 |
ENV XDG_CACHE_HOME=/tmp
|
6 |
ENV STREAMLIT_CACHE_DIR=/tmp
|
7 |
ENV STREAMLIT_GLOBAL_DATA_DIR=/tmp
|
8 |
ENV STREAMLIT_RUNTIME_DIR=/tmp
|
9 |
ENV STREAMLIT_CONFIG_DIR=/tmp/.streamlit
|
|
|
|
|
|
|
10 |
RUN mkdir -p /tmp/.streamlit
|
11 |
|
12 |
+
# ---------- 关闭 CORS / XSRF,放宽上传限制(避免 403) ----------
|
13 |
+
ENV STREAMLIT_SERVER_ENABLE_CORS=false
|
14 |
+
ENV STREAMLIT_SERVER_ENABLE_XSRF_PROTECTION=false
|
15 |
+
ENV STREAMLIT_SERVER_MAX_UPLOAD_SIZE=200
|
16 |
+
ENV STREAMLIT_BROWSER_GATHER_USAGE_STATS=false
|
17 |
+
ENV STREAMLIT_SERVER_HEADLESS=true
|
18 |
+
# 端口/地址
|
19 |
+
ENV STREAMLIT_SERVER_PORT=7860
|
20 |
+
ENV STREAMLIT_SERVER_ADDRESS=0.0.0.0
|
21 |
+
|
22 |
+
# ---------- 安装系统依赖(OCRmyPDF 运行所需) ----------
|
23 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
24 |
+
tesseract-ocr tesseract-ocr-eng tesseract-ocr-chi-sim \
|
25 |
+
ghostscript qpdf pngquant unpaper icc-profiles-free \
|
26 |
+
libmagic1 ca-certificates && \
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
rm -rf /var/lib/apt/lists/*
|
28 |
|
29 |
+
# ---------- Python 依赖 ----------
|
30 |
WORKDIR /app
|
31 |
COPY requirements.txt /app/requirements.txt
|
32 |
RUN pip install --no-cache-dir -r requirements.txt
|
33 |
|
34 |
+
# ---------- 应用代码 ----------
|
35 |
COPY app.py /app/app.py
|
36 |
COPY README.md /app/README.md
|
37 |
|
|
|
38 |
EXPOSE 7860
|
|
|
|
|
|
|
|
|
|
|
39 |
CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
|