wkplhc commited on
Commit
f25e67d
·
verified ·
1 Parent(s): 4602151

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -12
Dockerfile CHANGED
@@ -27,32 +27,29 @@ RUN pip install --no-cache-dir uv
27
  # 设置工作目录
28
  WORKDIR /app
29
 
30
- # 4. [关键步骤] 拉取 MiroFish 代码
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. [覆盖配置] 复制当前 Space 里的配置文件
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
- uv export --format requirements-txt --output-file export_req.txt || echo "uv export failed"; \
48
- fi && \
49
- if [ -f export_req.txt ]; then \
 
 
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
- # 如果这里还报错,那就是 GitHub 仓库本身有问题,但通常不会
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. 前端依赖安装