Saltar al contenido
Volver al blog
HomelabSelf-hostingIA

umbrelOS 2.0 hace más operable el homelab

Máquinas virtuales, almacenamiento ZFS, GPU y MCP con permisos para administrar un Umbrel sin abrir todo el servidor.

Ismael Catala7 min de lectura

Un servidor doméstico necesita controles, no solo aplicaciones

Instalar aplicaciones en un homelab ya no es complicado. Lo difícil empieza cuando hay que separar servicios, administrar discos, exponer algo en la red local o dar acceso a un agente de IA sin entregarle las llaves del servidor. umbrelOS 2.0 apunta a esa parte menos vistosa y más importante: convertir Umbrel en una plataforma que se pueda operar con cierta disciplina.

La versión incorpora Machines, un gestor de almacenamiento más completo, aceleración por GPU y un servidor MCP integrado. No cambia el hecho de que Umbrel sigue siendo una propuesta orientada a simplificar el autoservicio, pero ahora cubre tareas que antes obligaban a salir de su interfaz o montar otra capa de infraestructura. Para quien usa el homelab como entorno de pruebas, servidor multimedia o nodo de automatización, ese salto es relevante.

Máquinas virtuales con aislamiento y puertos publicados

Machines permite ejecutar sistemas operativos completos dentro de Umbrel. Las máquinas se administran desde el navegador y se pueden crear con recursos asignados de CPU, memoria y almacenamiento. Umbrel documenta imágenes para Ubuntu, Debian, Fedora, Alpine, Android y varias versiones de Windows, además de la opción de usar una ISO o una imagen de disco propia.

La red de las máquinas es privada: pueden salir a Internet, pero ni otros dispositivos de la red local ni otras máquinas pueden alcanzarlas directamente. Para publicar un servicio hay que configurar Port forwarding en los ajustes de cada máquina. El puerto expuesto en Umbrel debe estar entre 40000 y 49999, y se redirige al puerto que escuche dentro de la máquina.

Por ejemplo, una máquina Linux con SSH puede recibir conexiones desde la LAN mediante una regla que publique su puerto 22 en un puerto alto del host. Es una separación razonable para levantar un entorno de pruebas, una instancia temporal de Ubuntu o un servicio que no quiero mezclar con las aplicaciones principales de Umbrel. También reduce la tentación de exponer máquinas virtuales enteras sin revisar qué servicios tienen activos.

Puerto en Umbrel: 40022
Destino dentro de la máquina: 22
Servicio publicado: SSH

Hay un matiz importante: las máquinas arrancan junto con Umbrel y consumen CPU y memoria reales. En hardware propio conviene comprobar que la virtualización Intel VT-x o AMD-V esté activada en la BIOS. Si Umbrel está instalado dentro de otra máquina virtual sin virtualización anidada, o si se ejecuta una arquitectura distinta a la del host, Machines recurre a emulación por software y el rendimiento cae de forma notable.

El almacenamiento deja de ser una decisión escondida

Storage Manager organiza los discos internos de los equipos que tienen dos o más bahías NVMe o SATA. Desde Settings > Storage Manager se pueden añadir unidades, consultar su estado y elegir entre FailSafe y Full Storage. En ambos casos Umbrel usa ZFS, pero el resultado operativo es muy diferente.

FailSafe prioriza tolerancia a un fallo de disco. Con SSD utiliza ZFS RAIDZ1; con discos mecánicos emplea pares espejados y exige un número par de unidades. Full Storage suma toda la capacidad disponible mediante striping, pero la pérdida de una sola unidad implica perder el conjunto completo.

No es una elección que deba hacerse por defecto. Full Storage puede encajar en datos reproducibles, cachés o un laboratorio donde la capacidad importe más que la continuidad. FailSafe tiene sentido para fotos, documentos o datos de aplicaciones que no quiero restaurar a contrarreloj, aunque siga necesitando copias de seguridad fuera del equipo.

Umbrel también contempla aceleración SSD cuando el almacenamiento principal son discos duros y queda una ranura SSD disponible. Ese SSD se usa para datos pequeños, metadatos y caché de lectura; no convierte los HDD en un almacenamiento SSD ni sustituye una estrategia de backup. Además, la unidad de arranque de umbrelOS no puede formar parte del pool, así que en hardware propio hay que planificar el disco de sistema por separado.

