Una de las formas más recomendables de instalar Home Assistant en un mini PC, es usando Proxmox como sistema operativo base, y posteriormente virtualizar Home Assistant OS en el equipo. De esta forma, podremos replicar muy fácilmente la máquina virtual, realizar copias de seguridad completas de la VM e incluso también tenemos la posibilidad de crear snapshots para evitar que un error, nos haga tener que recuperar una copia de seguridad anterior. Aunque usar Proxmox como sistema base y HAOS como sistema virtualizado es menos eficiente a nivel de recursos y rendimiento, lo cierto es que las ventajas superan por bastante a los puntos débiles.
Home Assistant Operating System (HAOS) permite la instalación de forma nativa en cualquier equipo con arquitectura x86, como un mini PC, lo único que necesitamos es que tengamos configurada la BIOS/UEFI en modo UEFI para que arranque correctamente. No obstante, una buena decisión antes de instalarlo de forma nativa, es usar Proxmox para tener a nuestra disposición la posibilidad de clonar, replicar e incluso hacer copias de seguridad muy rápidas de todo el sistema. Nosotros hemos probado con Proxmox tanto el mini PC GEEKOM Mini Air12 con un procesador Intel N100, como también el GEEKOM Mini IT12 que dispone de un potente procesador Intel Core i7-12650H.
Qué es Proxmox y para qué sirve
Proxmox Virtual Environment, o también conocido como Proxmox VE, es un entorno de virtualización de servidores de código abierto. Es una distribución basada en las últimas versiones de Debian, y tiene como objetivo el despliegue y la gestión de máquinas virtuales y también contenedores. Proxmox VE dispone de una consola a la que se accede vía web para facilitar enormemente la gestión y el despliegue de todas las máquinas virtuales, además, también podemos ejecutar cualquier comando a través de consola, e incluso dispone de una API REST para herramientas de terceros.
Aunque Proxmox es código libre, dispone de ciertas licencias para empresas que proporcionan soporte 24/7 y también características adicionales. Además, este software también dispone de soluciones para empresas específicamente diseñadas, como Proxmox Backup Server que es un servicio para realizar copias de seguridad y restauración de las máquinas virtuales, contenedores y hosts físicos. También tenemos Proxmox Mail Gateway que es un software diseñado específicamente para funcionar como servidor de correo en empresas.
Para poder instalar una máquina virtual con Home Assistant Operating System o HAOS en Proxmox, lo primero que debemos hacer es instalar este sistema de virtualización en nuestro mini PC o servidor. A continuación, os vamos a explicar paso a paso cómo hacerlo todo.
Qué ventajas tiene
Seguramente te preguntes cuáles son las ventajas de instalar esta solución de código abierto para instalar una VM. De entre los beneficios de usar esta alternativa, se pueden destacar los siguientes aspectos:
- Un mejor rendimiento. Esta alternativa te permite tener una mayor productividad, además de una mejor eficacia y agilidad en las tareas que realices con este sistema de virtualización. Al igual que ofrece una alta capacidad de respuesta del departamento de TI.
- Tiene un menor coste: Lo bueno de esta opción es que te puede servir de ayuda si quieres reducir los coste fijos, además de los gastos de operaciones.
- Te ahorra tiempo: No solo tiene un alto rendimiento, sino que también te ayudará a ahorrar tiempo. Y todo porque consigue dar una serie de facilidades a la hora de desplegar los recursos y las aplicaciones. Todo este proceso lo simplifica por completo, al igual que consigue minimizar o hasta eliminar los tiempos de inactividad que se puedan dar.
Desventajas de Proxmox
- Curva de aprendizaje: roxmox puede ser complejo de configurar y administrar para aquellos que no están familiarizados con la virtualización o con entornos de servidores Linux.
- Soporte limitado: Pese a que tiene una comunidad grande y mucha información de manera gratuita, su soporte técnico oficial requiere una suscripción de pago.
- Interfaz: Aunque la interfaz web de Proxmox es bastante completa, algunas configuraciones avanzadas y tareas pueden requerir el uso de la línea de comandos, por lo que muchos usuarios puede que no estén acostumbrados a ello, y les resulte más complicado.
- Limitaciones: Aunque Proxmox es bastante completo e interesante, puede carecer de algunas características avanzadas que se encuentran en otros programas comerciales de virtualización, como VMware vSphere o Microsoft Hyper-V.
Es probable que muchas de ellas no te influya, sin embargo, está bien conocerlas de antemano, para saber sus limitaciones.
Sus tecnologías de virtualización
Algunas características muy importantes de este gran sistema de virtualización, es que soporta KVM para virtualizar los sistemas operativos con el mejor rendimiento posible, además, permite migración en vivo, dispone de un sistema de alta disponibilidad y dispone de plantillas para diferentes sistemas operativos. Además, podemos programar las copias de seguridad de manera muy avanzada, e incluso dispone de potentes herramientas a través de la línea de comandos.
Este software de virtualización es realmente completo, muy similar a VMware vSphere y otros sistemas de virtualización similares, pero completamente gratuito. Por lo tanto, hay que tener en cuenta cuáles son las tecnologías de virtualización que permite:
- Linux Containers (LXC): te permite la posibilidad de llegar a ejecutar distintos sistemas Linux que estén aislado en un solo host de control. Por lo que los usuarios tienen la opción de crear, además de administrar, contenedores de sistemas o las aplicaciones con mayor facilidad.
- Kernel-based VM (KVM): hay que tener en cuenta que KVM te da la oportunidad de ejecutar Windows o Linux en VM. Además, cada VM puede tener un hardware virtualizado privado. De esta manera, al ejecutar diferentes apps en VM en un solo hardware se puede conseguir reducir los costes, además de que aumenta la flexibilidad si se quiere tener un centro de datos que esté definido por software.
Descarga e instalación de Proxmox en un mini PC
Lo primero que debemos hacer para instalar este sistema operativo es entrar en la web oficial de Proxmox, y pinchar en la sección de «Downloads»:
En la sección de descargas de Proxmox, debemos seleccionar «Proxmox Virtual Environment» ya que es lo que queremos instalar. Ahora mismo la última versión es Proxmox VE 8.0, pinchamos en «Download» para proceder con su descarga.
Una vez que esté descargada la imagen ISO, deberemos hacer los siguientes pasos para poder arrancar la imagen ISO en nuestro mini PC, y proceder con la instalación:
- Conectar un pendrive de 16GB o más a nuestro ordenador, este será el medio de arranque para poder instalarlo en el mini PC.
- Debemos crear una imagen autoarrancable, podemos usar el programa Rufus o cualquier otro que sirva para este mismo fin.
Una vez que tengamos el pendrive listo, debemos entrar en la BIOS/UEFI de nuestro mini PC, y seleccionar que el USB sea el primer método de arranque. Nosotros hemos utilizado un mini PC GEEKOM Mini Air12, las principales características de este modelo es que tiene un potente procesador Intel N100, dispone de una GPU integra en el procesador, 16GB de RAM DDR5, y un total de 512GB de almacenamiento SSD NVMe por defecto. Esto es perfecto para instalar Proxmox, ya que consume muy pocos recursos, y la unidad SSD NVMe es realmente rápida y de marca Lexar, una marca de calidad.
Este modelo de mini PC de bajo consumo puedes comprarlo en Amazon con un descuento del 10% aplicando el cupón «RDZ12air12«:
También puedes comprarlo en la web oficial de GEEKOM, si usas el cupón «redeszone20» tendrás 20€ de descuento.
Lo primero que debemos hacer es conectar un teclado al mini PC por USB, y también el pendrive con el Proxmox instalado con Rufus, nosotros hemos conectado el pendrive con Proxmox en el puerto USB frontal tipo A que tenemos en el equipo. Por supuesto, también es necesario tener conectado el cable HDMI y el de alimentación, una vez hecho esto, encendemos el mini PC y empezamos a pulsar el botón «SUPR o DEL» del teclado, para acceder a la BIOS/UEFI a la primera, sino pulsamos este botón casi de forma continuada, cargará el sistema operativo Windows que viene preinstalado. En el menú principal de la BIOS/UEFI podemos ver el modelo del equipo, el GEEKOM Mini Air12:
Con el teclado, nos vamos a la sección de «BOOT» ya que es donde tenemos la configuración del arranque. Cuando entremos, veremos la siguiente configuración:
De manera predeterminada, el boot 1 es el SSD NVMe interno con el sistema operativo Windows, sin embargo, el pendrive con Proxmox instalado tiene prioridad de boot 3, así que debemos «subir» esta prioridad, para dejar el boot 1 con este USB, y el NVMe como boot 2 para posteriormente no tener que cambiarlo. Con las teclas + y – del teclado podrás aumentar o disminuir la prioridad, también podrías pulsar enter al boot que quieras, y ponerlo como arranque principal. El resultado debería ser el siguiente:
En estos instantes, ya tendremos configurada la BIOS/UEFI de este mini PC, y debemos irnos al menú de «Save & Exit» y elegir la opción de «Save changes and exit», para guardar los cambios y reiniciar el mini PC. En cuanto se reinicie, ya nos aparecerá el menú de instalación paso a paso de Proxmox.
En este ejemplo, y para poder realizar todas las capturas de pantalla, hemos instalado Proxmox dentro de VMware Workstation en Windows, pero la instalación en un mini PC como el GEEKOM Mini Air12 de manera nativa sería exactamente igual, nada cambia porque es instalar un sistema operativo normal y corriente, aunque en este caso, está basado en Linux.
Una vez que ha cargado el instalador del sistema operativo, tendremos un pequeño asistente paso a paso de instalación. En el primer menú veremos el acuerdo de licencia que debemos aceptar, después tenemos que elegir el disco duro o SSD donde vamos a instalar el sistema operativo, nuestra recomendación es que lo instales directamente en una unidad SSD, ya sea SATA3 o NVMe, con el objetivo de tener el mejor rendimiento posible en lectura y escritura.
Otros ajustes que debemos realizar son los relativos a seleccionar el país y zona horaria, así como la distribución del teclado. También tenemos que introducir la contraseña para el superusuario «root«, este usuario root y la contraseña es la que deberemos introducir vía web más adelante, no debemos olvidar la contraseña. A continuación, tendremos la configuración de la red, donde podemos poner el hostname que queramos, y también elegir tanto la dirección IP privada, máscara de subred, puerta de enlace predeterminada y también los servidores DNS. Por defecto la red la coge a través del DHCP, pero podemos poner una IP fija sin problemas.
Finalmente, nos saldrá un resumen con todos los ajustes que hemos realizado en los menús anteriores.
El proceso de instalación tarda unos 5 minutos aproximadamente, cuando termine el proceso se reiniciará el sistema automáticamente, y cargará el sistema operativo sin que tengamos que hacer nada más.
En la pantalla que tengamos conectado el mini PC, simplemente veremos la dirección IP de acceso con el puerto predeterminado, también podemos iniciar sesión de manera local por si hay algún problema, no deja de ser un sistema operativo Debian.
Si entramos con el navegador web, nos dirá que la conexión no es privada porque tenemos un certificado autofirmado, es completamente normal.
Nos pedirá iniciar sesión, aquí tenemos que poner el nombre de usuario «root» y la contraseña que hayamos puesto anteriormente, el resto de opciones lo dejamos con los valores predeterminados. Pinchamos en el botón azul de «Login» para iniciar sesión.
Cada vez que entremos nos indicará que no tenemos una suscripción válida a Proxmox, y que nos recomienda visitar la web oficial para obtener un listado de opciones disponibles. Pinchamos en «Aceptar». Este aviso lo podremos quitar posteriormente, existen manuales por Internet para hacerlo y así no nos saldrá más veces.
El menú principal de Proxmox podemos ver el sistema base y todas las opciones de configuración disponibles, si nos vamos al nodo «Pve» podemos acceder a todas las máquinas virtuales que haya instaladas.
En la sección de «Resumen» podemos el estado general del sistema ahora mismo, pero hay que tener en cuenta que no tenemos ninguna máquina virtual ni contenedor LXC funcionando.
Una vez que ya tenemos el sistema operativo base instalado, vamos a crear la primera máquina virtual para posteriormente instalar Home Assistant OS y empezar con la domótica en nuestro hogar.
Configuración de la VM
El proceso de creación de una máquina virtual es bastante similar a VMware o VirtualBox. Lo primero que debemos hacer es pinchar en «Crear VM» que lo tenemos en la parte superior derecha en color azul. En cuanto pinchemos en este botón, se nos desplegará el asistente para la creación de máquinas virtuales.
En la pestaña de «General» tenemos que poner las siguientes opciones:
- Nodo: pve
- VM ID: 100 (es la primera)
- Nombre: un nombre descriptivo de la máquina virtual, nosotros hemos puesto «HomeAssistant»:
En la pestaña de «SO» tenemos que poner las siguientes opciones:
- No usar algún medio
- Sistema operativo Guest: Linux, 6.X 2.6 Kernel
En la pestaña de «Sistema» tenemos que poner las siguientes opciones:
- Tarjeta gráfica: Por defecto
- Machine: Por defecto (i440fx)
- Firmware BIOS: OVMF (UEFI)
- Add EFI Disk: marcado
- EFI Storage: local-lvm
- Controlador SCSI: VirtIO SCSI Single
- Qemu Agent: marcado
- Add TPM: no marcado
En la pestaña de «Discos» lo que debemos hacer es quitar todos los discos que tengamos aquí, lo tenemos que agregar posteriormente, así que simplemente lo eliminamos. En la pestaña de «CPU» ponemos la siguiente configuración:
- Sockets: 1.
- Núcleos: 2 o 4, depende de tu procesador real.
- Tipo: x86-x64-v2-AES.
- Memoria: 2048 (son MB, nuestra recomendación es de 2048MB como mínimo, es recomendable que tenga 4GB de RAM o 4096MB).
En la pestaña de «Red» ponemos la siguiente configuración:
- Sin dispositivo de red: desmarcado, queremos configurar la red.
- Puente: vmbr0
- Etiqueta VLAN: vacío
- Cortafuego: marcado
- Modelo: VirtIO (Paravirtualizado).
Una vez que hayamos configurado todo, nos saldrá un resumen de todas las configuraciones realizadas, ahora pinchamos en «Finalizar» y ya tendremos la máquina virtual creada.
Ahora podemos ver justo debajo de «pve» que nos aparece la máquina virtual con ID 100, y el nombre de la máquina virtual. Si accedemos a ella podemos ver el resumen, acceder a la consola de dicha máquina, ver y editar el hardware y muchas otras configuraciones avanzadas como las copias de seguridad y los snapshots.
Una vez que ya tenemos configurada la máquina virtual, ahora tenemos que descargar el Home Assistant OS en el propio equipo con Proxmox, y proceder a realizar algunas configuraciones adicionales para que cargue.
Descarga de Home Assistant en Proxmox
Ahora tenemos que irnos a la sección de descargas para Linux de Home Assistant Operating System, en la sección de KVM lo que debemos hacer es click derecho y pinchar en «Copiar dirección de enlace«.
Ahora nos metemos en la sección de «Pve» de Proxmox, y pinchamos en la opción de «Shell», se nos abrirá una consola para ejecutar comandos. Ahora debemos ejecutar el siguiente comando:
wget ENLACE_COPIADO
Empezará el proceso de descarga, esto suele tardar unos segundos, aunque depende de la conexión a Internet y del hardware que tengas. Si ejecutamos el comando «ls -l» podemos ver que lo hemos descargado correctamente.
Ahora debemos descomprimir la imagen, para ello simplemente ponemos el siguiente comando:
unxz NOMBRE_ARCHIVO
Nosotros hemos descargado la versión HAOS 10.5, dependiendo de la versión tendrá diferente nombre, simplemente podemos usar el tabulador para que nos complete el nombre que tenemos en ese directorio.
Ahora debemos ejecutar un comando para importar la imagen QCOW2 en la máquina virtual que hemos creado antes, os ponemos el comando y procedemos a explicarlo:
qm importdisk 100 haos_ova-10.5.qcow2 local-lvm --format qcow2
- 100: es el identificador de la máquina virtual a la que queremos importarlo.
- haos_ova-10.5.qcow2: nombre del archivo que previamente hemos descargado y descomprimido.
- local-lvm: es el volumen donde lo vamos a dejar
- –format qcow2: es el formato que utiliza.
Una vez que ejecutemos este comando, esperamos unos segundos y ya tendremos listado el disco para posteriormente asignarlo a la máquina virtual. Si os fijáis, tiene una etiqueta de «unused0» y es que no está en uso ahora mismo.
Ahora mismo ya está todo listo para asignar el disco virtual a la máquina virtual, y arrancarla.
Arranque de la VM
Si nos vamos a la máquina virtual que hemos configurado antes con ID de 100, y pinchamos en «Hardware» podemos ver todas las configuraciones realizadas previamente. Ahora podemos ver que hay un disco sin usar asignado, que es justamente lo que hemos realizado en el paso anterior.
Al hacer doble clic en este disco virtual no utilizado, se nos desplegará un nuevo menú, aquí solamente debemos editar el «Caché: Write Through» y pinchamos en el botón «Agregar«.
Antes de acabar, vamos a aprovechar para ordenar el orden de arranque de la máquina virtual, nos vamos a la sección de «Opciones» y en «Orden de arranque» podemos verlo.
En este menú elegimos que el dispositivo scsi0 con el disco virtual queremos que cargue el primero, podemos quitar el ide2 y el net0 sin problemas, eso ya como queráis, lo importante es ponerlo el primero para que cargue lo antes posible.
En estos instantes ya está todo listo para arrancarla, hacemos doble clic sobre la máquina virtual y la arrancamos. Empezará el proceso de arranque de Home Assistant y nos meteremos vía web a su administración con la dirección IP y puerto que nos indique en la máquina virtual, tal y como podéis ver:
En la sección de «Resumen» se puede ver el uso de CPU y RAM de la máquina virtual, en el primer arranque tenemos un consumo por encima de lo normal porque es la primera vez que arranca, y el sistema se está preparando, normalmente el consumo de este sistema de domótica es mínimo.
Ahora que ya tenemos el sistema operativo de Home Assistant arrancado, tenemos que esperar unos 10 minutos aproximadamente hasta que esté todo listo, y podamos empezar con su configuración (aunque dependerá de tu equipo). Lo primero que veremos es la pantalla de bienvenida, simplemente debemos pinchar en «Crear mi hogar inteligente» y seguir todos los pasos del asistente de configuración inicial.
En los diferentes menús nos guiará sobre cómo crear una cuenta de usuario para el administrador, poner la ubicación de nuestra casa para que nos proporcione información sobre el tiempo que va a hacer y otras automatizaciones que podemos configurar, también nos preguntará si queremos compartir algún dato para el desarrollo del sistema, y finalmente podemos escanear toda la red local en busca de dispositivos domóticos compatibles. Una vez que se haya terminado todo, podemos acceder directamente a la administración general del sistema de domótica.
En la sección de «Ajustes» es donde podrás realizar todas las opciones de configuración del sistema, automatizaciones, añadir nuevas integraciones y muchas más opciones disponibles.
Conclusiones
Home Assistant es uno de los sistemas domóticos más completos que tenemos hoy en día, una de las mejores formas de instalarlo (si no lo vas a instalar de forma nativa) es usar Proxmox, ya que tendremos a nuestra disposición la posibilidad de realizar snapshots de la máquina virtual de forma completamente transparente. También podemos hacer copias de seguridad a un servidor NAS que tengamos de forma local, e incluso a la nube, todo ello de forma bastante sencilla gracias a la interfaz gráfica de usuario de Proxmox. Aunque instalar HAOS en una VM no es tan eficiente con el consumo de recursos y el rendimiento que hacerlo en real, lo cierto es que las ventajas superan las desventajas, además, el sistema operativo de domótica consume muy pocos recursos por lo que no habrá problema con esto.
Tal y como habéis visto, la instalación de este sistema de domótica es un proceso algo complejo a través de Proxmox, pero una vez que está instalado, podremos empezar a realizar todas las configuraciones e integrar todos los dispositivos que tengamos en nuestro hogar. No debes olvidar que el propio HAOS también nos permitirá configurar un servidor VPN con WireGuard, e incluso podemos instalar complementos de terceros para tener funciones realmente avanzadas. Y lo mejor es que una vez completado todo el proceso de configuración e instalación, no es necesario un mantenimiento ni modificación de forma regular, sino que nos podremos olvidar de todo.
Nuestra recomendación es utilizar un mini PC, como ya comentamos, siendo este exclusivo para ello, ya que no necesitaremos tampoco un rendimiento y hardware super potente, por lo que podría resultarnos económico. De todas formas se podrá incluso virtualizar en tu equipo habitual, si no quieres instalar el SO de base, esto ya dependerá un poco de tus necesidades, aunque sí que recomendamos pensarlo detenidamente antes de hacer todo el proceso, ya que posteriormente podríamos darnos cuenta de que otra sería mejor opción y haber perdido bastante tiempo de configuración.