Spaces:
Running
Running
Update Dockerfile
Browse files- Dockerfile +15 -13
Dockerfile
CHANGED
|
@@ -12,26 +12,28 @@ RUN git clone https://github.com/diegosouzapw/OmniRoute.git .
|
|
| 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 |
-
#
|
| 17 |
-
RUN
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
|
|
|
|
|
|
| 25 |
|
| 26 |
# 4. 安装全部依赖
|
| 27 |
RUN npm install --include=dev
|
| 28 |
|
| 29 |
-
# 锁死环境变量
|
| 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.
|
| 37 |
-
CMD ["
|
|
|
|
| 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,利用 node 脚本注入允许的跨域来源
|
| 16 |
+
# 顺便把外部传入的参数也写进启动脚本,双保险锁死允许的域名
|
| 17 |
+
RUN node -e " \
|
| 18 |
+
const fs = require('fs'); \
|
| 19 |
+
let content = fs.readFileSync('next.config.mjs', 'utf8'); \
|
| 20 |
+
if (content.includes('nextConfig = {')) { \
|
| 21 |
+
content = content.replace('nextConfig = {', \"nextConfig = {\n allowedDevOrigins: ['javaeeduke-om.hf.space', 'localhost:7860'],\"); \
|
| 22 |
+
} else if (content.includes('const nextConfig = {')) { \
|
| 23 |
+
content = content.replace('const nextConfig = {', \"const nextConfig = {\n allowedDevOrigins: ['javaeeduke-om.hf.space', 'localhost:7860'],\"); \
|
| 24 |
+
} \
|
| 25 |
+
fs.writeFileSync('next.config.mjs', content); \
|
| 26 |
+
"
|
| 27 |
|
| 28 |
# 4. 安装全部依赖
|
| 29 |
RUN npm install --include=dev
|
| 30 |
|
| 31 |
+
# 锁死端口与环境变量
|
| 32 |
ENV PORT=7860
|
| 33 |
ENV OMNIROUTE_PORT=7860
|
| 34 |
ENV HOST=0.0.0.0
|
| 35 |
ENV NODE_ENV=development
|
| 36 |
EXPOSE 7860
|
| 37 |
|
| 38 |
+
# 5. 修改原厂启动命令,让其在运行 run-next.mjs 时也带上官方的域名白名单参数
|
| 39 |
+
CMD ["node", "scripts/dev/run-next.mjs", "dev", "--allowed-dev-origins", "javaeeduke-om.hf.space"]
|