Evaluación con Docker Compose
El despliegue Docker Compose público empaqueta el console VM autohospedado para un host KVM único. Compila desde fuente local, monta recursos de virtualización del host y expone el frontend en el puerto 80.
Arranque e inspección
Desde cto-gui:
docker compose -f docker-compose.self-hosted.yml up --build -d
docker compose -f docker-compose.self-hosted.yml ps
docker compose -f docker-compose.self-hosted.yml logs --tail=200 backend frontendAmbos servicios deberían estar en ejecución. El backend debe conectarse a qemu:///system; un contenedor sano que no puede alcanzar libvirt no es un despliegue utilizable.
Qué hace Compose
- compila el backend desde
../cto-gui-libvirt-backend; - compila el frontend desde
cto-gui/Dockerfile.frontendcon modo UI autohospedado habilitado; - pasa
/dev/kvmy el socket libvirt a un contenedor backend privilegiado; - monta
/var/lib/libvirt/imageslectura-escritura; - monta directorios source ISO e imagen golden promovida de solo lectura;
- almacena datos del backend en el volumen con nombre
cto-data; - reinicia ambos servicios salvo que se detengan explícitamente.
Qué no hace Compose
No configura TLS, un proveedor de identidad de producción, alta disponibilidad, base de datos externa, copias de seguridad fuera del host, gestor de secretos, envío de logs, actualizaciones automáticas ni programador multi-host. restart: unless-stopped es política de reinicio de contenedor, no alta disponibilidad del servicio.
Actualizar una evaluación
Registra el commit actual e inventaria guests en ejecución antes de recompilar:
git rev-parse HEAD
docker compose -f docker-compose.self-hosted.yml ps
virsh -c qemu:///system list --all
docker compose -f docker-compose.self-hosted.yml build --pull
docker compose -f docker-compose.self-hosted.yml up -dDespués, repite comprobaciones de modo, lanzamiento ISO, VNC, detener, eliminar y reiniciar. El repositorio no promete una actualización Compose sin tiempo de inactividad.
Detener sin borrar estado
docker compose -f docker-compose.self-hosted.yml downEvita --volumes en parada o actualización rutinaria. El volumen con nombre contiene estado de prueba durable y journals de limpieza usados tras reiniciar.