Self-Hosted VM Console
OpenFactory includes a self-hosted, single-host VM console for evaluating ISO, KVM, VNC, network-topology, monitoring, and benchmark workflows on a Linux machine you control. The public Compose deployment is a lab/evaluation path. It is not the hosted OpenFactory build service and it is not a production-ready or air-gapped Enterprise control plane.
Choose the Right Path
| Need | Supported path |
|---|---|
| Build a custom ISO from chat or a recipe | Use the hosted OpenFactory builder |
| Manage local KVM guests and uploaded ISOs | Use the self-hosted VM console described here |
| Evaluate benchmarks against local guests | Use the self-hosted VM console |
| Run a private production deployment | Agree the topology, release artifacts, identity, support, and runbook with OpenFactory before deployment |
| Claim an air-gapped deployment | Do not infer this from the Compose file; offline dependencies and update procedures require a separately qualified deployment |
What the Public Compose Deployment Contains
The checked-in docker-compose.self-hosted.yml starts two services:
- a privileged backend connected to the host’s libvirt socket and
/dev/kvm; - a frontend exposed on host port 80.
It also mounts the host libvirt image directory, a read-only source-ISO directory, a read-only promoted-golden-image directory, and a named volume for test state and cleanup journals.
The resulting console supports local VM lifecycle operations, ISO upload, browser VNC, network management and topology, benchmarks, and live-machine monitoring. The mode endpoint disables hosted image builds, AI conversations, scheduling, and policy-document workflows. Feature flags shown by the running console are the authority for that deployment.
Important Boundaries
- The default frontend is plain HTTP on port 80.
- Self-hosted mode is designed for a trusted local evaluation network and does not provide a production identity perimeter by itself.
- The backend is privileged and can reach the host libvirt daemon. Treat host access as administrative access.
- The Compose file is single-host. It does not provide high availability, external database replication, managed TLS, centralized secrets, or an automated backup service.
- Uploaded or promoted images are operator-supplied inputs. Their licensing, integrity, patch status, and suitability remain the operator’s responsibility.
Evaluation Sequence
- Read Prerequisites.
- Follow Installation on a non-production KVM host.
- Check Configuration before changing paths or exposure.
- Complete Running and verification.
- Read Production boundaries before involving real users or data.
The repository-level cto-gui/SELF-HOSTING.md remains the command-level source
of truth for the checked-in Compose deployment.