[{"data":1,"prerenderedAt":151},["ShallowReactive",2],{"seo-verification":3,"blog-como-alojar-langflow-en-un-vps-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-como-alojar-langflow-en-un-vps-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":97,"ctaBody":98,"ctaButton":99,"ctaUrl":100,"relatedPosts":101},10,"como-alojar-langflow-en-un-vps",{"fr":12,"en":13,"ar":14,"es":10},"heberger-langflow-vps","how-to-host-langflow-on-a-vps","كيفية-استضافة-langflow-على-خادم-vps","Alojar LangFlow en un VPS: guía completa con Docker y HTTPS","Despliegue LangFlow en su VPS con Docker, PostgreSQL y un reverse proxy nginx en HTTPS. Requisitos, instalación paso a paso, seguridad y solución de problemas.",8,0,false,"2026-06-10T00:00:00+00:00","2026-09-07T11:26:10+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\u002Fheberger-langflow-vps-poster.svg",{"categorySlug":34,"appSlug":35},"inteligencia-artificial","langflow","LangFlow es un editor visual de pipelines de IA — RAG, chatbots, agentes LangChain — que se ejecuta en su navegador y expone cada flujo como una API de Python. Alojado en su VPS, se convierte en un taller privado y compartible: sus flujos, sus claves API y su historial de ejecución permanecen bajo su control, sin pasar por un SaaS externo. Esta guía cubre la instalación completa con Docker Compose, PostgreSQL, reverse proxy nginx y HTTPS.",[38,42,53,56,84,87,91,94],{"type":39,"title":40,"body":41},"h2","Por qué alojar LangFlow en un VPS","LangFlow responde a un caso de uso preciso: diseñar pipelines de IA arrastrando y soltando componentes — modelos LLM, retrievers, prompts, memoria, agentes — y probarlos después sin escribir una sola línea de código. Es la alternativa visual a LangChain en modo solo código, pensada para los equipos que quieren iterar rápido antes de fijar una lógica en Python.\n\nEn un VPS obtiene una instancia estable y persistente, accesible para todo el equipo, a diferencia de una instalación local que desaparece al reiniciar. Sus flujos codifican a menudo una lógica de negocio sensible — cadenas de prompts, claves API, conectores hacia sus bases de datos. Estos datos no deben transitar por un SaaS cuya política de retención usted no controla.\n\nLangFlow se apoya en FastAPI del lado del servidor y expone cada flujo como un endpoint REST: sus aplicaciones pueden llamar directamente a sus pipelines de IA, sin código intermedio. Es esta combinación — interfaz visual para el diseño, API para la integración — la que lo convierte en una herramienta de prototipado seria para casos como el RAG documental, los chatbots de asistencia, los agentes de varios pasos o los pipelines de clasificación.",{"type":43,"title":44,"items":45},"ul","Lo que gana con una instancia autoalojada",[46,47,48,49,50,51,52],"**Interfaz visual de pipelines** — arrastre componentes LLM, retriever, memoria y prompt a un canvas, conéctelos y pruebe sin código.","**Conectores LLM variados** — OpenAI, Anthropic, Ollama (local), Hugging Face y cualquier proveedor compatible con la API de OpenAI.","**RAG integrado** — cargue documentos PDF o de texto, chunking, embedding y búsqueda vectorial en el mismo flujo.","**API automática por flujo** — cada pipeline se convierte en un endpoint REST invocable desde cualquier aplicación.","**Variables globales cifradas** — sus claves API se almacenan en el servidor, nunca quedan expuestas en el código del cliente.","**Componentes Python personalizados** — amplíe LangFlow con su propia lógica de negocio sin bifurcar el proyecto.","**Control de versiones de los flujos** — expórtelos en JSON y versiónelos en Git, con independencia del estado de la base de datos.",{"type":39,"title":54,"body":55},"Requisitos previos antes de empezar","LangFlow consume más memoria que una herramienta web clásica: su motor de ejecución carga modelos y embeddings en RAM. Prevea como mínimo **2 vCPU y 4 GB de RAM** para un uso cómodo. Si conecta un modelo Ollama local para la inferencia en el mismo VPS, suba a 8 GB como mínimo.\n\nEn el plano del software, necesita Docker (versión 24 o superior) y Docker Compose v2, instalados y operativos. El puerto `7860` debe ser accesible en local (LangFlow escucha en este puerto por defecto). No exponga este puerto directamente en Internet: de eso se encarga el reverse proxy nginx.\n\nPrepare un subdominio que apunte a la IP de su VPS — por ejemplo `langflow.votre-domaine.com` — con los registros DNS ya propagados antes de lanzar certbot. Por último, la base de datos PostgreSQL es muy recomendable en producción: SQLite, el valor por defecto, se corrompe bajo carga concurrente y no admite los accesos simultáneos de varios usuarios.",{"type":57,"title":58,"steps":59},"steps","Instalar LangFlow con Docker Compose y PostgreSQL",[60,63,66,69,72,75,78,81],{"title":61,"body":62},"Crear el directorio de trabajo","Conéctese por SSH a su VPS y cree después la carpeta que alojará la stack:\n\n```bash\nmkdir -p \u002Fopt\u002Flangflow && cd \u002Fopt\u002Flangflow\n```",{"title":64,"body":65},"Escribir el archivo docker-compose.yml","Cree un archivo `docker-compose.yml` con dos servicios — `postgres` y `langflow` — y las variables de entorno de autenticación:\n\n```yaml\nservices:\n  postgres:\n    image: postgres:16\n    restart: unless-stopped\n    environment:\n      POSTGRES_USER: langflow\n      POSTGRES_PASSWORD: motdepasse-fort\n      POSTGRES_DB: langflow\n    volumes:\n      - pgdata:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n\n  langflow:\n    image: langflowai\u002Flangflow:latest\n    restart: unless-stopped\n    ports:\n      - \"127.0.0.1:7860:7860\"\n    environment:\n      LANGFLOW_DATABASE_URL: postgresql:\u002F\u002Flangflow:motdepasse-fort@postgres:5432\u002Flangflow\n      LANGFLOW_SECRET_KEY: changez-cette-valeur-par-une-chaine-aleatoire\n      LANGFLOW_AUTO_LOGIN: \"false\"\n      LANGFLOW_SUPERUSER: admin\n      LANGFLOW_SUPERUSER_PASSWORD: motdepasse-admin-fort\n    depends_on:\n      - postgres\n\nvolumes:\n  pgdata:\n```\n\nObserve que el puerto `7860` está enlazado a `127.0.0.1`: LangFlow no es accesible desde el exterior sin pasar por el proxy.",{"title":67,"body":68},"Lanzar la stack","Arranque los dos contenedores en segundo plano:\n\n```bash\ndocker compose up -d\n```\n\nSiga los logs de LangFlow durante la primera inicialización (creación del esquema en la base de datos, entre 30 segundos y 1 minuto aproximadamente):\n\n```bash\ndocker compose logs -f langflow\n```\n\nEspere a la línea que indica que el servidor escucha en el puerto `7860` antes de continuar.",{"title":70,"body":71},"Comprobar que la interfaz responde","Desde su VPS, compruebe que LangFlow responde localmente antes de configurar el proxy:\n\n```bash\ncurl -s http:\u002F\u002F127.0.0.1:7860\u002Fhealth\n```\n\nLa respuesta esperada es `{\"status\":\"ok\"}`. Si obtiene un error de conexión rechazada, los logs de arranque contienen la causa.",{"title":73,"body":74},"Configurar el reverse proxy nginx con HTTPS","Instale nginx y certbot si aún no lo ha hecho, y cree después un archivo de configuración:\n\n```nginx\nserver {\n    listen 80;\n    server_name langflow.votre-domaine.com;\n    return 301 https:\u002F\u002F$host$request_uri;\n}\n\nserver {\n    listen 443 ssl;\n    server_name langflow.votre-domaine.com;\n\n    ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Flangflow.votre-domaine.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Flangflow.votre-domaine.com\u002Fprivkey.pem;\n\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:7860;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n    }\n}\n```\n\nLas cabeceras `Upgrade` y `Connection` son imprescindibles para el soporte WebSocket, que utiliza el canvas interactivo. Obtenga el certificado con certbot:\n\n```bash\ncertbot --nginx -d langflow.votre-domaine.com\n```",{"title":76,"body":77},"Iniciar sesión y crear un primer flujo","Abra `https:\u002F\u002Flangflow.votre-domaine.com` en su navegador. Inicie sesión con las credenciales definidas en `LANGFLOW_SUPERUSER` y `LANGFLOW_SUPERUSER_PASSWORD`. En la interfaz, haga clic en **New Flow** y elija una plantilla o parta de un canvas vacío. Añada un componente LLM, un prompt y un componente de salida, conéctelos y haga clic después en **Run** para probar el pipeline.",{"title":79,"body":80},"Guardar las claves API en las variables globales","En lugar de introducir sus claves API en cada componente, utilice las **Variables globales** (icono en la parte superior derecha): la clave queda cifrada en la base de datos y es reutilizable en todos sus flujos. Desde el menú **API** de un flujo, obtiene el código de llamada `curl` o Python para integrar este pipeline en una aplicación externa.",{"title":82,"body":83},"Hacer copia de seguridad de los flujos y de la base de datos","Programe un `pg_dump` diario de la base de datos desde el host:\n\n```bash\ndocker exec langflow-postgres-1 pg_dump -U langflow langflow > \u002Fopt\u002Fbackups\u002Flangflow-$(date +%F).sql\n```\n\nExporte también sus flujos en JSON desde el menú **Export** de cada flujo: es una red de seguridad versionable en Git, independiente del estado de la base de datos.",{"type":39,"title":85,"body":86},"Configuración avanzada: variables de entorno útiles","LangFlow expone varias variables de entorno para adaptar la instancia a su contexto. `LANGFLOW_SECRET_KEY` cifra los datos sensibles almacenados en la base de datos — cambie el valor por defecto antes del primer arranque, porque una rotación posterior invalida los datos cifrados existentes. `LANGFLOW_AUTO_LOGIN` en `false` obliga siempre a un inicio de sesión explícito, incluso desde `localhost`. `LANGFLOW_WORKERS` controla el número de procesos Uvicorn: el valor por defecto (`1`) sirve para un uso moderado; súbalo a `2` o `4` si varios usuarios ejecutan flujos simultáneamente.\n\nPara los flujos que llaman a modelos locales mediante Ollama, defina `OLLAMA_BASE_URL` en las variables globales de LangFlow y no en el entorno Docker: así el valor lo gestiona la interfaz y puede cambiarse sin reiniciar.\n\nSi actualiza LangFlow, haga siempre un `pg_dump` antes de `docker compose pull && docker compose up -d`: algunas subidas de versión afectan al esquema de la base de datos.",{"type":88,"title":89,"body":90},"tip","Seguridad: no exponer LangFlow directamente en Internet","LangFlow no incorpora rate limiting en sus endpoints API. Sin una medida complementaria, un flujo expuesto públicamente puede ser invocado sin límite por cualquiera que conozca la URL. Dos enfoques se complementan.\n\nEn primer lugar, deje `LANGFLOW_AUTO_LOGIN=false` de forma permanente y cree cuentas de usuario distintas para cada miembro del equipo. En segundo lugar, si sus flujos solo deben ser invocados por sus propias aplicaciones (y no por usuarios directos), añada un bloqueo `auth_basic` de nginx delante de la interfaz de gestión y exponga únicamente los endpoints `\u002Fapi\u002Fv1\u002Frun\u002F\u003Cflow-id>` con autenticación por token a sus aplicaciones.\n\nNunca deje LangFlow en producción con SQLite: la base de datos se corrompe con accesos concurrentes y pierde sus flujos sin ningún mensaje de error explícito.",{"type":39,"title":92,"body":93},"Solución de los errores más frecuentes","**Error OOM (Out of Memory).** Si el contenedor LangFlow se reinicia de forma espontánea, consulte `docker compose logs langflow` y busque `Killed`. La causa es la falta de RAM. Reduzca `LANGFLOW_WORKERS` a `1` y, si el problema persiste, aumente la RAM del VPS o evite ejecutar flujos pesados simultáneamente.\n\n**Conexión rechazada a Ollama.** Si LangFlow no consigue alcanzar a Ollama ejecutándose en el mismo VPS, compruebe que Ollama escucha en `0.0.0.0` y no únicamente en `127.0.0.1`. En `docker-compose.yml`, añada `extra_hosts: [\"host-gateway:host-gateway\"]` al servicio LangFlow y utilice la dirección `http:\u002F\u002Fhost-gateway:11434` en los componentes Ollama de LangFlow.\n\n**Logs de flujo ausentes o incompletos.** LangFlow almacena los logs de ejecución en la base de datos. Si la base PostgreSQL no estaba lista cuando arrancó LangFlow, las primeras peticiones fallan en silencio. El `depends_on` del `docker-compose.yml` espera a que el contenedor Postgres esté arrancado, pero no necesariamente a que PostgreSQL esté listo para aceptar conexiones. Añada un `healthcheck` al servicio `postgres` para forzar la espera.\n\n**Canvas en blanco o WebSocket cortado.** Compruebe que las cabeceras `Upgrade` y `Connection` se transmiten correctamente por nginx. Un proxy intermedio (Cloudflare en modo Full Strict, balanceador de carga) puede interceptar los WebSockets: asegúrese de que el protocolo WebSocket está bien configurado en el proxy.",{"type":39,"title":95,"body":96},"Próximos pasos: ampliar su instancia LangFlow","Una vez LangFlow operativo, varias integraciones amplían su ámbito de uso.\n\nSi desea un modelo LLM totalmente local (sin ninguna llamada a una API externa), instale Ollama en el mismo VPS y conéctelo a LangFlow mediante el componente **Ollama**: sus pipelines dejan de enviar datos fuera de su infraestructura. Ollama expone una API compatible con OpenAI en el puerto `11434`.\n\nPara un RAG documental, añada un componente **Chroma** o **Qdrant** — dos bases de datos vectoriales de código abierto que puede desplegar en un contenedor vecino. Importe sus documentos PDF en un flujo LangFlow, chunking y embedding incluidos, y consúltelos desde un chatbot o una API.\n\nPor último, si varios equipos utilizan la instancia, plantéese aislar los flujos por espacio de trabajo (funcionalidad disponible según la versión) o desplegar una instancia LangFlow por proyecto con la plantilla ServOrbit, que configura automáticamente Docker Compose, PostgreSQL y el reverse proxy.","Aloje LangFlow en un VPS dedicado","Despliegue su propia instancia de LangFlow en unos minutos en un VPS ServOrbit — confidencialidad total, sin límites de API, acceso HTTPS seguro con certificado TLS incluido.","Desplegar LangFlow","\u002Fmarketplace\u002Finteligencia-artificial\u002Flangflow",[102,119,135],{"id":23,"slug":103,"slugs":104,"title":108,"excerpt":109,"readTime":110,"views":18,"isPinned":19,"publishedAt":111,"updatedAt":112,"category":113,"categories":114,"featuredImage":30,"bgImage":31,"posterImage":116,"relatedSolution":117},"como-alojar-open-webui-en-un-vps",{"fr":105,"en":106,"ar":107,"es":103},"heberger-open-webui","how-to-host-open-webui-on-a-vps","كيفية-استضافة-open-webui-على-خادم-vps","Cómo alojar Open WebUI en un VPS","Guía completa para desplegar Open WebUI en su propio VPS: conserve el control de sus datos, evite pagar API en la nube y acceda a sus LLM desde el navegador.",4,"2026-06-01T00:00:00+00:00","2026-09-08T22:00:02+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[115],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-open-webui-poster.svg",{"categorySlug":34,"appSlug":118},"open-webui",{"id":120,"slug":121,"slugs":122,"title":126,"excerpt":127,"readTime":17,"views":18,"isPinned":19,"publishedAt":128,"updatedAt":21,"category":129,"categories":130,"featuredImage":30,"bgImage":31,"posterImage":132,"relatedSolution":133},2,"desplegar-dify-en-un-vps",{"fr":123,"en":124,"ar":125,"es":121},"deployer-dify-vps","deploying-dify-on-a-vps-ai-workflows-under-control","نشر-dify-على-vps-سير-عمل-الذكاء-الاصطناعي-تحت-السيطرة","Desplegar Dify en un VPS: guía completa de instalación y plugins","Instale Dify en un VPS ServOrbit: requisitos reales, Docker Compose, plugins offline, reverse proxy y solución de problemas.","2026-02-11T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[131],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeployer-dify-vps-poster.svg",{"categorySlug":25,"appSlug":134},"dify",{"id":136,"slug":137,"slugs":138,"title":142,"excerpt":143,"readTime":110,"views":18,"isPinned":19,"publishedAt":144,"updatedAt":21,"category":145,"categories":146,"featuredImage":30,"bgImage":31,"posterImage":148,"relatedSolution":149},121,"alojar-openclaw-en-un-vps",{"fr":139,"en":140,"ar":141,"es":137},"heberger-openclaw-vps","hosting-openclaw-on-a-vps","استضافة-openclaw-على-خادم-vps","Alojar OpenClaw en un VPS","Aloje OpenClaw en su VPS: el asistente de IA personal open source accesible desde WhatsApp, Telegram, Discord y más de 50 apps de mensajería. Docker, LLM y HTTPS.","2026-02-23T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[147],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-openclaw-vps-poster.svg",{"categorySlug":34,"appSlug":150},"openclaw",1789665010054]