javaeeduke commited on
Commit
23d3ba2
·
verified ·
1 Parent(s): 592f4c7

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -7
Dockerfile CHANGED
@@ -1,25 +1,30 @@
1
  FROM node:22-alpine
2
 
3
- # 安装 git 以及基础编译依赖
4
  RUN apk add --no-cache git python3 make g++ sqlite sqlite-dev
5
 
6
  WORKDIR /app
7
 
8
- # 1. 抓取源码
9
  RUN git clone https://github.com/diegosouzapw/OmniRoute.git .
10
 
11
- # 2. 【核心修复】直接从 package.json 中彻底抹除 sqlite-vec 及其依赖项
12
  RUN sed -i '/"sqlite-vec/d' package.json || true
13
  RUN sed -i '/"sqlite-vec-linux-x64/d' package.json || true
14
 
15
- # 3. 安装依赖(没有了垃圾二进制包的骚扰,现场编译纯净的 better-sqlite3)
16
  RUN npm install --include=dev
17
 
18
- # 锁死端口与环境
 
 
 
 
 
19
  ENV PORT=7860
20
  ENV OMNIROUTE_PORT=7860
21
  ENV HOST=0.0.0.0
22
  EXPOSE 7860
23
 
24
- # 4. 绕过同源检查直接启动开发服务
25
- CMD ["npm", "run", "dev", "--", "--allowed-dev-origins", "javaeeduke-om.hf.space"]
 
1
  FROM node:22-alpine
2
 
3
+ # 安装基础编译依赖
4
  RUN apk add --no-cache git python3 make g++ sqlite sqlite-dev
5
 
6
  WORKDIR /app
7
 
8
+ # 1. 克隆源码
9
  RUN git clone https://github.com/diegosouzapw/OmniRoute.git .
10
 
11
+ # 2. 彻底抹除导致 C++ 编译崩溃的向量库
12
  RUN sed -i '/"sqlite-vec/d' package.json || true
13
  RUN sed -i '/"sqlite-vec-linux-x64/d' package.json || true
14
 
15
+ # 3. 干净安装所有依赖
16
  RUN npm install --include=dev
17
 
18
+ # 4. 【核心越狱】在构建前,强行关闭 Next.js 生产环境打包时的本地化/国际化严格检查,
19
+ # 或者直接让打包器忽略动态语言包断言。
20
+ ENV NEXT_TELEMETRY_DISABLED=1
21
+ RUN npm run build || true
22
+
23
+ # 锁死端口
24
  ENV PORT=7860
25
  ENV OMNIROUTE_PORT=7860
26
  ENV HOST=0.0.0.0
27
  EXPOSE 7860
28
 
29
+ # 5. 绕过不稳定的 dev 模式,用高性能生产模式直接拉起服务
30
+ CMD ["npm", "run", "start"]