toolkitbox

~/ / Artículos de IA / LLM locales en un VPS / Conectar Dify con Ollama en tu propio VPS

Conectar Dify con Ollama en tu propio VPS

Dify es una plataforma para crear aplicaciones de IA que puedes ejecutar en tu propio servidor. Ollama ejecuta el modelo. Este artículo conecta ambos en un solo VPS: qué tamaño tiene que tener el servidor, cómo iniciar Dify, qué campos pide el plugin de Ollama y por qué la dirección que funciona en un portátil puede fallar dentro de Docker. También dice dónde termina la documentación, para que sepas qué partes debes probar por tu cuenta.

Publicado: · 7 min de lectura · Datos comprobados con la documentación y los repositorios oficiales el 2026-10-27. Dify cambia con rapidez, así que lee las notas de la versión que instales.

Lo que necesitas antes de empezar

La guía de autoalojamiento de Dify indica el mínimo para Dify en sí. El modelo necesita su propia memoria además de eso, así que hay que sumar las dos cifras. El estimador de abajo da una cifra para el modelo. Sumarla al mínimo de Dify es una regla práctica nuestra, no una afirmación de la documentación de Dify.

ElementoLo que dice la guía de Dify
CPUCPU >= 2 Core
MemoriaRAM >= 4 GiB
Docker ComposeDify requiere Docker Compose 2.24.0 o posterior.
Git, curl, jqEl comando de clonado de abajo usa git, curl y jq.

Pruébalo: Local LLM Memory Estimator

Modelo

Etiqueta de Ollama qwen3:8b, cuantización Q4_K_M, tamaño de descarga 5.2 GB.

Estimación

Pesos del modelo
4.84 GiB
Caché KV
0.56 GiB
Reserva
1.00 GiB
Total
6.41 GiB (6.88 GB)
Tamaño de memoria habitual más pequeño que lo contiene
8 GiB

Es una estimación. No incluye los búferes de cálculo del runtime y supone que todas las capas tienen la misma forma de KV. Mide una ejecución real antes de elegir un plan.

Datos del modelo comprobados el 2026-10-26.

Fuentes: Ollama library · Configuración del modelo (config.json) · Ollama FAQ

Todo se ejecuta en tu navegador. No se sube nada.

Paso 1: iniciar Dify con Docker Compose

Estos son los comandos de la guía de autoalojamiento de Dify. El primero descarga de GitHub la etiqueta de la última versión publicada, de modo que partes de una versión publicada y no de una rama sin terminar. En el momento de nuestra comprobación, la última versión era la 1.18.0 (publicada el 2026-10-23).

PasoComando
Clonar la última versióngit clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git
Ir a la carpeta de Dockercd dify/docker
Copiar el archivo de configuracióncp .env.example .env
Crear un token para el backend del agenteopenssl rand -base64 32
Iniciar Difydocker compose up -d

Antes de iniciar, pon en .env el token que imprime openssl como DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN. La guía dice que el backend del agente y su sandbox no arrancan sin él.

Paso 2: crear la cuenta de administrador

Cuando los contenedores estén en marcha, la guía indica abrir primero la página de inicialización del administrador: http://your_server_ip/install en un servidor, o http://localhost/install en tu propio ordenador. Crea allí la cuenta y después inicia sesión en http://your_server_ip.

La documentación no dice quién puede acceder a esa página antes de que exista la cuenta. Nuestra recomendación, no una afirmación de los documentos: crea la cuenta justo después de iniciar, y lee el artículo sobre cómo proteger un servidor antes de dejar Dify abierto a internet.

Paso 3: añadir el plugin de Ollama y el modelo

En la documentación actual de Dify, los proveedores de modelos se instalan desde Integrations > Model Provider o desde Marketplace, y después se hace clic en Setup en la tarjeta del proveedor. Los nombres de los menús cambian entre versiones, así que busca la lista de proveedores en tu versión. La página de Marketplace del plugin de Ollama (versión 1.0.3 en el momento de nuestra comprobación) indica instalar Ollama, ejecutar un modelo y confirmar que su API local funciona antes de añadirlo a Dify.

Estos son los campos del plugin, tomados de su README y de su página de Marketplace.

