javaeeduke commited on
Commit
c18cf88
·
verified ·
1 Parent(s): b73e1d5

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +26 -6
Dockerfile CHANGED
@@ -1,15 +1,35 @@
1
- FROM golang:1.21-alpine AS builder
 
2
 
3
  # 安装 git
4
  RUN apk add --no-cache git
5
 
6
  WORKDIR /app
7
 
8
- # 1. 拉取代码
9
  RUN git clone https://github.com/diegosouzapw/OmniRoute.git .
10
 
11
- # 2. 【核心排查】强制打印出克隆下来的有文件和文件夹结构
12
- RUN echo "=== 开始查看仓库文件结构 ===" && ls -R /app && echo "=== 查看结束 ==="
13
 
14
- # 3. 随便写一让它中断方便我们看上面的日志
15
- RUN exit 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # --- 第一阶段:拉取代码并依赖安装、打包 ---
2
+ FROM node:20-alpine AS builder
3
 
4
  # 安装 git
5
  RUN apk add --no-cache git
6
 
7
  WORKDIR /app
8
 
9
+ # 1. 直接拉取那 5568 个文件
10
  RUN git clone https://github.com/diegosouzapw/OmniRoute.git .
11
 
12
+ # 2. 安装项目需的前后端依赖(跳过不必要的准备脚本)
13
+ RUN npm install --include=dev --ignore-scripts
14
 
15
+ # 3. 如果项目有 build 步骤则进打包(如果打包报错可以注释掉这行直接起服务)
16
+ RUN npm run build || true
17
+
18
+
19
+ # --- 第二阶段:极简轻量运行容器 ---
20
+ FROM node:20-alpine
21
+
22
+ WORKDIR /app
23
+
24
+ # 从打包阶段把所有文件拷贝过来
25
+ COPY --from=builder /app .
26
+
27
+ # 关键:Hugging Face 强制端口锁死在 7860
28
+ ENV PORT=7860
29
+ ENV OMNIROUTE_PORT=7860
30
+ ENV HOST=0.8.8.8
31
+ EXPOSE 7860
32
+
33
+ # 4. 根据 package.json 里的配置启动服务
34
+ # 如果它是个纯后端/Next.js 全栈服务,通常是 npm run start 或 node bin/omniroute.mjs
35
+ CMD ["npm", "run", "start"]