La GPU pasa a ser un recurso de las aplicaciones

umbrelOS 2.0 detecta GPU de NVIDIA, AMD e Intel, incluidas GPU integradas y eGPU por Thunderbolt. Las aplicaciones compatibles pueden usarlas sin instalar controladores manualmente, y el consumo de GPU y VRAM aparece en Live Usage. Es una mejora práctica para Ollama y para servidores multimedia como Jellyfin.

La configuración no consiste en activar un interruptor global. Solo las aplicaciones preparadas para usar GPU reciben acceso a ella, y el diálogo de instalación lo indica como requisito. Si añado una GPU después de instalar la aplicación, tengo que reiniciarla para que pueda aprovecharla.

Esto también marca un límite claro frente a soluciones de virtualización más avanzadas. Machines no permite hacer passthrough de la GPU a una máquina virtual para IA o juegos. Las máquinas Linux y Android pueden usarla para dibujar el escritorio con más fluidez, pero la GPU no se entrega directamente al sistema invitado.

MCP integrado con permisos explícitos

La parte más interesante para quien trabaja con agentes es el servidor MCP incorporado. Desde Settings > AI agents (MCP) se puede conectar Claude Code, Codex, OpenClaw y otros clientes compatibles. Cada agente recibe un token independiente, y Umbrel solo muestra ese token una vez durante la configuración.

La clave no está en que un agente pueda instalar aplicaciones o revisar registros, sino en cómo se limita su alcance. Por defecto solo puede ver información básica; después hay que conceder permisos para aplicaciones concretas, carpetas, App Store, administración de umbrelOS o máquinas específicas. Un agente con acceso a una aplicación puede modificar sus datos, ajustes y registros, además de reiniciarla, actualizarla o desinstalarla.

Para Codex, Umbrel proporciona las instrucciones de conexión en pantalla. Si prefiero entender qué se está guardando, la configuración equivalente usa el endpoint MCP local y un token leído desde una variable de entorno:

[mcp_servers.umbrel]
url = "http://umbrel.local/mcp"
bearer_token_env_var = "UMBREL_MCP_TOKEN"

El valor de UMBREL_MCP_TOKEN debe ser el token generado por Umbrel para ese agente, no una contraseña reutilizada. El endpoint usa HTTP en la red local aunque la interfaz web de Umbrel se abra por HTTPS, porque los clientes MCP no confían automáticamente en el certificado local de Umbrel. Para conectar un agente que corre fuera de casa, la documentación propone usar Tailscale en ambos extremos y apuntar a la IP de Tailscale del servidor.

La letra pequeña

MCP está en beta y los agentes actúan como el propietario del sistema dentro de los permisos concedidos. No pueden apagar ni restaurar de fábrica Umbrel, gestionar usuarios, copias de seguridad o ajustes de red, pero sí pueden hacer cambios reales en aplicaciones, archivos y máquinas autorizadas. Un token no es una integración decorativa: hay que tratarlo como una credencial con capacidad operativa.

FailSafe tampoco es una copia de seguridad. Protege ante el fallo de una unidad, no ante un borrado accidental, un error de configuración, un robo o un problema físico del equipo. umbrelOS puede hacer backups cifrados a otro Umbrel, un NAS o una unidad USB, y esa sigue siendo la capa que permite recuperar los datos cuando el problema no es un disco aislado.

Tampoco recomendaría actualizar sin revisar el escenario de almacenamiento. En instalaciones propias creadas con umbrelOS 1.x, usar varios discos internos con Storage Manager puede requerir una instalación nueva de umbrelOS 2.0, configurar el almacenamiento y restaurar una copia. Además, después de actualizar desde la rama 1.x no se puede volver atrás sin borrar el equipo.

umbrelOS 2.0 no sustituye Proxmox si necesito topologías de red complejas, alta disponibilidad, passthrough de GPU o una gestión detallada del hipervisor. Tampoco elimina la necesidad de saber qué aplicación estoy instalando, qué carpetas comparto o qué permisos entrego a un agente. Lo que aporta es una capa más coherente para administrar un homelab sencillo sin convertir cada tarea en una sesión de terminal.


Fuente: lanzamiento de umbrelOS 2.0 en GitHub Documentación oficial de umbrelOS 2.0