javaeeduke commited on
Commit
7f73c94
·
verified ·
1 Parent(s): 23d3ba2

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -10
Dockerfile CHANGED
@@ -8,23 +8,30 @@ WORKDIR /app
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"]
 
8
  # 1. 克隆源码
9
  RUN git clone https://github.com/diegosouzapw/OmniRoute.git .
10
 
11
+ # 2. 物理抹除导致原生编译挂掉的向量库
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. 【核心修正】直接重写 next.config.mjs,强行注入 allowedDevOrigins 白名单
16
+ # 这样就能彻底消灭 "Blocked cross-origin request to Next.js dev resource" 错误
17
+ RUN echo "/** @type {import('next').NextConfig} */" > next.config.mjs && \
18
+ echo "const nextConfig = {" >> next.config.mjs && \
19
+ echo " experimental: {" >> next.config.mjs && \
20
+ echo " allowedDevOrigins: ['javaeeduke-om.hf.space', 'localhost:7860']," >> next.config.mjs && \
21
+ echo " serverActions: true" >> next.config.mjs && \
22
+ echo " }" >> next.config.mjs && \
23
+ echo "};" >> next.config.mjs && \
24
+ echo "export default nextConfig;" >> next.config.mjs
25
+
26
+ # 4. 安装全部依赖
27
  RUN npm install --include=dev
28
 
29
+ # 锁死环境变量,强行 NEXT 环境判定降级,绕过严格国际化异常阻断
 
 
 
 
 
30
  ENV PORT=7860
31
  ENV OMNIROUTE_PORT=7860
32
  ENV HOST=0.0.0.0
33
+ ENV NODE_ENV=development
34
  EXPOSE 7860
35
 
36
+ # 5. 直接用解封后的 dev 模式拉起,让页面在运行时动态渲染
37
+ CMD ["npm", "run", "dev"]