¿Por qué alojar Dify en un VPS?
Usar la versión cloud de Dify implica confiar sus prompts, sus datos de negocio y sus claves API a un servidor de terceros, con limitaciones en el número de aplicaciones y en los modelos accesibles. Al autoalojar Dify en un VPS, usted elimina esas restricciones: ninguna suscripción mensual ligada al uso, ningún dato sensible transmitido al exterior y la libertad de conectar cualquier proveedor de modelos (OpenAI, Anthropic, Ollama en local, etc.). Es la solución ideal para los equipos que quieren construir pipelines de IA robustos en un entorno bajo su control total.
Lo que puede hacer con Dify
- Crear chatbots y agentes de IA personalizados conectados a sus propias fuentes de datos (RAG)
- Orquestar workflows de varios pasos que combinan varios modelos de lenguaje y herramientas externas
- Conectar Dify a OpenAI, Anthropic Claude, Mistral o un modelo local mediante Ollama
- Exponer sus aplicaciones de IA mediante una API REST o un widget integrable en su sitio
- Gestionar los accesos de su equipo con un sistema de roles y espacios de trabajo
- Seguir los logs de uso, los costos por modelo y el rendimiento de sus pipelines
Requisitos previos: dimensionar correctamente su VPS
Dify ejecuta una flota de servicios Docker en paralelo: un servidor API, un worker Celery para embeddings y tareas asíncronas, el frontend web, PostgreSQL, Redis, Weaviate (base vectorial para la RAG), una sandbox de ejecución de código y un proxy interno.
Mínimo absoluto: 2 vCPU · 4 GB RAM · 40 GB de almacenamiento SSD. Con estas especificaciones Dify arranca y permite probar las funciones básicas.
Recomendado para uso real: 4 vCPU · 8 GB RAM · 80 GB de almacenamiento. En cuanto indexa documentos voluminosos o varios usuarios consultan simultáneamente, la generación de embeddings y la base vectorial saturan los 4 GB.
Con un modelo local (Ollama): añada los requisitos del modelo. Un Llama 3 8B cuantizado (Q4) necesita ~6 GB de VRAM o RAM dedicada. Planifique al menos 16 GB de RAM para ejecutar Dify y Ollama juntos sin swap.
SO recomendado: Ubuntu 22.04 LTS con Docker 24+ y Docker Compose v2.
Instalar Dify en su VPS ServOrbit
Contratar un VPS Cloud ServOrbit
Vaya a la página /vps-cloud y elija un plan adaptado a su uso (mínimo 2 vCPU / 4 GB RAM, recomendado 4 vCPU / 8 GB). Seleccione Ubuntu 22.04 LTS como sistema operativo y finalice el pedido. Su VPS se aprovisiona en menos de un minuto.
Clonar el repositorio y copiar la configuración
Conéctese por SSH a su VPS y ejecute:
git clone https://github.com/langgenius/dify.git cd dify/docker cp .env.example .envEl archivo
.envcentraliza todas las variables de configuración (claves secretas, URLs, indicadores de comportamiento). Ábralo y cambie al menosSECRET_KEYyPOSTGRES_PASSWORDantes de iniciar los contenedores.Arrancar la pila Docker Compose
Desde la carpeta
dify/docker, ejecute:docker compose up -dDocker descarga las imágenes e inicia los contenedores:
dify-api,dify-worker,dify-web,db(PostgreSQL),redis,weaviate,sandbox,ssrf_proxyynginx. Compruebe que todo estáUpcondocker compose ps. La operación suele durar entre 3 y 5 minutos.Crear la cuenta de administrador
Abra
http://[IP-de-su-VPS]en su navegador. Dify redirige automáticamente a/installen el primer acceso.⚠️ Hágalo inmediatamente: mientras la cuenta de administrador no exista, la página
/installes accesible para cualquiera — el primero en llegar se convierte en propietario de su instancia.Indique su dirección de correo electrónico y una contraseña segura. Esta cuenta es la propietaria del espacio de trabajo por defecto.
Apuntar un nombre de dominio y activar HTTPS
Para uso en producción, asocie un nombre de dominio a la IP de su VPS y despliegue un certificado TLS. El
docker-compose.yamlde Dify incluye un nginx interno que escucha en el puerto 80. La configuración más directa consiste en instalar Certbot en el host y crear un vhost nginx externo que proxifique hacialocalhost:80:sudo apt install nginx certbot python3-certbot-nginx -y sudo certbot --nginx -d your-domain.comActualice luego
CONSOLE_API_URL,CONSOLE_WEB_URL,SERVICE_API_URLyAPP_WEB_URLen.envconhttps://your-domain.com, y reinicie condocker compose up -d.
Configuración post-instalación: modelos, API y espacio de trabajo
Una vez conectado, el primer paso es registrar un proveedor de modelos. En ajustes (icono superior derecho) → Proveedores de modelos, añada su clave API de OpenAI, Anthropic, Mistral o cualquier otro proveedor compatible. Para un modelo local, indique la URL de su instancia Ollama (http://[host-IP]:11434).
Dify también expone su propia API REST para integrar sus aplicaciones en pipelines externos. Las claves de API se encuentran en Ajustes → Claves de API. Estas claves permiten consultar sus apps de Dify desde n8n, Zapier o cualquier script Python sin pasar por la interfaz gráfica.
El espacio de trabajo por defecto es el creado en el primer acceso. Invite miembros en Ajustes → Miembros y asígneles los roles Admin, Normal u Operador de dataset.
Plugins offline: solucionar el error 500/404 en instancias self-hosted
Desde noviembre de 2025 (issue GitHub #27720), muchos usuarios self-hosted observan que instalar plugins desde el marketplace de Dify devuelve un error HTTP 500 o 404 en el endpoint /api/v1/plugins/download/. Los mismos plugins se instalan sin problema en Dify Cloud, pero las instancias autoalojadas no pueden alcanzar el backend de distribución.
Solución alternativa 1 — Archivo .difypkg local. El método más fiable consiste en descargar manualmente el archivo .difypkg del plugin desde el marketplace de Dify y luego instalarlo mediante la opción «Instalar desde archivo local» en la interfaz de Dify. Este método funciona independientemente de la conectividad al endpoint de descarga.
Solución alternativa 2 — Desactivar la verificación de firma. Si desea instalar plugins no firmados o desarrollar los suyos propios, añada la siguiente variable a su archivo .env:
FORCE_VERIFYING_SIGNATURE=falseLuego reinicie el servicio plugin_daemon:
docker compose restart plugin_daemon⚠️ Atención: desactivar la verificación de firma elimina una protección de seguridad. Reserve este ajuste para entornos de desarrollo o plugins cuya fuente controle. Para uso en producción con usuarios externos, prefiera la instalación mediante un archivo .difypkg verificado.
Integración con Ollama y n8n
Dify se vuelve especialmente potente combinado con otras herramientas self-hosted.
Ollama le permite ejecutar un LLM directamente en su VPS o en un servidor de la misma red, sin depender de una API externa. Tras desplegar Ollama, regístrelo en Dify como proveedor de modelos con la URL http://[Ollama-IP]:11434. Toda la generación permanece entonces en su infraestructura — sin filtración de prompts al exterior.
n8n es un orquestador de workflows que puede pilotar Dify mediante su API REST. Cree un nodo HTTP Request en n8n apuntando a https://your-domain.com/v1/chat-messages con su clave de API de Dify en la cabecera Authorization. Puede así activar una conversación Dify desde un formulario web, un correo entrante o un webhook de Slack, y enviar la respuesta de IA a cualquier destino.
Solución de problemas: los errores más frecuentes
El contenedor worker reinicia continuamente. El worker Celery depende de Redis y PostgreSQL. Compruebe su estado con docker compose ps db redis y revise los logs: docker compose logs worker --tail=50. Si Redis no está aún listo al arrancar, basta con docker compose restart worker.
plugin_daemon: error de conexión a PostgreSQL. Tras una actualización de Dify, plugin_daemon puede fallar con failed to connect to host=db. Compruebe que el contenedor db esté healthy (docker compose ps db). Si el problema persiste, espere 30 segundos tras el arranque completo antes de reiniciar: docker compose restart plugin_daemon.
Weaviate no arranca (vm.max_map_count). Weaviate requiere un parámetro de kernel Linux elevado. Si el contenedor sale inmediatamente, aplique: sudo sysctl -w vm.max_map_count=262144. Para hacerlo permanente, añada vm.max_map_count=262144 en /etc/sysctl.conf.
Plugins marketplace: error 500/404. Consulte la sección «Plugins offline» más arriba. Si el problema es un bloqueo de red entre los contenedores Docker y marketplace.dify.ai, verifique que el puerto 443 saliente no esté bloqueado: docker compose exec api curl -I https://marketplace.dify.ai.
WebSocket desconectado detrás de un reverse proxy. Si el streaming de respuestas de IA se interrumpe, el nginx externo no reenvía las cabeceras WebSocket. Añada al bloque location /: proxy_set_header Upgrade $http_upgrade; y proxy_set_header Connection "upgrade";.
Active las copias de seguridad automáticas de ServOrbit para proteger el volumen PostgreSQL de Dify (sus aplicaciones, prompts e historiales de conversaciones). Un snapshot diario del disco cubre todos los volúmenes Docker, incluidos dify_db y dify_weaviate. Si una actualización sale mal, revertir a una versión anterior tarda solo unos minutos desde el área de cliente.
La documentación oficial
Para la configuración avanzada, la lista completa de variables de entorno y las notas de versión, consulte la documentación oficial de Dify. El docker-compose.yaml del repositorio oficial sigue siendo la fuente de verdad para las versiones de imágenes y las dependencias entre servicios.