File size: 1,048 Bytes
860be47
8bff983
 
 
 
 
860be47
 
 
 
 
 
 
 
8bff983
 
b6079be
8bff983
 
 
 
37e12f1
8bff983
37e12f1
f8d66a3
 
37e12f1
 
 
 
 
 
 
 
 
 
8bff983
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
FROM debian:bookworm-20260223-slim

# 安装基础依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
        ca-certificates \
        bash \
        libglib2.0-0 \
        libgl1 \
        libsm6 \
        libxext6 \
        libxrender1 \
        libx11-6 \
        libxcb1 \
        libgomp1 \
    && rm -rf /var/lib/apt/lists/*

# 从官方镜像复制 uv 二进制
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv

ENV PATH="/root/.local/bin:${PATH}" \
    PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1

# 为网关创建独立 venv 并安装依赖(包含 pdf2zh-next)
RUN uv venv /opt/gateway --python 3.12 && \
    uv pip install --python /opt/gateway/bin/python \
        "pdf2zh-next" \
        "fastapi>=0.115" \
        "uvicorn[standard]>=0.32" \
        "httpx>=0.28" \
        "python-multipart" \
        "bcrypt" \
        "itsdangerous"

# 复制应用代码和启动脚本
COPY src /src
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

EXPOSE 7860

CMD ["/entrypoint.sh"]