Встановлення
These steps install checked-in self-hosted VM console on one KVM host. They do not install hosted image builder or establish production Enterprise deployment.
1. Verify the Source
Check out intended OpenFactory revision and review local changes before building containers:
git status --short
git rev-parse HEADUse reviewed release or commit. Compose workflow builds images from local cto-gui and cto-gui-libvirt-backend source trees.
2. Create Host Directories
sudo install -d -m 0755 /opt/openfactory/iso
sudo install -d -m 0755 /var/lib/libvirt/images/.openfactory-goldenPaths mounted read-only inside backend for source artifacts. Guest disks and uploaded ISOs use /var/lib/libvirt/images.
3. Preflight KVM and Libvirt
test -e /dev/kvm
test -S /var/run/libvirt/libvirt-sock
virsh -c qemu:///system list --all
docker compose versionStop if any command fails. Fix host service, group membership, or socket location before starting containers.
4. Start the Console
Run from cto-gui directory:
docker compose -f docker-compose.self-hosted.yml up --build -d
docker compose -f docker-compose.self-hosted.yml psOpen http://localhost/ from host. For remote evaluation restrict port 80 at host firewall and use trusted private path to host.
5. Verify the Running Mode
Confirm frontend loads, then inspect backend mode response from network path available in deployment. Must report self_hosted: true. Feature map should show hosted builds, conversations, scheduling, and policy documents as unavailable.
Next upload disposable test ISO, create small VM, open VNC console, stop VM, delete it. Confirm guest disk and libvirt domain removed as expected before using larger images.
Rollback
Stop evaluation without deleting named volume:
docker compose -f docker-compose.self-hosted.yml downLeaves uploaded images, libvirt resources, source directories, and cto-data volume intact. Inventory those resources before any deletion. Do not use down --volumes unless explicitly intend to destroy retained console state and cleanup journals.