Cómo Autoalojar Dify en 2026
Una guía completa y práctica para ejecutar Dify en tu propio VPS. Desde elegir un servidor hasta los certificados SSL y el mantenimiento continuo — todo lo que necesitas en un solo lugar.
¿Qué es el Autoalojamiento de Dify?
Dify es una plataforma de desarrollo de aplicaciones LLM de código abierto que te permite crear apps potenciadas por IA, chatbots y pipelines RAG. El autoalojamiento significa ejecutar Dify en tu propio servidor en lugar de usar Dify Cloud.
Elegirías el autoalojamiento sobre Dify Cloud por tres razones principales:
- Coste — Un Hetzner CX22 cuesta €3,79/mes vs $59/mes para Dify Cloud Pro. A escala de equipo, los ahorros son dramáticos.
- Control — Acceso completo a la configuración, plugins, modelos personalizados, miembros de workspace ilimitados y sin límites de créditos de mensajes.
- Privacidad de datos — Tus prompts, documentos e historial de conversaciones nunca salen de tu propia infraestructura. Fundamental para industrias reguladas.
La compensación es que eres responsable de la configuración, las actualizaciones y el tiempo de actividad. Esta guía hace eso sencillo.
Requisitos del Servidor
Mínimo
Recomendado
SO: Ubuntu 22.04 LTS (recomendado). Debian 11/12 también funciona.
Elegir un Servidor
Para la mayoría de usuarios que se autoalojan, Hetzner CX22 (€3,79/mes, 2 vCPU, 4GB RAM, 40GB NVMe) es el mejor punto de partida. Ejecuta Dify y todos sus servicios cómodamente. Los centros de datos europeos lo hacen ideal para el cumplimiento del GDPR.
Para principiantes que quieren un panel de control más sencillo, Hostinger VPS empieza desde $7,99/mes e incluye más ayuda. Si necesitas 8GB RAM, su plan KVM 2 a $9,99/mes ofrece un excelente valor.
Consejo: Crea el servidor con tu clave pública SSH ya añadida. Esto evita completamente la autenticación por contraseña y es más seguro.
Configuración Inicial del Servidor
Conéctate a tu servidor y ejecuta la configuración inicial:
# SSH en tu servidor
ssh root@IP_DE_TU_SERVIDOR
# Actualizar paquetes
apt update && apt upgrade -y
# Instalar herramientas esenciales
apt install -y curl wget git ufw
# Crear un usuario no root
adduser dify
usermod -aG sudo dify
# Copiar claves SSH al nuevo usuario
rsync --archive --chown=dify:dify ~/.ssh /home/dify
# Configurar el cortafuegos UFW
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp comment 'SSH'
ufw allow 80/tcp comment 'HTTP'
ufw allow 443/tcp comment 'HTTPS'
ufw --force enable
ufw status Ahora cierra sesión y vuelve a conectarte como el usuario dify para los pasos restantes.
Instalar Docker Engine
Instala Docker usando el repositorio apt oficial — no uses la versión snap:
# Instalar prerrequisitos
sudo apt install -y ca-certificates curl gnupg lsb-release
# Añadir la clave GPG oficial de Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Añadir el repositorio apt de Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Instalar Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
# Añadir tu usuario al grupo docker (sin sudo necesario)
sudo usermod -aG docker $USER
newgrp docker
# Verificar instalación
docker --version Instalar el Plugin Docker Compose
El plugin Docker Compose está incluido en el paquete anterior. Verifica que funciona:
# Comprobar la versión de Docker Compose (debe ser v2.x)
docker compose version
# Si no está instalado, añadirlo manualmente
sudo apt install -y docker-compose-plugin Clonar y Configurar Dify
Clona el repositorio oficial de Dify y configura tu entorno:
# Clonar el repositorio
git clone https://github.com/langgenius/dify.git
cd dify/docker
# Crear tu archivo .env desde el ejemplo
cp .env.example .env
# Generar una SECRET_KEY segura
openssl rand -base64 42
# Editar el archivo .env
nano .env Configuraciones clave a actualizar en .env:
# OBLIGATORIO: Establecer una clave secreta aleatoria fuerte
SECRET_KEY=tu-clave-secreta-generada-aqui
# Establece tu dominio (usado en correos y enlaces)
CONSOLE_URL=https://tu-dominio.com
APP_URL=https://tu-dominio.com
# Cambiar la contraseña predeterminada de la base de datos
DB_PASSWORD=tu-contraseña-bd-fuerte
# Cambiar la contraseña predeterminada de Redis
REDIS_PASSWORD=tu-contraseña-redis-fuerte
# Opcional: Añade tu clave API de OpenAI para inicio rápido
OPENAI_API_KEY=sk-... Iniciar Dify
Lanza todos los servicios de Dify con Docker Compose:
# Iniciar todos los servicios en segundo plano
docker compose up -d
# Verificar que todos los contenedores están ejecutándose
docker compose ps
# Seguir los registros para ver el inicio (Ctrl+C para salir)
docker compose logs -f Una vez que todos los contenedores muestren el estado healthy (tarda 1-2 minutos), visita http://IP_DE_TU_SERVIDOR para completar el asistente de configuración de administrador.
Configurar SSL con Nginx
El stack Docker de Dify incluye su propio Nginx en el puerto 80. Para SSL, añadiremos un Nginx a nivel de host como proxy inverso delante de él. Primero, cambia el puerto de Dify para evitar conflictos:
# En dify/docker/.env, cambia el puerto de Nginx
EXPOSE_NGINX_PORT=8080
# Reiniciar para aplicar
docker compose down && docker compose up -d
# Instalar Nginx de host y Certbot
sudo apt install -y nginx certbot python3-certbot-nginx
# Crear config de Nginx para tu dominio
sudo nano /etc/nginx/sites-available/dify Añade esta configuración (reemplaza tu-dominio.com):
server {
listen 80;
server_name tu-dominio.com www.tu-dominio.com;
location / {
proxy_pass http://localhost:8080;
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;
proxy_read_timeout 300s;
client_max_body_size 100M;
}
} # Habilitar y probar
sudo ln -s /etc/nginx/sites-available/dify /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
# Obtener certificado SSL (configura automáticamente Nginx para HTTPS)
sudo certbot --nginx -d tu-dominio.com -d www.tu-dominio.com Mantenimiento
Actualizar Dify — Dify lanza actualizaciones con frecuencia. Actualiza sin cambios de configuración:
cd ~/dify
git pull origin main
cd docker
docker compose pull
docker compose up -d Copia de seguridad — Haz copia de seguridad de tu base de datos PostgreSQL y de los archivos subidos:
# Copia de seguridad de la base de datos
docker compose exec db pg_dump -U postgres dify > backup_$(date +%Y%m%d).sql
# Copia de seguridad de los archivos subidos
tar -czf dify_storage_$(date +%Y%m%d).tar.gz ./volumes/app/storage Monitorización — Comprueba el uso de recursos:
# Uso de recursos de los contenedores
docker stats
# Uso del disco
df -h
docker system df Preguntas Frecuentes
Conflicto de puertos: algo ya está usando el puerto 80
Otro servicio (a menudo Apache) está ocupando el puerto 80. Detenlo (sudo systemctl stop apache2) o cambia el puerto Nginx de Dify en .env estableciendo EXPOSE_NGINX_PORT=8080.
El contenedor sale con error de falta de memoria
Dify necesita al menos 4GB de RAM. Comprueba con free -h. Si la RAM está al límite, añade un archivo swap de 4GB: fallocate -l 4G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile.
No se puede acceder a la página de configuración del administrador
Comprueba que todos los contenedores están ejecutándose (docker compose ps) y que tu cortafuegos permite el puerto 80 (sudo ufw status). El contenedor API tarda 30-60 segundos en estar listo — espera el estado healthy.
Olvidé la contraseña de administrador
Restablécela a través del contenedor API: docker compose exec api flask reset-password — sigue las indicaciones para introducir tu correo electrónico y nueva contraseña.
¿Cómo actualizar Dify sin tiempo de inactividad?
Ejecuta docker compose pull para pre-descargar nuevas imágenes, luego docker compose up -d para aplicar. Docker Compose realiza reinicios continuos por defecto, por lo que el tiempo de inactividad es típicamente inferior a 30 segundos.
Guías Relacionadas
Guía
Configuración Docker Compose de Dify en Profundidad
Guía de configuración completa para cada servicio y variable de entorno.
Proveedor
Hetzner para Dify
VPS de mejor precio para autoalojar Dify — desde €3,79/mes.
Comparación
Mejores Proveedores de Hosting para Dify
8 proveedores probados y clasificados para autoalojar Dify.