aixo commited on
Commit
87a641e
·
verified ·
1 Parent(s): 7d9f072
Files changed (1) hide show
  1. Dockerfile +14 -10
Dockerfile CHANGED
@@ -1,18 +1,22 @@
1
  FROM ghcr.io/astral-sh/uv:python3.12-alpine
2
 
3
- # 安装node
4
  RUN apk add --no-cache nodejs npm
5
 
6
- # 复制当前目录所有内容到 /app
7
- COPY . /app
8
-
9
- # 设置工作目录
10
  WORKDIR /app
11
 
12
- # 执行 uv sync 命令
13
- RUN uv sync
 
 
 
 
 
 
14
 
15
- EXPOSE 8000
 
 
16
 
17
- # 启动 uv 运行 main.py
18
- CMD ["uv", "run", "main.py"]
 
1
  FROM ghcr.io/astral-sh/uv:python3.12-alpine
2
 
3
+ # 安装 Node(如果确实需要)
4
  RUN apk add --no-cache nodejs npm
5
 
 
 
 
 
6
  WORKDIR /app
7
 
8
+ # 仅复制依赖清单,利用缓存
9
+ COPY pyproject.toml uv.lock* ./
10
+
11
+ # 安装依赖(--frozen 在有 uv.lock 时更稳)
12
+ RUN --mount=type=cache,target=/root/.cache/uv uv sync --frozen --no-dev
13
+
14
+ # 再复制源码
15
+ COPY . .
16
 
17
+ # HF Spaces 会注入 $PORT(默认7860),你的服务必须监听它
18
+ ENV PORT=7860
19
+ EXPOSE 7860
20
 
21
+ # 如果是 FastAPI:将 main.py 改为绑定 0.0.0.0:$PORT(见下)
22
+ CMD ["sh", "-c", "uv run uvicorn main:app --host 0.0.0.0 --port ${PORT}"]