ipmideck,用于启动服务器、重置
管理员密码或生成自签名证书。
CLI 仅在你直接运行 ipmideck 时适用(pip 安装或源码检出)。Docker
镜像直接启动
uvicorn backend.main:app,从不调用 CLI,因此这些
标志、绑定优先级或单实例守卫都不适用于容器。容器的绑定由其自己的启动命令设置。请参阅 安装。启动服务器
start 是主要的服务命令。不带子命令的裸调用提供完全相同的服务,
因此这些是等价的:
0.0.0.0:3000,在每个接口上、
端口 3000 上可达。启动后打开 http://<your-ip>:3000。
用 --host 和 --port 覆盖绑定:
子命令
serve 是 start 的已弃用别名,在新脚本中请优先使用 start(或裸
ipmideck)。标志
这些顶层标志适用于服务路径。--demo 和 --config 在任何子命令
分支之前被读取,因此它们也影响 reset-password 和 --gen-cert。
绑定优先级
ipmideck 实际绑定的主机和端口按此顺序解析,优先级最高的在前:- 命令行上显式的
--host/--port标志。 - 配置,它本身将环境变量(
IPMIDECK_SERVER_HOST/IPMIDECK_SERVER_PORT) 解析为优先于config.yaml,再优先于内置默认值。 - 硬编码的回退值
0.0.0.0:3000,在早期配置加载失败时使用。
config.yaml 的值,在下次启动时会被 IPMIDECK_
环境变量或 --host / --port 标志覆盖,env 和 CLI 始终胜出。
如果 config.yaml 格式错误,ipmideck 会向 stderr 打印一条警告并回退到
0.0.0.0:3000。
环境变量
IPMIDECK_SERVER_HOST 和 IPMIDECK_SERVER_PORT 使用
IPMIDECK_ 前缀。请参阅 配置 了解完整的覆盖列表。使用 —gen-cert 的 HTTPS
--gen-cert 生成自签名证书和密钥,然后退出。它不启动
服务器,也不自行开启 HTTPS:
data/certs/ 下写入一对 cert + 密钥,将它们的路径记录到
config.yaml 的 server 块中,并打印三行:
config.yaml 中设置 server.https: true 并重启 ipmideck。HTTPS 从不会自动启用。
演示模式
--demo 让 ipmideck 针对模拟硬件而非真实 BMC 运行,便于在没有任何
服务器接入的情况下评估仪表板:
重置管理员密码
reset-password 交互式创建或更新管理员登录,然后退出,完全不
启动服务器:
Username:,然后是 New password:(隐藏输入)。如果账户已
存在,它会更新该用户的密码并打印 Password updated for <username>;否则
它会创建用户并打印 User <username> created。
开发自动重新加载
--reload 是仅用于开发的快速路径:它交给 uvicorn 自己的自动重新加载
监管程序并返回。它有意跳过下面描述的单实例端口守卫,
因为重新加载器运行其自己的监管进程。
退出码
在服务路径上(非
--reload),ipmideck 在绑定前运行单实例守卫。如果
端口已被占用,它会向 stderr 打印错误并以 1 退出。如果因为
地址不可用或不被允许而绑定失败,它会打印一个不同的错误并同样以 1 退出。