Open WebUI: Ejecutando Tu Propia Interfaz de IA Local y en la Nube
Configurando Open WebUI para desarrollo local y despliegue en la nube — comparando interfaces de IA autoalojadas con alternativas comerciales.

Todo desarrollador que conozco tiene al menos tres pestañas de chat con IA abiertas en cualquier momento. ChatGPT para una cosa, Claude para otra, quizás una ventana de Gemini para tareas multimodales. Cada una tiene su propio historial de conversaciones, su propio contexto, su propia facturación. Cambiar entre ellas es fricción que dejas de notar hasta que desaparece.
Open WebUI elimina esa fricción. Es una interfaz autoalojada que se conecta a múltiples backends de IA — modelos locales vía Ollama, APIs en la nube como OpenAI y Anthropic, o cualquier endpoint compatible con OpenAI. Una interfaz, un historial de conversaciones, un solo lugar para gestionar todo. Y como lo alojas tú mismo, tus datos nunca salen de tu infraestructura a menos que los envíes explícitamente a una API en la nube.
Qué Es Open WebUI
Open WebUI (anteriormente Ollama WebUI) es una interfaz web open source y autoalojada para interactuar con modelos de lenguaje grandes. Comenzó como un frontend para Ollama — la herramienta que ejecuta LLMs localmente — pero ha evolucionado a una plataforma de IA completa que soporta:
- Múltiples backends de modelos (Ollama, OpenAI, Anthropic, cualquier API compatible con OpenAI)
- Historial de conversaciones con búsqueda y organización
- RAG (Retrieval-Augmented Generation) con carga de documentos
- Presets de modelos personalizados y system prompts
- Gestión de usuarios y controles de acceso por equipo
- Function calling y uso de herramientas
- Integración de generación de imágenes
- Entrada y salida de voz
No es un proyecto de juguete. La interfaz es pulida, el conjunto de funcionalidades es completo y la comunidad es activa. Al momento de escribir esto, el repositorio de GitHub tiene más de 75,000 estrellas y un ritmo de lanzamientos de aproximadamente cada dos semanas.
La verdadera propuesta de valor es el control. Tú decides dónde se ejecuta, a qué modelos se conecta, quién tiene acceso y a dónde van los datos. Para desarrolladores que trabajan con código sensible, datos comerciales propietarios o industrias reguladas, esto importa más que cualquier comparación de funcionalidades.
Configuración Local con Docker
La forma más rápida de tener Open WebUI funcionando localmente es Docker. Un comando, sin dependencias que instalar, sin archivos de configuración que escribir:
docker run -d \
-p 3000:8080 \
-v open-webui:/app/backend/data \
--name open-webui \
ghcr.io/open-webui/open-webui:main
Eso es todo. Abre http://localhost:3000 en tu navegador, crea una cuenta de administrador y tienes una interfaz de IA funcionando. El flag -v open-webui:/app/backend/data crea un volumen Docker para almacenamiento persistente — tus conversaciones, configuraciones y documentos cargados sobreviven a los reinicios del contenedor.
Conectando a Ollama
Para usar modelos locales, necesitas Ollama ejecutándose en tu máquina. Instálalo desde ollama.com, luego descarga un modelo:
ollama pull llama3.1
ollama pull codellama
ollama pull mistral
Si Open WebUI y Ollama están ejecutándose en la misma máquina, Open WebUI detecta automáticamente Ollama en http://host.docker.internal:11434 (en macOS y Windows) o http://localhost:11434 (en Linux con --network host).
Para Linux, el comando Docker necesita modo de red host para alcanzar Ollama:
docker run -d \
-p 3000:8080 \
--network host \
-v open-webui:/app/backend/data \
--name open-webui \
ghcr.io/open-webui/open-webui:main
Una vez conectado, cada modelo que hayas descargado en Ollama aparece en el dropdown de modelos en Open WebUI. Puedes cambiar entre ellos a mitad de conversación, comparar salidas y establecer system prompts por modelo.
Conectando a APIs en la Nube
Open WebUI también se conecta a proveedores de modelos en la nube. En la configuración de administrador bajo "Connections," agrega tus claves API:
- OpenAI: Agrega tu clave API y todos los modelos GPT estarán disponibles
- Anthropic: Agrega tu clave API para los modelos Claude (vía proxy compatible con OpenAI o integración directa dependiendo de la versión)
- Endpoints personalizados: Cualquier servicio que exponga una API compatible con OpenAI — Azure OpenAI, Together AI, Groq, instancias locales de vLLM
Aquí es donde Open WebUI se vuelve genuinamente útil como herramienta diaria. Obtienes una interfaz para modelos Llama locales (gratuitos, privados, buenos para experimentación) y modelos en la nube (más capaces, facturación por uso). El costo de cambio de contexto baja a cero — solo cambias el modelo en el dropdown.
Docker Compose para un Stack Completo
Para una configuración local más robusta, usa Docker Compose para ejecutar Open WebUI y Ollama juntos:
# docker-compose.yml
version: "3.8"
services:
ollama:
image: ollama/ollama
container_name: ollama
ports:
- "11434:11434"
volumes:
- ollama-data:/root/.ollama
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
volumes:
- open-webui-data:/app/backend/data
environment:
- OLLAMA_BASE_URL=http://ollama:11434
depends_on:
- ollama
volumes:
ollama-data:
open-webui-data:
docker compose up -d
La sección de reserva de GPU es opcional — elimínala si estás ejecutando solo en CPU. En Macs con Apple Silicon, Ollama usa el framework Metal GPU automáticamente sin passthrough de GPU de Docker (ejecuta Ollama nativamente en macOS en lugar de en Docker para mejor rendimiento).
Opciones de Despliegue en la Nube
Ejecutar Open WebUI localmente es genial para uso individual. Pero cuando quieres que tu equipo acceda a él, o cuando quieres usarlo desde cualquier dispositivo, necesitas un despliegue en la nube.
Despliegue en VPS (Hetzner, DigitalOcean, etc.)
La ruta más simple en la nube es un VPS con Docker instalado. Un servidor de $20/mes de Hetzner o DigitalOcean es suficiente para la interfaz de Open WebUI en sí. Si quieres ejecutar modelos en el servidor también, necesitarás una instancia con GPU ($50-150/mes dependiendo de la GPU).
# On your VPS
apt update && apt install docker.io docker-compose-plugin -y
# Create docker-compose.yml (same as above, minus GPU reservation)
docker compose up -d
# Set up a reverse proxy with SSL
apt install nginx certbot python3-certbot-nginx -y
Configuración de reverse proxy con Nginx:
server {
server_name ai.yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Luego certbot --nginx -d ai.yourdomain.com para SSL gratuito de Let's Encrypt. Ahora tienes una interfaz de IA privada, segura con SSL y accesible desde cualquier lugar.
Despliegue en Railway / Fly.io
Para un despliegue gestionado sin administración de servidor:
# Using Railway
railway login
railway init
railway up
O con Fly.io:
fly launch --image ghcr.io/open-webui/open-webui:main
fly secrets set OLLAMA_BASE_URL=http://your-ollama-server:11434
fly deploy
Estas plataformas manejan SSL, escalamiento y reinicios automáticamente. La compensación es menos control sobre la infraestructura y mayor costo a escala comparado con un VPS.
Decisión de Arquitectura: Dónde Ejecutar los Modelos
La decisión arquitectónica clave para despliegues en la nube es si ejecutar modelos en el mismo servidor que Open WebUI o conectarse a proveedores de API externos.
Mismo servidor: Menor latencia, sin costos de API por token, privacidad total de datos. Pero necesitas un servidor con GPU ($100-300/mes para una instancia de GPU decente), y la selección de modelos está limitada por tu hardware.
Solo APIs externas: No se necesita GPU, acceso a los mejores modelos de cada proveedor, pago por token. El servidor de Open WebUI es ligero y barato de alojar. Pero cada conversación pasa por una API de terceros, y los costos escalan con el uso.
Híbrido: Ejecuta un modelo local para tareas rutinarias y trabajo sensible en cuanto a privacidad, conéctate a APIs en la nube para tareas que requieren modelos más capaces. Esto es lo que yo uso — Llama 3.1 para preguntas rápidas y completado de código donde la privacidad importa, Claude o GPT-4o para tareas de razonamiento y generación complejas.
Comparación con Interfaces Comerciales
ChatGPT Plus ($20/mes)
ChatGPT te da GPT-4o, integración con DALL-E, navegación web, code interpreter y GPTs personalizados. La interfaz es pulida y la app móvil es excelente.
Donde Open WebUI gana: flexibilidad de modelos (no estás atado a OpenAI), privacidad de datos (las conversaciones se quedan en tu servidor), personalización (system prompts personalizados, pipelines RAG, function calling). Sin límites de uso en modelos locales.
Donde ChatGPT gana: integraciones nativas de herramientas, sandbox de code interpreter, experiencia móvil, cero configuración. El ecosistema de plugins y GPT Store no tiene equivalente en Open WebUI.
Veredicto: ChatGPT Plus es difícil de superar para usuarios no técnicos que quieren una experiencia lista para usar. Open WebUI es mejor para desarrolladores que quieren control y flexibilidad.
Claude Pro ($20/mes)
Claude Pro te da los modelos Claude Sonnet y Opus con ventanas de contexto extendidas, creación de artifacts y proyectos con contexto persistente. La capacidad de Claude para seguir instrucciones y manejar documentos largos es la mejor de su clase.
Donde Open WebUI gana: puedes seguir usando los modelos Claude a través de la API mientras también tienes acceso a todos los demás modelos. Eres dueño de tu historial de conversaciones. Puedes agregar RAG y herramientas personalizadas.
Donde Claude gana: la funcionalidad de Projects con contexto persistente, el sistema de artifacts para código y documentos, la visualización nativa de thinking/reasoning. Estos están profundamente integrados en la interfaz de Claude y no tienen equivalente en Open WebUI.
Veredicto: Si Claude es tu modelo principal, la interfaz nativa es difícil de dejar. Open WebUI es mejor como interfaz unificada cuando usas múltiples proveedores.
Para Equipos
El caso más convincente para Open WebUI es el uso en equipo. Las interfaces comerciales de IA ofrecen planes de equipo, pero típicamente cobran por asiento ($25-30/usuario/mes), las conversaciones se almacenan en la infraestructura del proveedor y no puedes personalizar la experiencia.
Open WebUI con acceso de equipo te da: un costo de alojamiento independientemente del número de usuarios, conversaciones almacenadas en tu infraestructura, presets de modelos personalizados por equipo o proyecto, colecciones de documentos RAG compartidas y controles de administrador sobre qué modelos y funcionalidades están disponibles.
Para un equipo de 10 desarrolladores, las suscripciones comerciales de chat con IA cuestan $200-300/mes. Una instancia autoalojada de Open WebUI con acceso a APIs en la nube cuesta $20-40/mes de alojamiento más uso de API de pago por uso. La economía se inclina más a tu favor a medida que el equipo crece.
Configuración del Pipeline RAG
Retrieval-Augmented Generation es una de las funcionalidades más poderosas de Open WebUI. Sube documentos y la IA puede referenciarlos al responder preguntas. Esto convierte a Open WebUI de un chat de propósito general en una base de conocimiento que entiende tu documentación específica, código base o datos de negocio.
Carga de Documentos
Open WebUI soporta carga directa de documentos a través de la interfaz. Arrastra un PDF, archivo markdown o archivo de texto al chat y automáticamente se fragmenta, embebe e indexa para recuperación. La IA referencia los documentos cargados al responder preguntas.
Para ingesta masiva de documentos, usa la sección de gestión de documentos del panel de administración. Puedes organizar documentos en colecciones y controlar qué colecciones están disponibles en qué chats.
Configuración de Embeddings
Open WebUI usa modelos de embedding para convertir documentos en vectores para búsqueda semántica. Por defecto, usa un modelo de embedding local, pero puedes configurarlo para usar la API de embedding de OpenAI para mejor calidad:
En la configuración de administrador bajo "Documents," configura:
- Modelo de embedding:
text-embedding-3-small(OpenAI) o un modelo local vía Ollama - Tamaño de chunk: 1000 tokens (predeterminado, ajusta según tus documentos)
- Solapamiento de chunk: 100 tokens (ayuda a mantener contexto entre chunks)
- Top K: 5 (número de chunks relevantes a recuperar por consulta)
Casos de Uso Prácticos de RAG
Documentación del código base: Sube el README de tu proyecto, docs de arquitectura y documentación de API. Pregúntale a la IA sobre tu propio proyecto y obtén respuestas basadas en tus documentos reales en lugar de los datos generales de entrenamiento del modelo.
Notas de reuniones y decisiones: Sube transcripciones de reuniones y logs de decisiones. "Qué se decidió sobre el timeline de migración de base de datos en la reunión de la semana pasada?" obtiene una respuesta precisa en lugar de una alucinada.
Papers de investigación y especificaciones técnicas: Sube PDFs de papers o especificaciones con las que estás trabajando. La IA puede resumir, comparar y responder preguntas sobre contenido que no está en sus datos de entrenamiento.
La calidad de las respuestas RAG depende fuertemente de la fragmentación de documentos y la calidad del embedding. Si las respuestas parecen omitir información relevante, intenta reducir el tamaño del chunk (para que cada chunk sea más enfocado) o aumentar Top K (para que se recuperen más chunks).
Configuraciones de Modelos Personalizados
Open WebUI te permite crear presets de modelos — configuraciones guardadas con system prompts personalizados, configuraciones de temperatura y selecciones de modelo. Esto es útil para crear asistentes de propósito específico sin modificar los modelos subyacentes.
Creando un Preset de Revisión de Código
En la configuración de Open WebUI, crea un nuevo preset de modelo:
- Nombre: Code Reviewer
- Modelo base: Claude Sonnet (o tu modelo preferido)
- System prompt: "You are a senior code reviewer. Analyze the provided code for bugs, security issues, performance problems, and style violations. Be specific about line numbers and provide corrected code snippets. Prioritize issues by severity."
- Temperatura: 0.3 (más baja para salida más consistente y enfocada)
Creando un Preset de Asistente de Escritura
- Nombre: Technical Writer
- Modelo base: GPT-4o
- System prompt: "You are a technical writing assistant. Help draft clear, concise technical documentation. Use active voice. Avoid jargon unless the audience is technical. Structure content with headers, lists, and code examples where appropriate."
- Temperatura: 0.7 (más alta para salida más creativa)
Estos presets aparecen en el dropdown de modelos junto a tus modelos regulares. Cambias al preset "Code Reviewer" cuando revisas código y al "Technical Writer" cuando redactas documentación. El system prompt se aplica automáticamente.
Ventajas de Privacidad
El argumento de privacidad para IA autoalojada no es teórico. Tiene implicaciones concretas para diferentes casos de uso.
Código Sensible
Cuando pegas código propietario en ChatGPT o Claude, lo estás enviando a un servidor de terceros. Los proveedores tienen políticas de manejo de datos — tanto OpenAI como Anthropic declaran que no entrenan con datos de la API — pero los datos aún salen de tu infraestructura. Para empresas con políticas estrictas de propiedad intelectual, industrias reguladas o contratos gubernamentales, esto puede ser un impedimento total.
Con Open WebUI conectado a Ollama, tu código nunca sale de tu máquina. El modelo se ejecuta localmente, la inferencia ocurre localmente y el historial de conversaciones se almacena localmente. Para despliegues en la nube, los datos permanecen en tu servidor.
Datos de Clientes
Si eres consultor o agencia trabajando con datos de clientes, usar interfaces comerciales de IA crea una pregunta de manejo de datos que necesitas responder para cada cliente. Open WebUI autoalojado te da una respuesta clara: los datos permanecen en tu infraestructura, bajo tu control, sujetos a tus políticas de seguridad.
Cumplimiento Normativo
HIPAA, SOC 2, RGPD — estos marcos se preocupan por dónde se procesan y almacenan los datos. Una interfaz de IA autoalojada en tu infraestructura que cumple con la normativa es inherentemente más fácil de incluir en tu alcance de cumplimiento que una herramienta SaaS de terceros.
Esto no significa que lo local siempre sea mejor. Las APIs de IA en la nube tienen sus propias certificaciones de cumplimiento, y para muchos casos de uso, la postura de cumplimiento de las ofertas enterprise de OpenAI o Anthropic es más fuerte que lo que puedes construir tú mismo. El punto es que el autoalojamiento te da la opción cuando la necesitas.
Consideraciones de Rendimiento
Rendimiento de Modelos Locales
Ejecutar modelos localmente significa que tu hardware determina la experiencia. Aquí hay benchmarks aproximados para Llama 3.1 8B:
- Apple M1 Pro (16GB RAM): ~15 tokens/segundo — usable para interacciones cortas
- Apple M2 Ultra (64GB RAM): ~40 tokens/segundo — cómodo para conversaciones extendidas
- NVIDIA RTX 4090: ~80 tokens/segundo — respuestas casi instantáneas
- Solo CPU (sin GPU): ~2-5 tokens/segundo — dolorosamente lento, no recomendado
Para modelos más grandes como Llama 3.1 70B, necesitas al menos 48GB de RAM (M2 Max o superior en Mac, o una GPU de grado servidor). La mejora de calidad es significativa, pero el requisito de hardware es considerable.
Comparación de Latencia
Para conexiones de API en la nube, Open WebUI agrega una sobrecarga mínima — típicamente 10-30ms encima de la latencia nativa de la API. El cuello de botella siempre es la inferencia del modelo, no la interfaz.
Para modelos locales, la latencia es función del tamaño del modelo y el hardware. La latencia del primer token (el tiempo antes de que el modelo empiece a generar) va de 100ms para modelos pequeños en hardware rápido a varios segundos para modelos grandes en hardware limitado. La visualización en streaming oculta la mayor parte de esto del usuario.
Cuándo Autoalojar vs. Usar Comercial
Autoaloja cuando:
- Trabajas con datos sensibles o propietarios
- Quieres usar modelos locales por privacidad o razones de costo
- Necesitas una interfaz de IA para equipo sin licenciamiento por asiento
- Quieres personalizar el pipeline RAG o agregar herramientas personalizadas
- Usas múltiples proveedores de modelos y quieres una interfaz unificada
Usa interfaces comerciales cuando:
- Necesitas la integración más ajustada posible con un modelo específico (Claude Projects, plugins de ChatGPT)
- Valoras las apps móviles y la sincronización entre dispositivos
- No quieres administrar infraestructura
- Tu caso de uso no involucra datos sensibles
- Necesitas la experiencia más pulida y con las últimas funcionalidades
Para la mayoría de los desarrolladores, la respuesta es ambas. Uso la interfaz nativa de Claude para trabajo profundo que se beneficia de Claude Projects, ChatGPT para tareas que necesitan code interpreter, y Open WebUI para todo lo demás — especialmente cuando quiero usar modelos locales, comparar salidas entre proveedores o trabajar con documentos que no quiero enviar a una API en la nube.
Open WebUI no se trata de reemplazar interfaces comerciales. Se trata de tener la opción de controlar tu infraestructura de IA cuando ese control importa. La configuración toma 30 minutos. Los beneficios de privacidad y flexibilidad son permanentes.
Danil Ulmashev
Full Stack Developer
Interesado en trabajar juntos?