配置
公共自托管配置是签入的 cto-gui/docker-compose.self-hosted.yml 加上 cto-gui-libvirt-backend 读取的设置。本页记录了评估表面。它没有发明通用的企业环境合同。
撰写合约
| 设置 | 登记值 | 目的 |
|---|---|---|
SELF_HOSTED | true | 选择本地控制台模式并禁用依赖云的路由 |
KVM_URI | qemu:///system | 连接到主机系统 libvirt 守护进程 |
TEST_STORAGE_DIR | /app/data/tests | 在 cto-data 中保留测试状态、锁定和清理日志 |
SOURCE_ISO_DIR | 主机源 ISO 路径 | 解决主机 libvirt 可见的同一绝对路径中的只读源工件 |
SOURCE_GOLDEN_IMAGE_DIR | 主机提升镜像路径 | 解析主机 libvirt 可见的同一绝对路径中不可变的已安装 QCOW2 输入 |
TRUST_PROXY_HEADERS | Compose 文件中的 true | 允许代理派生的客户端信息遵守后端的可信代理规则 |
除非故意更改后端设置,否则后端还将默认 ISO 上传到 /var/lib/libvirt/images 并将上传限制为 10 GB。
主机路径覆盖
有两个 shell 环境变量会影响 Compose 绑定安装:
export SOURCE_ISO_HOST_DIR=/srv/openfactory/source-isos
export SOURCE_GOLDEN_IMAGE_HOST_DIR=/srv/openfactory/golden-images
docker compose -f docker-compose.self-hosted.yml up --build -d首先创建并授予这些目录权限。容器路径与主机路径保持相同,因为主机 libvirt(而不是容器)打开 QEMU 的映像文件。仅存在于容器内部的路径将在来宾启动时失败。
持久性和非持久性数据
| 地点 | 所有权和生命周期 |
|---|---|
/var/lib/libvirt/images | 主机管理的上传 ISO、来宾磁盘和覆盖 |
| 源 ISO 目录 | 操作员管理,只读挂载 |
| 黄金形象目录 | 操作员推动的不可变输入,以只读方式安装 |
cto-data 命名卷 | 后端状态包括测试记录和清理日志 |
| 容器文件系统外部安装 | 一次性的;不要依赖它来恢复 |
仅在确定必须保留哪些资源后才进行备份或快照。 Compose 文件不安排备份。
曝光和代理设置
前端映射主机端口 80。 TRUST_PROXY_HEADERS 不提供 TLS 或身份验证;它仅更改后端从显式信任的代理范围接受转发的连接元数据的方式。如果添加反向代理,请严格配置其网络路径和受信任代理,并验证来自不受信任对等方的欺骗性转发标头是否被拒绝。
请勿将评估控制台直接放置在公共互联网上。生产身份、TLS、机密和授权设计是单独的部署决策。
验证每个更改
更改路径或设置后:
- 重新创建受影响的容器;
2.通过模式端点验证
self_hosted: true; 3.上传并启动一次性ISO; 4、停止并删除该访客; - 重新启动堆栈并确认清理状态和库存是否存在。