Come fare Self-Host di Dify nel 2026
Una guida pratica e completa per eseguire Dify sul tuo VPS. Dalla scelta di un server ai certificati SSL e alla manutenzione continua — tutto ciò di cui hai bisogno in un unico posto.
Cos'è il Self-Hosting di Dify?
Dify è una piattaforma open-source per lo sviluppo di applicazioni LLM che ti permette di costruire app basate su AI, chatbot e pipeline RAG. Il self-hosting significa eseguire Dify sul proprio server invece di utilizzare Dify Cloud.
Si sceglie il self-hosting rispetto a Dify Cloud per tre ragioni principali:
- Costo — Un Hetzner CX22 costa €3.79/mo vs $59/mo per Dify Cloud Pro. A scala di team, il risparmio è notevole.
- Controllo — Accesso completo alla configurazione, plugin, modelli personalizzati, membri del workspace illimitati e nessun limite di crediti messaggio.
- Privacy dei dati — I tuoi prompt, documenti e cronologia delle conversazioni non lasciano mai la tua infrastruttura. Fondamentale per i settori regolamentati.
Il compromesso è che sei responsabile del setup, degli aggiornamenti e dell'uptime. Questa guida rende tutto questo semplice.
Requisiti del Server
Minimo
Consigliato
OS: Ubuntu 22.04 LTS (consigliato). Anche Debian 11/12 funziona.
Scegli un Server
Per la maggior parte dei self-hoster, Hetzner CX22 (€3.79/mo, 2 vCPU, 4GB RAM, 40GB NVMe) è il punto di partenza migliore. Esegue comodamente Dify e tutti i suoi servizi. I data center europei lo rendono ideale per la conformità GDPR.
Per i principianti che vogliono un pannello di controllo più semplice, Hostinger VPS parte da $7.99/mo e include più assistenza. Se hai bisogno di 8GB RAM, il loro piano KVM 2 a $9.99/mo offre un ottimo rapporto qualità-prezzo.
Suggerimento: Crea il server con la tua chiave pubblica SSH già aggiunta. Questo evita completamente l'autenticazione con password ed è più sicuro.
Configurazione Iniziale del Server
Connettiti al server ed esegui la configurazione iniziale:
# Connettiti al server via SSH
ssh root@IP_DEL_TUO_SERVER
# Aggiorna i pacchetti
apt update && apt upgrade -y
# Installa strumenti essenziali
apt install -y curl wget git ufw
# Crea un utente non-root
adduser dify
usermod -aG sudo dify
# Copia le chiavi SSH al nuovo utente
rsync --archive --chown=dify:dify ~/.ssh /home/dify
# Configura il firewall 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 Ora esci e riconnettiti come utente dify per i passi successivi.
Installa Docker Engine
Installa Docker usando il repository apt ufficiale — non usare la versione snap:
# Installa i prerequisiti
sudo apt install -y ca-certificates curl gnupg lsb-release
# Aggiungi la chiave GPG ufficiale di 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
# Aggiungi il repository apt di 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
# Installa Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
# Aggiungi il tuo utente al gruppo docker (nessun sudo necessario)
sudo usermod -aG docker $USER
newgrp docker
# Verifica l'installazione
docker --version Installa il Plugin Docker Compose
Il plugin Docker Compose è incluso nel pacchetto precedente. Verifica che funzioni:
# Controlla la versione di Docker Compose (dovrebbe essere v2.x)
docker compose version
# Se non installato, aggiungilo manualmente
sudo apt install -y docker-compose-plugin Clona e Configura Dify
Clona il repository ufficiale di Dify e configura il tuo ambiente:
# Clona il repository
git clone https://github.com/langgenius/dify.git
cd dify/docker
# Crea il tuo file .env dall'esempio
cp .env.example .env
# Genera una SECRET_KEY sicura
openssl rand -base64 42
# Modifica il file .env
nano .env Impostazioni chiave da aggiornare in .env:
# OBBLIGATORIO: Imposta una chiave segreta casuale robusta
SECRET_KEY=la-tua-chiave-segreta-generata-qui
# Imposta il tuo dominio (usato nelle email e nei link)
CONSOLE_URL=https://tuo-dominio.com
APP_URL=https://tuo-dominio.com
# Cambia la password predefinita del database
DB_PASSWORD=la-tua-password-db-robusta
# Cambia la password predefinita di Redis
REDIS_PASSWORD=la-tua-password-redis-robusta
# Opzionale: Aggiungi la tua chiave API OpenAI per un avvio rapido
OPENAI_API_KEY=sk-... Avvia Dify
Avvia tutti i servizi Dify con Docker Compose:
# Avvia tutti i servizi in background
docker compose up -d
# Verifica che tutti i container siano in esecuzione
docker compose ps
# Segui i log per guardare l'avvio (Ctrl+C per uscire)
docker compose logs -f Una volta che tutti i container mostrano lo stato healthy (impiega 1-2 minuti), visita http://IP_DEL_TUO_SERVER per completare la procedura guidata di configurazione admin.
Configura SSL con Nginx
Lo stack Docker di Dify include il proprio Nginx sulla porta 80. Per SSL, aggiungeremo un Nginx a livello host come reverse proxy davanti ad esso. Prima, cambia la porta di Dify per evitare conflitti:
# In dify/docker/.env, cambia la porta Nginx
EXPOSE_NGINX_PORT=8080
# Riavvia per applicare
docker compose down && docker compose up -d
# Installa Nginx host e Certbot
sudo apt install -y nginx certbot python3-certbot-nginx
# Crea la config Nginx per il tuo dominio
sudo nano /etc/nginx/sites-available/dify Aggiungi questa config (sostituisci tuo-dominio.com):
server {
listen 80;
server_name tuo-dominio.com www.tuo-dominio.com;
location / {
proxy_pass http://localhost:80;
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;
}
} # Abilita e testa
sudo ln -s /etc/nginx/sites-available/dify /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
# Ottieni il certificato SSL (configura automaticamente Nginx per HTTPS)
sudo certbot --nginx -d tuo-dominio.com -d www.tuo-dominio.com Manutenzione
Aggiornamento di Dify — Dify rilascia aggiornamenti frequentemente. Aggiorna senza modifiche di configurazione:
cd ~/dify
git pull origin main
cd docker
docker compose pull
docker compose up -d Backup — Fai il backup del database PostgreSQL e dei file caricati:
# Backup del database
docker compose exec db pg_dump -U postgres dify > backup_$(date +%Y%m%d).sql
# Backup dei file caricati
tar -czf dify_storage_$(date +%Y%m%d).tar.gz ./volumes/app/storage Monitoraggio — Controlla l'utilizzo delle risorse:
# Utilizzo risorse container
docker stats
# Utilizzo disco
df -h
docker system df Domande Frequenti
Conflitto porta: qualcosa sta già usando la porta 80
Un altro servizio (spesso Apache) occupa la porta 80. O fermalo (sudo systemctl stop apache2) o cambia la porta Nginx di Dify in .env impostando EXPOSE_NGINX_PORT=8080.
Il container si chiude con errore out-of-memory
Dify ha bisogno di almeno 4GB RAM. Controlla con free -h. Se la RAM è al limite, aggiungi un file di swap da 4GB: fallocate -l 4G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile.
Non riesco ad accedere alla pagina di setup admin
Verifica che tutti i container siano in esecuzione (docker compose ps) e che il tuo firewall consenta la porta 80 (sudo ufw status). Il container API impiega 30-60 secondi per essere pronto — attendi lo stato healthy.
Ho dimenticato la password admin
Reimpostala tramite il container API: docker compose exec api flask reset-password — segui le istruzioni per inserire la tua email e la nuova password.
Come aggiorno Dify senza downtime?
Esegui docker compose pull per pre-scaricare le nuove immagini, poi docker compose up -d per applicarle. Docker Compose esegue riavvii progressivi di default, quindi il downtime è tipicamente inferiore a 30 secondi.
Guide Correlate
Guida
Approfondimento Docker Compose Dify
Guida completa alla configurazione per ogni servizio e variabile d'ambiente.
Provider
Hetzner per Dify
VPS con il miglior rapporto qualità-prezzo per il self-hosting di Dify — da €3.79/mo.
Confronto
Migliori Provider Hosting Dify
8 provider testati e classificati per il self-hosting di Dify.