Skip to Content
Self HostingЗапуск і верифікація

Запуск і верифікація

Operate self-hosted VM console as privileged component of KVM host. Container health alone insufficient: verify path from browser to API to libvirt to guest.

Startup check

docker compose -f docker-compose.self-hosted.yml ps docker compose -f docker-compose.self-hosted.yml logs --tail=200 backend frontend virsh -c qemu:///system list --all

Then confirm UI loads and backend mode response reports self-hosted mode. Review feature map rather than assuming hosted feature present.

End-to-end smoke test

Use disposable, licensed test ISO:

  1. upload ISO and verify displayed size and name;
  2. create small VM with explicit CPU, memory, disk, and network choices;
  3. start it and open VNC console;
  4. confirm boot progress visible and keyboard input reaches guest;
  5. stop VM;
  6. delete it and confirm domain, overlays, and temporary NVRAM cleaned;
  7. restart backend and confirm no stale replacement launch blocked.

Do not interpret successful boot as hardware certification, application correctness, patch compliance, or proof installer completed.

Operational signals

Monitor at least:

  • frontend and API reachability;
  • backend libvirt connectivity;
  • free host memory and disk space;
  • failed uploads and guest-launch errors;
  • guest domains, overlays, NVRAM, and network inventory;
  • persistent cleanup journal under TEST_STORAGE_DIR;
  • container restart loops and backend exceptions.

Evaluation Compose file does not configure external alerting system.

Common failures

SymptomCheck
/dev/kvm permission deniedHost group membership and device mapping; do not make the device world-writable
Cannot connect to libvirtDaemon status, socket path, KVM_URI, and container mount
Upload rejectedFile type, free space, image-directory permissions, and the configured size limit
Guest cannot open source imageHost/container absolute-path identity and read permission
VNC disconnectsGuest state, libvirt graphics endpoint, proxy path, and browser console diagnostics
Replacement launch remains blockedPersisted cleanup journal, stale domain/overlay/NVRAM resources, and backend logs

Shutdown

Stop or delete disposable guests in UI before stopping stack. Then run:

docker compose -f docker-compose.self-hosted.yml down

Inventory libvirt domains, images, networks, and named volume afterward. Stopping containers does not automatically remove every host-owned resource.