~/ / Articoli sull'IA / LLM locali su un VPS / Collegare Dify a Ollama sul proprio VPS
Collegare Dify a Ollama sul proprio VPS
Dify è una piattaforma per creare app di IA che puoi eseguire sul tuo server. Ollama esegue il modello. Questo articolo collega i due su un unico VPS: quanto deve essere grande il server, come avviare Dify, quali campi chiede il plugin Ollama e perché l'indirizzo che funziona su un portatile può non funzionare dentro Docker. Indica anche dove finisce la documentazione, così sai quali parti provare da solo.
Pubblicato: · 6 min di lettura · Fatti verificati sulla documentazione e sui repository ufficiali il 2026-10-27. Dify cambia in fretta, quindi leggi le note di rilascio della versione che installi.
Cosa serve prima di iniziare
La guida all'auto-hosting di Dify indica il minimo per Dify stesso. Il modello ha bisogno della propria memoria in aggiunta, quindi i due numeri vanno sommati. Lo strumento di stima qui sotto dà una cifra per il modello. Sommarla al minimo di Dify è una nostra regola pratica, non un'affermazione della documentazione di Dify.
| Voce | Cosa dice la guida di Dify |
|---|---|
| CPU | CPU >= 2 Core |
| Memoria | RAM >= 4 GiB |
| Docker Compose | Dify richiede Docker Compose 2.24.0 o successivo. |
| Git, curl, jq | Il comando di clonazione qui sotto usa git, curl e jq. |
Provalo: Local LLM Memory Estimator
Stima
- Pesi del modello
- 4.84 GiB
- Cache KV
- 0.56 GiB
- Riserva
- 1.00 GiB
- Totale
- 6.41 GiB (6.88 GB)
- Più piccola dimensione di memoria comune che lo contiene
- 8 GiB
Questa è una stima. Non include i buffer di calcolo del runtime e presuppone che ogni layer abbia la stessa forma KV. Misura un'esecuzione reale prima di scegliere un piano.
Dati del modello verificati il 2026-10-26.
Fonti: Ollama library · Configurazione del modello (config.json) · Ollama FAQ
Tutto viene eseguito nel tuo browser. Non viene caricato nulla.
Passo 1: avviare Dify con Docker Compose
Questi sono i comandi della guida all'auto-hosting di Dify. Il primo scarica da GitHub il tag dell'ultima release, così parti da una release e non da un branch non finito. Al momento della nostra verifica l'ultima release era la 1.18.0 (pubblicata il 2026-10-23).
| Passo | Comando |
|---|---|
| Clonare l'ultima release | git clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git |
| Entrare nella cartella Docker | cd dify/docker |
| Copiare il file delle impostazioni | cp .env.example .env |
| Creare un token per il backend degli agenti | openssl rand -base64 32 |
| Avviare Dify | docker compose up -d |
Inserisci il token stampato da openssl in .env come DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN prima dell'avvio. La guida dice che il backend degli agenti e la sua sandbox non si avviano senza di esso.
Passo 2: creare l'account amministratore
Dopo che i container sono attivi, la guida dice di aprire per prima la pagina di inizializzazione dell'amministratore: http://your_server_ip/install su un server, oppure http://localhost/install sul tuo computer. Crea lì l'account, poi accedi a http://your_server_ip.
La documentazione non dice chi può raggiungere quella pagina prima che l'account esista. Nostra raccomandazione, non un'affermazione dei documenti: crea l'account subito dopo l'avvio e leggi l'articolo sulla protezione di un server prima di lasciare Dify aperto a internet.
Passo 3: aggiungere il plugin Ollama e il modello
Nella documentazione attuale di Dify, i fornitori di modelli si installano da Integrations > Model Provider oppure da Marketplace, e poi si fa clic su Setup sulla scheda del fornitore. I nomi dei menu cambiano tra una versione e l'altra, quindi cerca l'elenco dei fornitori nella tua versione. La pagina del plugin Ollama su Marketplace (versione 1.0.3 al momento della nostra verifica) dice di installare Ollama, avviare un modello e verificare che la sua API locale funzioni prima di aggiungerlo a Dify.
Questi sono i campi del plugin, tratti dal suo README e dalla sua pagina su Marketplace.
| Campo | Cosa inserire |
|---|---|
| Model Name | Il modello di Ollama, per esempio gemma3, qwen3, deepseek-r1 o gpt-oss. |
| Base URL | La radice dell'host Ollama, http://<your-ollama-host>:11434 per un Ollama locale. Non includere /api, perché il plugin aggiunge da sé /api/chat, /api/generate e /api/embed. |
| API Key | Facoltativa per un Ollama locale. Necessaria solo per Ollama cloud. |
| Model Type | Chat per chat, chiamata di strumenti e visione. La pagina di Marketplace elenca anche gli embedding di testo e il rerank. |
| Model Context Length | Deve corrispondere alla finestra di contesto del modello. |
| Upper bound for max tokens | Il valore massimo di max tokens (num_predict) che Dify consente. |
| Vision support / Function call support | Scegli Yes solo per un modello che lo supporta. |
| Attach Dify app_id as request headers | Disattivato per impostazione predefinita. Se attivo, Dify aggiunge le intestazioni X-Dify-App-Id e X-Dify-Source alle sue chiamate a Ollama. Ollama non le usa. |
Per sapere quali modelli supportano la visione e la chiamata di strumenti, vedi l'articolo su ciò che sanno fare i modelli della libreria di Ollama.
Passo 4: l'indirizzo che funziona dall'interno di Docker
Dify gira nei container e Ollama gira sul server stesso. In un container, localhost è il container, non il server. Il README del plugin dice: usa un indirizzo dell'host che il container di Dify possa raggiungere, come http://host.docker.internal:11434 o un indirizzo IP della LAN.
La documentazione di Docker spiega il nome. L'opzione --add-host supporta un valore speciale, host-gateway, che si risolve nell'indirizzo IP interno dell'host, ed è consuetudine usare host.docker.internal per quel nome. Dice anche che Docker Desktop risolve il nome automaticamente. L'esempio nella documentazione è --add-host host.docker.internal=host-gateway.
| Cosa abbiamo verificato | Risultato |
|---|---|
| Il docker-compose.yaml di Dify definisce host.docker.internal? | No. Non abbiamo trovato né host.docker.internal né una voce extra_hosts nel file del branch main. |
| Il riferimento di Docker Compose descrive extra_hosts? | Sì, come mappature di nomi host nella forma HOSTNAME=IP che finiscono in /etc/hosts. La pagina che abbiamo letto non menziona host-gateway per extra_hosts. |
| Ollama ascolta su indirizzi diversi da 127.0.0.1? | Non per impostazione predefinita. La FAQ di Ollama dice che si collega a 127.0.0.1 sulla porta 11434 e che la variabile d'ambiente OLLAMA_HOST cambia l'indirizzo di bind. |
Una nostra interpretazione, non un'affermazione dei documenti: su un server Linux aggiungi tu stesso il nome host, oppure usi l'indirizzo del server, e potresti dover cambiare anche l'indirizzo su cui Ollama ascolta. Non abbiamo provato questa combinazione. Se cambi OLLAMA_HOST, la porta 11434 diventa raggiungibile da altre macchine e Ollama non ha una propria password, quindi chiudi quella porta verso l'esterno nel firewall. Gli articoli sull'installazione di Ollama e su come mettergli davanti nginx descrivono le impostazioni.
Passo 5: gli embedding e ciò che il plugin non fa
La pagina del plugin su Marketplace dice che supporta streaming, thinking, visione, chiamata di strumenti ed embedding di testo, e che i vettori di embedding sono L2-normalized. Per gli embedding aggiungi un secondo modello di tipo embedding di testo, con un modello di embedding della libreria di Ollama.
Elenca anche ciò che non è incluso. Ollama non ha un endpoint rerank nativo, quindi un modello di rerank richiede un servizio di rerank compatibile con OpenAI. Nemmeno la ricerca sul web è inclusa: serve un plugin di strumenti di Dify separato o un flusso di lavoro esterno.
Se la connessione non funziona
- Esegui ollama ps e controlla che il modello sia caricato, e apri http://127.0.0.1:11434 sul server per vedere se Ollama risponde.
- Controlla la Base URL. È la radice dell'host, con la porta e senza /api.
- Controlla che i container di Dify possano raggiungere l'indirizzo. La documentazione di Dify dice che le sue richieste in uscita passano da un proxy che blocca gli intervalli di IP interni e privati. La pagina nomina i nodi HTTP e i download di immagini, e non dice se le richieste dei fornitori di modelli seguano lo stesso percorso. Se usi un indirizzo privato e viene rifiutato, questo è un posto dove guardare.
- Leggi i log dei container con docker compose logs. Nella documentazione non abbiamo trovato un elenco dei messaggi di errore.
Tenere Dify aggiornato
La guida dice che i passaggi di aggiornamento variano da una release all'altra, quindi segui la guida all'aggiornamento della versione a cui passi, che si trova nella pagina Releases di Dify. Dopo un aggiornamento, confronta .env.example con il tuo .env per cercare variabili nuove o modificate. Se hai modificato docker-compose.yaml, applica di nuovo le tue modifiche al file della nuova release, perché una release può aggiungere servizi obbligatori.
Fonti
- Dify documentation: Deploy with Docker Compose
- Dify documentation: Model providers
- Dify documentation: Environment variables
- Dify official plugins: Ollama plugin README
- Dify Marketplace: Ollama plugin
- Dify repository: docker-compose.yaml
- Docker documentation: docker container run (--add-host)
- Docker documentation: Compose services (extra_hosts)
- Ollama documentation: FAQ
Leggi anche
- Avviare un LLM locale senza un PC costoso: guida per principianti all'uso di una VPSNon hai un PC potente? Affitta una VPS ed esegui un piccolo LLM locale dal browser: sei passaggi, dalla stima della memoria a una chat protetta, con i limiti dichiarati con onestà.
- Mettere nginx davanti a Ollama: autenticazione basic, HTTPS e impostazioni per lo streamingRaggiungere Ollama dall'esterno in modo sicuro: nginx come proxy, autenticazione basic, HTTPS, impostazioni di streaming e timeout e una regola del firewall, dalla documentazione ufficiale.
- Open WebUI su una VPS: eseguirlo in Docker e collegarlo a OllamaEsegui Open WebUI con Docker e collegalo a Ollama sul tuo server: i comandi, il primo account, i due tipi di connessione e come aggiornare.
- Chiamare un modello locale dal proprio codice: structured outputs e API compatibile con OpenAI in OllamaVincola l'output di un modello locale con un JSON Schema e chiama Ollama da client in stile OpenAI: cosa dice la documentazione ufficiale e cosa non è supportato.