Spaces:
Sleeping
Sleeping
Update Dockerfile
Browse files- Dockerfile +12 -1
Dockerfile
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
|
|
| 1 |
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim
|
|
|
|
| 2 |
WORKDIR /app
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
ENV WARP_LOG_LEVEL=info
|
| 4 |
ENV WARP_ACCESS_LOG=true
|
| 5 |
ENV OPENAI_LOG_LEVEL=info
|
| 6 |
ENV OPENAI_ACCESS_LOG=true
|
| 7 |
-
|
|
|
|
| 8 |
COPY . .
|
|
|
|
|
|
|
| 9 |
CMD ["uv", "run", "./start.py"]
|
|
|
|
| 1 |
+
# 使用官方的 uv 镜像
|
| 2 |
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim
|
| 3 |
+
# 设置工作目录
|
| 4 |
WORKDIR /app
|
| 5 |
+
# 解决权限问题的关键:
|
| 6 |
+
# 1. 告诉 uv 把缓存放在 /app/.cache 目录(当前用户有权限)
|
| 7 |
+
ENV UV_CACHE_DIR=/app/.cache
|
| 8 |
+
# 2. 告诉 uv 把 `uv run` 创建的虚拟环境放在 /app/.venv 目录
|
| 9 |
+
ENV UV_VENV_PATH=/app/.venv
|
| 10 |
+
# 你的应用需要的其他环境变量
|
| 11 |
ENV WARP_LOG_LEVEL=info
|
| 12 |
ENV WARP_ACCESS_LOG=true
|
| 13 |
ENV OPENAI_LOG_LEVEL=info
|
| 14 |
ENV OPENAI_ACCESS_LOG=true
|
| 15 |
+
# 复制所有文件到工作目录
|
| 16 |
+
# 基础镜像已经设置了非 root 用户,所以这里的文件会自动属于该用户
|
| 17 |
COPY . .
|
| 18 |
+
# 启动命令
|
| 19 |
+
# 现在 uv 会在 /app/.venv 创建虚拟环境,不会再有权限问题
|
| 20 |
CMD ["uv", "run", "./start.py"]
|