timindev commited on
Commit
482c804
·
verified ·
1 Parent(s): c2999bd

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -14
Dockerfile CHANGED
@@ -1,30 +1,25 @@
1
- # 1. 使用 Node.js 20 (目前最推荐的版本)
2
- FROM node:20-slim
3
 
4
  # 2. 安装 git
5
  RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
6
 
7
  WORKDIR /app
8
 
9
- # 3. 克隆代码
10
  RUN git clone https://github.com/titaniumnetwork-dev/Ultraviolet-App.git .
11
 
12
  # 4. 安装依赖
13
  RUN npm install
14
 
15
- # 5. --- 核心修复:修复绝对路径报错 + 确保路径正确 ---
16
- # 我们将所有的 res.sendFile(path) 修改为 res.sendFile(path, { root: "/app/public" })
17
- # 这样能确保服务器不崩溃,并且能找到正确的 public 文件夹
18
- RUN sed -i 's|res.sendFile(\([^,)]*\))|res.sendFile(\1, { root: "/app/public" })|g' src/index.js
19
 
20
- # 6. --- 强制对齐 Bare Server 路径 ---
21
- # 确保前端 uv.config.js 找的是 /bare/,后端也运行在 /bare/
22
- RUN sed -i "s|bare: [^,]*|bare: '/bare/'|g" public/uv/uv.config.js || true
23
-
24
- # 7. 环境变量与端口
25
  ENV PORT=7860
26
  ENV NODE_ENV=production
27
  EXPOSE 7860
28
 
29
- # 8. 直接运行 node 启动(跳过可能出错的 npm 脚本)
30
- CMD ["node", "src/index.js"]
 
1
+ # 1. 使用 Node.js 18
2
+ FROM node:18-slim
3
 
4
  # 2. 安装 git
5
  RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
6
 
7
  WORKDIR /app
8
 
9
+ # 3. 克隆官方代码
10
  RUN git clone https://github.com/titaniumnetwork-dev/Ultraviolet-App.git .
11
 
12
  # 4. 安装依赖
13
  RUN npm install
14
 
15
+ # 5. --- 核心修复:精准解决绝对路径,防止双重 public ---
16
+ # 将 root 设置为 /app,完美匹配代码中的 "public/..." 路径
17
+ RUN sed -i 's|res.sendFile(\([^,)]*\))|res.sendFile(\1, { root: "/app" })|g' src/index.js
 
18
 
19
+ # 6. 设置环境变量
 
 
 
 
20
  ENV PORT=7860
21
  ENV NODE_ENV=production
22
  EXPOSE 7860
23
 
24
+ # 7. 启动
25
+ CMD ["npm", "start"]