CampoQué introducir
Model NameEl modelo de Ollama, por ejemplo gemma3, qwen3, deepseek-r1 o gpt-oss.
Base URLLa raíz del host de Ollama, http://<your-ollama-host>:11434 para un Ollama local. No incluyas /api, porque el plugin añade por sí mismo /api/chat, /api/generate y /api/embed.
API KeyOpcional para un Ollama local. Obligatoria solo para Ollama cloud.
Model TypeChat para conversación, llamadas a herramientas y visión. La página de Marketplace también menciona los embeddings de texto y el rerank.
Model Context LengthDebe coincidir con la ventana de contexto del modelo.
Upper bound for max tokensEl valor más alto de max tokens (num_predict) que permite Dify.
Vision support / Function call supportElige Yes solo para un modelo que lo admita.
Attach Dify app_id as request headersDesactivado por defecto. Si se activa, Dify añade las cabeceras X-Dify-App-Id y X-Dify-Source a sus llamadas a Ollama. Ollama no las usa.

Para saber qué modelos admiten visión y llamadas a herramientas, consulta el artículo sobre lo que pueden hacer los modelos de la biblioteca de Ollama.

Paso 4: la dirección que funciona desde dentro de Docker

Dify se ejecuta en contenedores, y Ollama se ejecuta en el propio servidor. Dentro de un contenedor, localhost es el contenedor, no el servidor. El README del plugin dice: usa una dirección de host a la que pueda llegar el contenedor de Dify, como http://host.docker.internal:11434 o una dirección IP de la LAN.

La documentación de Docker explica el nombre. La opción --add-host admite un valor especial, host-gateway, que se resuelve a la dirección IP interna del host, y es habitual usar host.docker.internal para ese nombre. También dice que Docker Desktop resuelve el nombre automáticamente. El ejemplo de la documentación es --add-host host.docker.internal=host-gateway.

Qué comprobamosResultado
¿Define el docker-compose.yaml de Dify host.docker.internal?No. No encontramos host.docker.internal ni ninguna entrada extra_hosts en el archivo de la rama main.
¿Describe la referencia de Docker Compose extra_hosts?Sí, como asignaciones de nombres de host con la forma HOSTNAME=IP que van a /etc/hosts. La página que leímos no menciona host-gateway para extra_hosts.
¿Escucha Ollama en direcciones distintas de 127.0.0.1?No por defecto. La FAQ de Ollama dice que se enlaza a 127.0.0.1 puerto 11434, y que la variable de entorno OLLAMA_HOST cambia la dirección de enlace.

Nuestra lectura, no una afirmación de los documentos: en un servidor Linux tú mismo añades el nombre de host, o usas la dirección del servidor, y quizá también tengas que cambiar la dirección en la que escucha Ollama. No probamos esa combinación. Si cambias OLLAMA_HOST, el puerto 11434 pasa a ser accesible desde otras máquinas, y Ollama no tiene contraseña propia, así que cierra ese puerto hacia el exterior en el firewall. Los artículos sobre cómo instalar Ollama y sobre cómo poner nginx delante describen los ajustes.

Paso 5: embeddings, y lo que el plugin no hace

La página de Marketplace del plugin dice que admite streaming, razonamiento (thinking), visión, llamadas a herramientas y embeddings de texto, y que los vectores de embedding están L2-normalized. Para los embeddings añades un segundo modelo del tipo embeddings de texto, con un modelo de embeddings de la biblioteca de Ollama.

También indica qué no está incluido. Ollama no tiene un endpoint nativo de rerank, así que un modelo de rerank necesita un servicio de rerank compatible con OpenAI. Tampoco se incluye la búsqueda web. Necesita un plugin de herramienta de Dify aparte o un flujo de trabajo externo.

Si falla la conexión

  • Ejecuta ollama ps y comprueba que el modelo está cargado, y abre http://127.0.0.1:11434 en el servidor para ver que Ollama responde.
  • Revisa la Base URL. Es la raíz del host, con el puerto y sin /api.
  • Comprueba que los contenedores de Dify pueden llegar a la dirección. La documentación de Dify dice que sus peticiones salientes pasan por un proxy que bloquea los rangos de IP internos y privados. La página nombra los nodos HTTP y las descargas de imágenes, y no dice si las peticiones de los proveedores de modelos siguen el mismo camino. Si usas una dirección privada y es rechazada, este es un lugar donde mirar.
  • Lee los registros de los contenedores con docker compose logs. No encontramos en la documentación una lista de mensajes de error.

Mantener Dify actualizado

La guía dice que los pasos de actualización varían entre versiones, así que sigue la guía de actualización de la versión a la que pasas, que está en la página Releases de Dify. Después de actualizar, compara .env.example con tu .env para ver variables nuevas o modificadas. Si cambiaste docker-compose.yaml, aplica de nuevo tus cambios al archivo de la nueva versión, porque una versión puede añadir servicios que son obligatorios.

Fuentes

Sigue leyendo