Skip to Content

配置

公共自托管配置是签入的 cto-gui/docker-compose.self-hosted.yml 加上 cto-gui-libvirt-backend 读取的设置。本页记录了评估表面。它没有发明通用的企业环境合同。

撰写合约

设置登记值目的
SELF_HOSTEDtrue选择本地控制台模式并禁用依赖云的路由
KVM_URIqemu:///system连接到主机系统 libvirt 守护进程
TEST_STORAGE_DIR/app/data/testscto-data 中保留测试状态、锁定和清理日志
SOURCE_ISO_DIR主机源 ISO 路径解决主机 libvirt 可见的同一绝对路径中的只读源工件
SOURCE_GOLDEN_IMAGE_DIR主机提升镜像路径解析主机 libvirt 可见的同一绝对路径中不可变的已安装 QCOW2 输入
TRUST_PROXY_HEADERSCompose 文件中的 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、机密和授权设计是单独的部署决策。

验证每个更改

更改路径或设置后:

  1. 重新创建受影响的容器; 2.通过模式端点验证self_hosted: true; 3.上传并启动一次性ISO; 4、停止并删除该访客;
  2. 重新启动堆栈并确认清理状态和库存是否存在。