javaeeduke commited on
Commit
592f4c7
·
verified ·
1 Parent(s): 262a183

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +6 -6
Dockerfile CHANGED
@@ -1,7 +1,6 @@
1
- # 升级到满足要求的官方 Node 22 长期支持版容器
2
  FROM node:22-alpine
3
 
4
- # 安装 git 以及运行、编译 SQLite 必须的原生 Linux 依赖
5
  RUN apk add --no-cache git python3 make g++ sqlite sqlite-dev
6
 
7
  WORKDIR /app
@@ -9,10 +8,11 @@ WORKDIR /app
9
  # 1. 抓取源码
10
  RUN git clone https://github.com/diegosouzapw/OmniRoute.git .
11
 
12
- # 2. 【核心修复】修改 next.config.mjs,强行把原生二进制包加入外部黑名单,防止前端打包器越界解析
13
- RUN sed -i "s/experimental: {/experimental: {\n serverExternalPackages: ['sqlite-vec', 'better-sqlite3', 'sqlite3'],/g" next.config.mjs || true
 
14
 
15
- # 3. 安装依赖(在 Node 22 完美环境下触发更好的现场 C++ 编译)
16
  RUN npm install --include=dev
17
 
18
  # 锁死端口与环境
@@ -21,5 +21,5 @@ 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
+ # 安装 git 以及基础编译依赖
4
  RUN apk add --no-cache git python3 make g++ sqlite sqlite-dev
5
 
6
  WORKDIR /app
 
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
  # 锁死端口与环境
 
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"]