Escribe un mensaje a un asistente comercial y ese texto viaja hasta los servidores de la empresa que lo ofrece, donde puede quedar registrado, revisado o usado según sus condiciones. Existe una alternativa directa: Open WebUI sobre Ollama, en tu propio servidor, monta un chat privado de IA cuya única frontera es tu máquina. Instalas Docker, arrancas un contenedor, descargas un modelo y desde el navegador conversas con una IA que no sale de tu red.
Qué cambia de verdad en un chat privado de IA
El cambio más tangible está en dónde ocurre la inferencia: deja de ejecutarse en servidores ajenos para correr en tu propio equipo.
Tus conversaciones dejan de viajar a terceros
En un servicio alojado, cada prompt y cada documento que adjuntas cruza internet y pasa por infraestructura ajena. Con Ollama, el modelo corre en tu CPU o en tu GPU y la inferencia ocurre íntegramente en tu equipo; ni el texto ni los ficheros abandonan la máquina. Si cortas la conexión de red, el chat sigue funcionando igual.
Eso importa sobre todo cuando el material es sensible: contratos, código propietario, notas internas o datos de clientes. Con self-hosting no hay que leer letra pequeña porque la letra pequeña la escribes tú.
El coste pasa de suscripción a hardware
Un chat de IA privada desplaza el gasto: en lugar de una cuota mensual por usuario o por token, pagas en electricidad y en el equipo que ya tienes. Para un uso intensivo, esa aritmética se vuelve favorable enseguida. Para un uso esporádico, el ahorro es menor y el motivo real es el control sobre los datos.
Ninguna política de retención de terceros pesa en la ecuación, y ningún cambio de condiciones comerciales puede encarecer tu instalación de un día para otro. Antes de comprar hardware nuevo, pruébalo con lo que tienes entre manos: un portátil normal ya mueve modelos pequeños.
Open WebUI: qué es y qué aporta
Si Ollama es el motor, Open WebUI es la cara: una interfaz web de chat que habla con su API.
Una interfaz web de chat sobre Ollama
Ollama es el motor: descarga y ejecuta modelos en local y expone una API en tu máquina. Open WebUI es la cara: una interfaz web de chat que se despliega como contenedor Docker y habla con esa API. El resultado se parece a cualquier asistente comercial, salvo porque todo el circuito vive en tu servidor.
La separación de papeles tiene una ventaja práctica: puedes actualizar la interfaz sin tocar los modelos, y cambiar de modelos sin tocar la interfaz.
Historial, multiusuario y documentos
La interfaz guarda el historial de conversaciones en local, así que retomas un hilo de hace semanas sin depender de una nube. Soporta varias cuentas: la primera que se crea queda como administradora y desde ahí se gestionan el resto y sus permisos. También acepta que subas documentos para consultarlos en el chat, lo que convierte la instalación en un asistente sobre tus propios ficheros.
Completan el conjunto la gestión de modelos, los prompts del sistema y las plantillas reutilizables, todo desde la propia interfaz. El siguiente paso lógico es verlo en marcha: la instalación con Docker ocupa la sección siguiente.
Instalación con Docker en pocos minutos
Antes de empezar, conviene repasar qué necesitas tener a punto en tu máquina para seguir los pasos.
Requisitos previos
Necesitas una máquina con Docker funcionando, unos gigas libres para el modelo y, si quieres velocidad, una GPU con sus drivers. Instalar Ollama en Linux se reduce a una línea:
curl -fsSL https://ollama.com/install.sh | sh
En macOS y Windows hay instaladores oficiales en la web del proyecto. Si prefieres no instalar nada aparte, existe una etiqueta de la imagen de Open WebUI que trae Ollama dentro.
Levantar el contenedor
El comando documentado para el caso más común, con Ollama instalado en el anfitrión, es este:
docker run -d -p 3000:8080
--add-host=host.docker.internal:host-gateway
-v open-webui:/app/backend/data
--name open-webui
--restart always
ghcr.io/open-webui/open-webui:main
Cada pieza cumple una función: el mapeo de puertos expone la interfaz en el 3000, el volumen conserva usuarios y conversaciones entre reinicios, y el flag --add-host permite al contenedor localizar a Ollama en la máquina anfitrión. Si trabajas con compose, los mismos parámetros se traducen a un docker-compose.yaml sin complicaciones.
Primer acceso y conexión con Ollama
Abre http://localhost:3000 (o la IP del servidor) y crea tu cuenta: la primera se convierte en administradora. En los ajustes de conexiones, la interfaz suele detectar a Ollama en http://host.docker.internal:11434; si no aparece, escríbelo a mano. Desde ese panel también puedes gestionar modelos sin tocar la terminal.
Vías empaquetadas si quieres un atajo
Montarlo a mano enseña cómo encaja cada pieza, pero no es obligatorio. En los packs de d0a1 hay instalaciones empaquetadas de stacks self-hosted, pensadas para quien prefiere una vía más directa que el docker run. Úsalas como punto de partida y personaliza después.
Comprueba que el contenedor sigue en pie tras reiniciar el servidor: el flag --restart always se ocupa de levantarlo sin que hagas nada.
Modelos: descargar, elegir y ajustar
Para empezar, descarga tu primer modelo desde la terminal o la interfaz de Ollama.
Tu primer modelo
Desde la terminal, ollama pull llama3 descarga el modelo y lo deja listo; la propia interfaz también permite hacerlo desde su panel de modelos. Nombres como mistral o qwen2.5 son alternativas habituales en la librería de Ollama. Empieza por una variante pequeña: el ciclo de descarga, prueba y ajuste será cuestión de minutos y no de horas.
Qué puede mover tu hardware
Los modelos pequeños corren con la RAM de un portátil normal y responden razonablemente bien en CPU. Los grandes piden GPU con memoria con holgura, y la diferencia de velocidad entre ambos mundos se nota en cada respuesta. Con tarjetas NVIDIA, Ollama usa la GPU con los drivers estándar; en Mac con Apple silicon, la memoria unificada juega a favor.
Prompts del sistema y perfiles por modelo
Cada chat permite fijar un prompt del sistema que define tono y comportamiento, y guardar ese ajuste como plantilla para reutilizarlo. Con varios modelos descargados, puedes alternar entre uno rápido para dudas cortas y otro más capaz para trabajo serio. Esa combinación de perfiles es una de las ventajas menos publicitadas del self-hosting.
Descarga hoy uno pequeño y úsalo un par de días; solo entonces decide si merece la pena bajar un modelo grande.
Privacidad, datos y operación diaria
Antes de nada, conviene tener claro dónde se guarda cada cosa en tu instalación local.
Dónde vive todo
Los datos de Open WebUI (usuarios, conversaciones, documentos subidos) residen en el volumen que montaste al crear el contenedor. Los modelos quedan bajo el directorio de Ollama en el anfitrión. Copiar ambos es tu copia de seguridad: un tar del volumen y del directorio de modelos, sin servicios de nube de por medio.
La gracia de un chat privado de IA es precisamente esa: el conjunto completo de datos cabe en un directorio que tú controlas.
Exponer el servicio con cabeza
La interfaz pide cuenta y contraseña, pero eso no la convierte en un servicio preparado para internet abierto. Mi recomendación es mantenerla en la red local o acceder mediante una VPN como WireGuard o Tailscale; si la publicas, colócala detrás de un proxy inverso con TLS. El patrón es el mismo que con cualquier aplicación web self-hosted: mínima superficie expuesta.
Actualizar sin perder nada
Actualizar se reduce a dos pasos: traer la imagen nueva y recrear el contenedor.
docker pull ghcr.io/open-webui/open-webui:main
docker rm -f open-webui
Tras relanzar el docker run inicial con los mismos parámetros, los datos del volumen siguen ahí: historial, cuentas y documentos intactos. Haz el tar del volumen antes, así tendrás copia por si algo sale raro.
Añade ese tar a tu rutina mensual de backups y el historial queda a salvo ante cualquier actualización.
Del chat manual a la automatización
Ese es el salto del chat puntual al uso integrado en tus flujos: llevar los modelos a tus propios sistemas.
Llevar los modelos a tus propios sistemas
Ollama expone una API REST en el puerto 11434, y Open WebUI abre su propia API con formato compatible al de OpenAI, así que cualquier script de tu lado puede hablar con los modelos. Ese es el salto del chat puntual al uso integrado en tus flujos. Si tu destino es un CMS, hay una guía para montar IA local en WordPress con Ollama y Qdrant que cubre ese caso de principio a fin.
Del chat al agente
El siguiente escalón es que la IA ejecute tareas en lugar de limitarse a responder. Para eso existe un stack para automatizar tareas con Hermes Agent y docker compose, que encaja al lado del contenedor de Open WebUI sin pisarse. Ambos pueden compartir el mismo Ollama, de modo que los modelos descargados se aprovechan dos veces.
Antes de automatizar nada, lanza un curl contra la API desde otra máquina de tu red; si responde, ya tienes la base montada.
Dónde correrlo: tu equipo o un servidor
Empecemos por correrlo en tu propia máquina.
En tu propia máquina
Para pruebas y uso personal, el portátil o el sobremesa de casa cumplen con holgura. El inconveniente aparece cuando quieres acceder desde el móvil, desde fuera o cuando el equipo se apaga por la noche. Un chat privado pierde parte de su gracia si solo está disponible a ratos.
En un servidor siempre encendido
Para dejarlo siempre disponible conviene un servidor propio. Un VPS para IA local mantiene el contenedor despierto y accesible desde cualquier sitio, sin depender de que tu portátil esté abierto. Antes de elegir tamaño, en d0a1.es/vps/ se compara hardware y precios para no pagar de más; los modelos grandes piden RAM y GPU que no todo plan incluye, así que revisa ese punto con cuidado. Para la decisión completa por patrones de uso, la guía de Self-hosting de IA: VPS, costes y hardware compara las tres vías con cifras.
Decide según tu uso: si lo consultas solo en horario de trabajo desde casa, tu equipo basta; si lo quieres siempre a mano, mueve el stack tal cual al servidor y repite la instalación.
Por dónde empezar
Para ir directo al grano, este es el camino corto: lanza el contenedor y revisa estos puntos si algo no funciona.
El camino corto
- Instala Ollama en la máquina elegida con el script de la web del proyecto.
- Levanta el contenedor de Open WebUI con el docker run de la sección de instalación.
- Entra desde el navegador en
http://localhost:3000y crea tu cuenta, que queda como administradora. - Descarga un modelo pequeño (
ollama pull llama3o desde el panel de la interfaz). - Abre un chat, sube un PDF y pregúntale por su contenido para ver el circuito completo de documentos.
- Cuando el chat se quede corto, da el salto al agente local con Hermes y Docker Compose.
Si algo falla
Si el contenedor no encuentra a Ollama, revisa la conexión apuntando a http://host.docker.internal:11434 y verifica el flag --add-host del arranque. Si la página no carga, comprueba que el puerto 3000 está libre con docker ps y cambia el mapeo si hace falta. Cuando las respuestas van lentas, prueba con una variante más pequeña del modelo o con un equipo con GPU. Y si quieres empezar de cero, borra el volumen y vuelve a lanzar el comando, sabiendo que pierdes historial.
Reserva hoy diez minutos para los cuatro primeros pasos y deja el quinto para cuando tengas a mano un documento real. Cuando ese primer mensaje responda sin salir de tu red, el stack queda montado; todo lo demás (perfiles, agentes, servidores) son extensiones opcionales del mismo contenedor.
