| # 1. 基础镜像(Node 22,匹配 OmniRoute 依赖) | |
| FROM node:22-slim | |
| # 2. 安装依赖(git、curl 用于构建/健康检查) | |
| RUN apt-get update && apt-get install -y --no-install-recommends git curl && rm -rf /var/lib/apt/lists/* | |
| # 3. 设置工作目录 | |
| WORKDIR /app | |
| # 4. 安装 OmniRoute(全局) | |
| RUN npm install -g omniroute@latest | |
| # 5. 环境变量(强制端口7860、绑定0.0.0.0、关闭自动打开浏览器) | |
| ENV PORT=7860 | |
| ENV API_HOST=0.0.0.0 | |
| ENV DASHBOARD_HOST=0.0.0.0 | |
| ENV NEXT_PUBLIC_BASE_URL=https://yadinae-or.hf.space | |
| ENV INITIAL_PASSWORD=ORv9z3ShXC | |
| ENV NO_OPEN=true | |
| # 6. 健康检查(Space 用它判断服务是否正常) | |
| HEALTHCHECK --interval=30s --timeout=10s --retries=3 \ | |
| CMD curl -f http://localhost:7860/login || exit 1 | |
| # 7. 启动命令(绑定0.0.0.0,指定端口) | |
| CMD ["omniroute", "--port", "7860"] |