Update Dockerfile
Browse files- Dockerfile +9 -12
Dockerfile
CHANGED
|
@@ -27,32 +27,29 @@ RUN pip install --no-cache-dir uv
|
|
| 27 |
# 设置工作目录
|
| 28 |
WORKDIR /app
|
| 29 |
|
| 30 |
-
# 4.
|
| 31 |
-
# 我们先克隆到临时目录,然后移动所有文件到 /app
|
| 32 |
-
# 这样可以避免 "directory not empty" 的错误
|
| 33 |
RUN git clone https://github.com/666ghj/MiroFish.git /tmp/repo && \
|
| 34 |
cp -r /tmp/repo/* . && \
|
| 35 |
rm -rf /tmp/repo
|
| 36 |
|
| 37 |
-
# 5.
|
| 38 |
-
# 这会用你上传的 nginx.conf 和 start.sh 覆盖仓库里可能存在的同名文件
|
| 39 |
COPY . .
|
| 40 |
|
| 41 |
-
# 6. 后端依赖安装
|
| 42 |
WORKDIR /app/backend
|
| 43 |
-
# 删除锁文件防止兼容性问题,然后导出依赖并安装
|
| 44 |
RUN rm -f uv.lock && \
|
| 45 |
if [ -f pyproject.toml ]; then \
|
| 46 |
echo "Found pyproject.toml, exporting requirements..."; \
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
|
|
|
|
|
|
| 50 |
pip install --no-cache-dir -r export_req.txt; \
|
| 51 |
elif [ -f requirements.txt ]; then \
|
| 52 |
pip install --no-cache-dir -r requirements.txt; \
|
| 53 |
else \
|
| 54 |
-
|
| 55 |
-
pip install --no-cache-dir . || echo "Install local package failed, trying to continue..."; \
|
| 56 |
fi
|
| 57 |
|
| 58 |
# 7. 前端依赖安装
|
|
|
|
| 27 |
# 设置工作目录
|
| 28 |
WORKDIR /app
|
| 29 |
|
| 30 |
+
# 4. 拉取代码 (因为 Space 默认不包含代码,必须手动拉取)
|
|
|
|
|
|
|
| 31 |
RUN git clone https://github.com/666ghj/MiroFish.git /tmp/repo && \
|
| 32 |
cp -r /tmp/repo/* . && \
|
| 33 |
rm -rf /tmp/repo
|
| 34 |
|
| 35 |
+
# 5. 复制配置文件 (覆盖仓库里的配置)
|
|
|
|
| 36 |
COPY . .
|
| 37 |
|
| 38 |
+
# 6. 后端依赖安装 (关键修复步骤)
|
| 39 |
WORKDIR /app/backend
|
|
|
|
| 40 |
RUN rm -f uv.lock && \
|
| 41 |
if [ -f pyproject.toml ]; then \
|
| 42 |
echo "Found pyproject.toml, exporting requirements..."; \
|
| 43 |
+
# 导出带哈希的依赖列表
|
| 44 |
+
uv export --format requirements-txt --output-file export_req.txt; \
|
| 45 |
+
# [修复] 删除 '-e .' 这一行,解决 pip hash 冲突报错
|
| 46 |
+
sed -i '/^-e/d' export_req.txt; \
|
| 47 |
+
# 安装依赖
|
| 48 |
pip install --no-cache-dir -r export_req.txt; \
|
| 49 |
elif [ -f requirements.txt ]; then \
|
| 50 |
pip install --no-cache-dir -r requirements.txt; \
|
| 51 |
else \
|
| 52 |
+
echo "No dependencies found, skipping..."; \
|
|
|
|
| 53 |
fi
|
| 54 |
|
| 55 |
# 7. 前端依赖安装
|