[{"data":1,"prerenderedAt":175},["ShallowReactive",2],{"seo-verification":3,"blog-stack-ia-open-source-vps-ollama-openwebui-n8n-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-stack-ia-open-source-vps-ollama-openwebui-n8n-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":115,"ctaBody":116,"ctaButton":117,"ctaUrl":118,"relatedPosts":119},359,"stack-ia-open-source-vps-ollama-openwebui-n8n",{"fr":12,"en":13,"ar":14,"es":10},"construire-stack-ia-open-source-vps","open-source-ai-stack-vps-ollama-openwebui-n8n","بيئة-ذكاء-اصطناعي-ذاتية-الاستضافة-vps","Stack de IA open source en VPS: Ollama, Open WebUI y n8n","Ensamble Ollama, Open WebUI y n8n en un solo VPS: motor LLM local, interfaz de chat y automatización, 100% self-hosted sin ninguna API cloud.",8,0,false,"2026-09-18T00:00:00+00:00","2026-09-19T02:00:43+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},1,"Inteligencia Artificial","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fconstruire-stack-ia-open-source-vps-poster.svg",{"categorySlug":34,"appSlug":35},"inteligencia-artificial","open-webui","Ollama ejecuta un LLM directamente en su servidor. Open WebUI añade una interfaz de chat multiusuario. n8n conecta ambos con sus herramientas para automatizar pipelines de IA — resúmenes, clasificación, generación de contenido. Los tres son open source, cada uno dispone de una imagen Docker oficial, y sus estrellas combinadas en GitHub superan los 560.000: Ollama y n8n se acercan cada uno a los 205.000, Open WebUI supera los 152.000. Esta combinación se cita regularmente en r\u002Fselfhosted como la más solicitada para construir un pipeline de IA self-hosted completo en septiembre de 2026. Esta guía le muestra cómo ensamblarlos en un solo VPS y hacer que colaboren sin enviar un solo token a una API cloud de terceros.",[38,42,54,57,82,86,89,109,112],{"type":39,"title":40,"body":41},"h2","Por qué ensamblar este stack en lugar de usar cada herramienta por separado","Ollama, Open WebUI y n8n se citan regularmente juntos en r\u002Fselfhosted como la combinación más solicitada para un pipeline de IA self-hosted completo. La razón es sencilla: tomadas por separado, cada herramienta resuelve un tercio del problema. Ollama expone una API local compatible con OpenAI — pero sin interfaz para sus usuarios. Open WebUI proporciona esa interfaz — pero sin automatización. n8n orquesta flujos de trabajo — pero sin un motor LLM integrado debe llamar a una API externa de pago. Las tres juntas forman un pipeline autónomo: la inferencia permanece en su máquina, el chat es accesible desde un navegador, y sus automatizaciones consumen directamente la API local de Ollama a través del nodo HTTP Request nativo de n8n, sin ningún plugin de terceros y sin coste por token. Todos los datos — prompts, documentos, historiales de conversación — permanecen en sus volúmenes Docker.",{"type":43,"title":44,"items":45},"ul","Lo que el stack aporta concretamente",[46,47,48,49,50,51,52,53],"**Inferencia privada** — Mistral 7B, Llama 3, Phi-3 o cualquier modelo GGUF se ejecuta localmente; ningún prompt abandona nunca su VPS.","**Interfaz de chat multiusuario** — Open WebUI expone cuentas separadas, historiales aislados y un endpoint compatible con la API OpenAI de Ollama.","**Automatización sin plugins** — n8n consume `http:\u002F\u002Follama:11434` mediante su nodo HTTP Request nativo; la documentación n8n.io\u002Fintegrations confirma que no se requiere ninguna dependencia adicional.","**Coste predecible** — un único precio mensual de VPS reemplaza las tarifas por token de una API cloud; 8 GB de RAM son suficientes para Mistral 7B, Open WebUI y n8n en modo cola.","**Control de versiones** — cada herramienta se actualiza de forma independiente; ninguna migración forzada impuesta por un proveedor SaaS.","**Portabilidad total** — un `docker compose down && docker compose up` basta para migrar el stack a un VPS más potente; los volúmenes Docker transportan todo el estado.","**Imágenes Docker oficiales verificadas** — `docker.io\u002Follama\u002Follama`, `ghcr.io\u002Fopen-webui\u002Fopen-webui` y `docker.io\u002Fn8nio\u002Fn8n` son mantenidas por cada proyecto respectivo.","**Malla interna segura** — los tres servicios se comunican a través de una red Docker privada; ningún puerto LLM queda expuesto públicamente.",{"type":39,"title":55,"body":56},"Requisitos: RAM, CPU y dominio","La RAM es el factor limitante. Ollama cargado con Mistral 7B consume entre 5 y 6 GB según la cuantización elegida (documentado en el repositorio de Ollama). Open WebUI requiere aproximadamente 256 MB adicionales. n8n en modo cola añade aproximadamente 512 MB. El total ronda por tanto los 7 GB bajo carga ligera, lo que significa que un VPS con 8 GB de RAM soporta el stack completo sin swap activo — un VPS `{{vps.business.name}}` con `{{vps.business.vcpu}}` vCPU y `{{vps.business.ram}}` es el perfil de referencia para esta configuración. Para modelos más grandes (13B y superiores), calcule 16 GB. En almacenamiento, prevea al menos 20 GB para las capas Docker y los modelos. Necesitará un subdominio para cada servicio expuesto, Docker y Docker Compose instalados, y el puerto 443 abierto en su firewall.",{"type":58,"title":59,"steps":60},"steps","Desplegar el stack con Docker Compose",[61,64,67,70,73,76,79],{"title":62,"body":63},"Preparar el VPS","Conéctese por SSH e instale Docker si no lo está ya: `curl -fsSL https:\u002F\u002Fget.docker.com | sh`. Verifique que Docker Compose está disponible con `docker compose version`. Cree un directorio de trabajo: `mkdir -p \u002Fopt\u002Fia-stack && cd \u002Fopt\u002Fia-stack`.",{"title":65,"body":66},"Escribir el docker-compose.yml","Declare los tres servicios en un único archivo `docker-compose.yml` sobre una red interna compartida:\n\n```yaml\nservices:\n  ollama:\n    image: docker.io\u002Follama\u002Follama\n    volumes:\n      - ollama_data:\u002Froot\u002F.ollama\n    networks:\n      - ia\n    restart: unless-stopped\n\n  open-webui:\n    image: ghcr.io\u002Fopen-webui\u002Fopen-webui:main\n    environment:\n      - OLLAMA_BASE_URL=http:\u002F\u002Follama:11434\n    volumes:\n      - webui_data:\u002Fapp\u002Fbackend\u002Fdata\n    networks:\n      - ia\n    restart: unless-stopped\n\n  n8n:\n    image: docker.io\u002Fn8nio\u002Fn8n\n    environment:\n      - N8N_BASIC_AUTH_ACTIVE=true\n      - N8N_BASIC_AUTH_USER=admin\n      - N8N_BASIC_AUTH_PASSWORD=cambie-esta-contrasena\n      - WEBHOOK_URL=https:\u002F\u002Fn8n.su-dominio.com\n    volumes:\n      - n8n_data:\u002Fhome\u002Fnode\u002F.n8n\n    networks:\n      - ia\n    restart: unless-stopped\n\nnetworks:\n  ia:\n    driver: bridge\n\nvolumes:\n  ollama_data:\n  webui_data:\n  n8n_data:\n```\n\nNingún puerto queda expuesto en el host: el reverse proxy será la única puerta de entrada.",{"title":68,"body":69},"Iniciar los contenedores","Lance el stack: `docker compose up -d`. Verifique que los tres contenedores están activos con `docker compose ps`. Para consultar los registros de un servicio: `docker compose logs -f ollama`. En este punto, ningún servicio es accesible desde el exterior.",{"title":71,"body":72},"Descargar un modelo en Ollama","Entre en el contenedor de Ollama para obtener un modelo: `docker compose exec ollama ollama pull mistral`. El comando descarga y cuantiza el modelo en el volumen `ollama_data`. Verifique la lista de modelos disponibles con `docker compose exec ollama ollama list`. Open WebUI detectará automáticamente los modelos presentes en Ollama al arrancar.",{"title":74,"body":75},"Configurar el reverse proxy","Instale Caddy o Nginx en el host para exponer Open WebUI y n8n sobre HTTPS. Con Caddy, dos bloques bastan en su Caddyfile:\n\n```\nchat.su-dominio.com {\n  reverse_proxy open-webui:8080\n}\n\nn8n.su-dominio.com {\n  reverse_proxy n8n:5678\n}\n```\n\nCaddy obtiene y renueva los certificados Let's Encrypt automáticamente. Ollama no queda expuesto directamente — permanece accesible solo desde los otros contenedores a través de la red `ia`.",{"title":77,"body":78},"Crear la cuenta de administrador de Open WebUI","Abra `https:\u002F\u002Fchat.su-dominio.com` en su navegador. En el primer acceso, Open WebUI le invita a crear una cuenta de administrador (correo electrónico + contraseña). Esta cuenta es local a su instancia — ningún dato transita a un servicio externo. Puede entonces crear cuentas adicionales desde la interfaz de administración y seleccionar un modelo predeterminado entre los listados por Ollama.",{"title":80,"body":81},"Conectar n8n a la API de Ollama","En n8n (`https:\u002F\u002Fn8n.su-dominio.com`), cree un flujo de trabajo y añada un nodo **HTTP Request**. Configúrelo así: método `POST`, URL `http:\u002F\u002Follama:11434\u002Fapi\u002Fgenerate`, cuerpo JSON `{\"model\": \"mistral\", \"prompt\": \"{{ $json.prompt }}\", \"stream\": false}`. n8n se comunica con Ollama a través de la red Docker interna — sin clave API, sin cuota externa. Este nodo es nativo de n8n y está documentado en n8n.io\u002Fintegrations.",{"type":83,"title":84,"body":85},"tip","RAM justa: cargar el modelo bajo demanda","Por defecto, Ollama mantiene el modelo en memoria durante 5 minutos tras la última solicitud y luego lo descarga. Este comportamiento es configurable mediante la variable `OLLAMA_KEEP_ALIVE`. En un VPS con 8 GB, establecer `OLLAMA_KEEP_ALIVE=0` libera RAM entre las llamadas programadas de n8n — útil si Open WebUI y n8n no funcionan simultáneamente a plena carga. Por el contrario, `OLLAMA_KEEP_ALIVE=-1` mantiene el modelo en memoria permanentemente para respuestas sin retardo de carga.",{"type":39,"title":87,"body":88},"Asegurar el stack antes de exponerlo","Un stack de IA self-hosted maneja datos sensibles: prompts, claves de flujos de trabajo, historiales de conversación. Antes de cualquier exposición pública, verifique tres puntos. Primero, cierre el puerto 11434 de Ollama en el host (`ufw deny 11434`) — debe ser accesible únicamente desde la red Docker interna, nunca desde el exterior; un puerto LLM abierto expone la API de generación sin autenticación. Segundo, cambie la contraseña de autenticación de n8n en las variables de entorno; la autenticación HTTP Basic está habilitada por defecto en la configuración anterior, pero utilice una contraseña larga y aleatoria. Tercero, active la autenticación en Open WebUI: por defecto, cualquier persona que acceda a la URL puede crear una cuenta — restrinja los registros desactivando `ENABLE_SIGNUP` una vez creadas sus cuentas. Los volúmenes Docker (`ollama_data`, `webui_data`, `n8n_data`) deben incluirse en sus copias de seguridad periódicas; contienen el estado completo del stack.",{"type":90,"title":91,"headers":92,"rows":96},"comparison","Perfiles de VPS para el stack",[93,94,95],"Perfil","RAM","Caso de uso recomendado",[97,101,105],[98,99,100],"VPS Start","4 GB","Pruebas y desarrollo — modelos ligeros (Phi-3 Mini, Gemma 2B)",[102,103,104],"VPS Power","8 GB","Uso moderado — Mistral 7B, uno o dos usuarios simultáneos",[106,107,108],"VPS Business","16 GB","Stack completo — Mistral 7B o Llama 3 8B, equipo, flujos n8n programados",{"type":39,"title":110,"body":111},"Caso de uso: automatizar un pipeline de resumen con n8n","Un caso de uso concreto ilustra el valor del stack ensamblado. Imagine un flujo de trabajo de n8n activado por un Webhook: recibe la URL de un artículo, obtiene el texto mediante un nodo HTTP, luego lo envía a Ollama para su resumen. El nodo HTTP Request apunta a `http:\u002F\u002Follama:11434\u002Fapi\u002Fgenerate` con el modelo `mistral` y un prompt del tipo `Resume este texto en 3 puntos clave: {{$json.text}}`. La respuesta se analiza y se envía a Slack, por correo electrónico o se vuelca en una base de datos — según los nodos siguientes del flujo. Este tipo de pipeline — scraping → LLM → acción — no requiere ninguna clave API externa, se ejecuta continuamente en su VPS y consume cero coste por token. Otros pipelines habituales: clasificación de tickets de soporte entrantes, generación de descripciones de producto a partir de fichas técnicas, o extracción de entidades en documentos contractuales. En todos estos casos, los datos nunca abandonan su infraestructura. Para pipelines más complejos que involucren documentos PDF o bases de datos vectoriales, puede añadir Flowise o LangFlow en la misma red Docker, usando Ollama como proveedor de inferencia común.",{"type":83,"title":113,"body":114},"Documentación oficial","Cada herramienta tiene su documentación de referencia para la configuración avanzada: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Follama\u002Follama\" target=\"_blank\" rel=\"noopener noreferrer\">Ollama en GitHub\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fdocs.openwebui.com\" target=\"_blank\" rel=\"noopener noreferrer\">documentación de Open WebUI\u003C\u002Fa> y \u003Ca href=\"https:\u002F\u002Fdocs.n8n.io\" target=\"_blank\" rel=\"noopener noreferrer\">documentación de n8n\u003C\u002Fa>. Esta guía cubre el ensamblaje en VPS; la documentación del editor sigue siendo la referencia para opciones avanzadas, actualizaciones mayores y casos de uso específicos de cada herramienta.","Su stack de IA en un VPS ServOrbit","Un VPS `{{vps.business.name}}` (8 vCPU, 16 GB de RAM, acceso root, IPv4 dedicada) soporta el stack completo Ollama + Open WebUI + n8n. Centros de datos europeos, SSD NVMe, escalabilidad vertical bajo demanda. Desde `{{vps.start.price}}`\u002Fmes.","Ver planes VPS Cloud","\u002Fvps-cloud",[120,138,152],{"id":121,"slug":122,"slugs":123,"title":127,"excerpt":128,"readTime":129,"views":18,"isPinned":19,"publishedAt":130,"updatedAt":131,"category":132,"categories":133,"featuredImage":30,"bgImage":31,"posterImage":135,"relatedSolution":136},11,"como-alojar-ollama-en-un-vps",{"fr":124,"en":125,"ar":126,"es":122},"heberger-ollama-vps","how-to-host-ollama-on-a-vps","كيفية-استضافة-ollama-على-خادم-vps","Alojar Ollama en un VPS: guía operativa avanzada","Ollama avanzado en VPS: gestión de modelos, reverse proxy nginx, seguridad de la API, cuantización Q4_K_M\u002FQ8, CVE-2026-45672 en Open WebUI y acoplamiento seguro.",9,"2026-06-09T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[134],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-ollama-vps-poster.svg",{"categorySlug":34,"appSlug":137},"ollama",{"id":139,"slug":140,"slugs":141,"title":145,"excerpt":146,"readTime":129,"views":23,"isPinned":19,"publishedAt":147,"updatedAt":131,"category":148,"categories":149,"featuredImage":30,"bgImage":31,"posterImage":151,"relatedSolution":30},316,"open-webui-ollama-en-vps-interfaz-web-multiusuario-para-llm",{"fr":142,"en":143,"ar":144,"es":140},"open-webui-ollama-vps","open-webui-ollama-on-vps-multi-user-interface-for-local-llms","واجهة-ويب-open-webui-مع-ollama-على-vps-للفرق","Open-WebUI + Ollama en VPS: interfaz web multiusuario para LLM","Ofrece a todo tu equipo una interfaz web multiusuario sobre tus modelos Ollama: RAG, gestión de modelos, SSO con OpenID Connect — sin dependencia de la nube.","2026-08-30T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[150],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fopen-webui-ollama-vps-poster.svg",{"id":153,"slug":154,"slugs":155,"title":159,"excerpt":160,"readTime":161,"views":162,"isPinned":19,"publishedAt":163,"updatedAt":164,"category":165,"categories":169,"featuredImage":30,"bgImage":31,"posterImage":171,"relatedSolution":172},3,"instalar-n8n-en-vps-con-docker",{"fr":156,"en":157,"ar":158,"es":154},"installer-n8n-vps","install-n8n-on-vps-with-docker-complete-2026-guide","تثبيت-n8n-على-vps-مع-docker-دليل-شامل-2026","Instalar n8n en un VPS con Docker: guía completa 2026","Despliegue n8n en VPS con Docker, reverse proxy y HTTPS. Crash V8, 502 nginx, migración de npm a Docker y seguridad de ejecuciones persistidas (advisory agosto 2026).",12,2,"2026-06-05T00:00:00+00:00","2026-09-08T22:00:02+00:00",{"id":162,"name":166,"slug":167,"color":168,"icon":167},"Automatización","automatisation","bg-brand-action\u002F10 text-brand-action",[170],{"id":162,"name":166,"slug":167,"color":168,"icon":167},"\u002Fblog\u002Fcovers\u002Finstaller-n8n-vps-poster.svg",{"categorySlug":173,"appSlug":174},"automatizacion","n8n",1789783622979]