# VirtManager Una API REST y interfaz web para gestionar máquinas virtuales en Ubuntu usando FastAPI, libvirt y noVNC para consola web. ## Características - **Gestión completa de VMs**: Crear, listar, iniciar, detener y eliminar máquinas virtuales. - **Configuración de arranque**: Cambiar el orden de arranque de las VMs (disco duro, CD-ROM, etc.). - **Subida de ISOs**: Sube imágenes ISO directamente desde la interfaz web para usar en la creación de VMs. - **Gestión de ISOs**: Lista y elimina ISOs subidas. ## Instalación ### Prerrequisitos del Sistema Asegúrate de que libvirt esté instalado y configurado: ```bash sudo apt update sudo apt install -y libvirt-daemon-system libvirt-dev pkg-config python3-libvirt novnc websockify sudo apt install python3-pip python3.12-venv ``` Crea el directorio para ISOs (opcional, se crea automáticamente): ```bash sudo mkdir -p /var/lib/libvirt/images/isos ``` ### Instalación del Proyecto 1. Clona o descarga el proyecto en `/home/creylopez/virtmanager` (o ajusta las rutas según corresponda). 2. Crea y activa un entorno virtual: ```bash python3 -m venv venv source venv/bin/activate pip install libvirt-python ``` 3. Instala las dependencias de Python: ```bash pip install -r requirements.txt ``` 4. Configura permisos para libvirt (opcional, si no usas sudo): ```bash sudo usermod -a -G libvirt $USER # Reinicia la sesión para aplicar cambios ``` ### Configuración del Servicio Systemd (Auto-inicio) Para que VirtManager se inicie automáticamente con el sistema: 1. Crea el archivo de servicio: ```bash sudo tee /etc/systemd/system/virtmanager.service > /dev/null <