toolkitbox

~/ / Artigos sobre IA / LLMs locais em uma VPS / Conectar o Dify ao Ollama no seu próprio VPS

Conectar o Dify ao Ollama no seu próprio VPS

O Dify é uma plataforma para criar apps de IA que você pode executar no seu próprio servidor. O Ollama executa o modelo. Este artigo conecta os dois em um único VPS: qual deve ser o tamanho do servidor, como iniciar o Dify, quais campos o plugin do Ollama pede e por que o endereço que funciona em um notebook pode falhar dentro do Docker. Ele também diz onde a documentação termina, para que você saiba quais partes precisa testar por conta própria.

Publicado: · 7 min de leitura · Fatos conferidos na documentação e nos repositórios oficiais em 2026-10-27. O Dify muda rápido, então leia as notas de versão da versão que você instalar.

O que você precisa antes de começar

O guia de auto-hospedagem do Dify lista o mínimo para o próprio Dify. O modelo precisa de memória própria além disso, então os dois valores têm de ser somados. O estimador abaixo dá um valor para o modelo. Somá-lo ao mínimo do Dify é uma regra prática nossa, não uma afirmação da documentação do Dify.

ItemO que diz o guia do Dify
CPUCPU >= 2 Core
MemóriaRAM >= 4 GiB
Docker ComposeO Dify exige Docker Compose 2.24.0 ou posterior.
Git, curl, jqO comando de clonagem abaixo usa git, curl e jq.

Experimente: Local LLM Memory Estimator

Modelo

Tag do Ollama qwen3:8b, quantização Q4_K_M, tamanho de download 5.2 GB.

Estimativa

Pesos do modelo
4.84 GiB
KV cache
0.56 GiB
Reserva
1.00 GiB
Total
6.41 GiB (6.88 GB)
Menor tamanho de memória comum que o comporta
8 GiB

Esta é uma estimativa. Ela não inclui os buffers de computação do runtime e supõe que todas as camadas têm o mesmo formato de KV. Meça uma execução real antes de escolher um plano.

Dados do modelo verificados em 2026-10-26.

Fontes: Ollama library · Configuração do modelo (config.json) · Ollama FAQ

Tudo é executado no seu navegador. Nada é enviado.

Passo 1: iniciar o Dify com Docker Compose

Estes são os comandos do guia de auto-hospedagem do Dify. O primeiro baixa do GitHub a tag da versão mais recente, para que você comece de uma versão lançada e não de uma branch inacabada. Na época da nossa verificação, a versão mais recente era a 1.18.0 (publicada em 2026-10-23).

PassoComando
Clonar a versão mais recentegit clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git
Ir para a pasta do Dockercd dify/docker
Copiar o arquivo de configuraçõescp .env.example .env
Criar um token para o backend do agenteopenssl rand -base64 32
Iniciar o Difydocker compose up -d

Coloque o token que o openssl imprimir no .env como DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN antes de iniciar. O guia diz que o backend do agente e o seu sandbox não iniciam sem ele.

Passo 2: criar a conta de administrador

Depois que os contêineres estiverem em execução, o guia diz para abrir primeiro a página de inicialização do administrador: http://your_server_ip/install em um servidor, ou http://localhost/install no seu próprio computador. Crie a conta ali e depois faça login em http://your_server_ip.

A documentação não diz quem pode acessar essa página antes de a conta existir. Nossa recomendação, não uma afirmação dos documentos: crie a conta logo depois de iniciar e leia o artigo sobre como proteger um servidor antes de deixar o Dify aberto para a internet.

Passo 3: adicionar o plugin do Ollama e o modelo

Na documentação atual do Dify, os provedores de modelos são instalados em Integrations > Model Provider ou no Marketplace, e depois você clica em Setup no cartão do provedor. Os nomes dos menus mudam entre versões, então procure a lista de provedores na sua versão. A página do plugin do Ollama no Marketplace (versão 1.0.3 na época da nossa verificação) diz para instalar o Ollama, executar um modelo e confirmar que a API local dele funciona antes de adicioná-lo ao Dify.

Estes são os campos do plugin, retirados do README e da página dele no Marketplace.

CampoO que informar
Model NameO modelo do Ollama, por exemplo gemma3, qwen3, deepseek-r1 ou gpt-oss.
Base URLA raiz do host do Ollama, http://<your-ollama-host>:11434 para um Ollama local. Não inclua /api, porque o plugin acrescenta /api/chat, /api/generate e /api/embed por conta própria.
API KeyOpcional para um Ollama local. Obrigatória apenas para o Ollama na nuvem.
Model TypeChat para conversa, chamada de ferramentas e visão. A página do Marketplace também lista embeddings de texto e rerank.
Model Context LengthUse o mesmo valor da janela de contexto do modelo.
Upper bound for max tokensO maior valor de max tokens (num_predict) que o Dify permite.
Vision support / Function call supportEscolha Yes apenas para um modelo que ofereça esse suporte.
Attach Dify app_id as request headersDesativado por padrão. Quando ativado, o Dify acrescenta os cabeçalhos X-Dify-App-Id e X-Dify-Source às suas chamadas ao Ollama. O Ollama não os usa.

Para saber quais modelos aceitam visão e chamada de ferramentas, veja o artigo sobre o que os modelos da biblioteca do Ollama sabem fazer.

Passo 4: o endereço que funciona de dentro do Docker

O Dify roda em contêineres, e o Ollama roda no próprio servidor. Dentro de um contêiner, localhost é o contêiner, não o servidor. O README do plugin diz: use um endereço de host que o contêiner do Dify consiga alcançar, como http://host.docker.internal:11434 ou um endereço IP da LAN.

A documentação do Docker explica o nome. A opção --add-host aceita um valor especial, host-gateway, que resolve para o endereço IP interno do host, e é convencional usar host.docker.internal para esse nome. Ela também diz que o Docker Desktop resolve o nome automaticamente. O exemplo na documentação é --add-host host.docker.internal=host-gateway.

O que verificamosResultado
O docker-compose.yaml do Dify define host.docker.internal?Não. Não encontramos host.docker.internal nem nenhuma entrada extra_hosts no arquivo da branch main.
A referência do Docker Compose descreve extra_hosts?Sim, como mapeamentos de nome de host no formato HOSTNAME=IP que vão para o /etc/hosts. A página que lemos não menciona host-gateway para extra_hosts.
O Ollama escuta em endereços além de 127.0.0.1?Não por padrão. O FAQ do Ollama diz que ele se vincula a 127.0.0.1 na porta 11434 e que a variável de ambiente OLLAMA_HOST muda o endereço de vinculação.

Nossa leitura, não uma afirmação dos documentos: em um servidor Linux você mesmo acrescenta o nome do host, ou usa o endereço do servidor, e talvez também precise mudar o endereço em que o Ollama escuta. Não testamos essa combinação. Se você mudar OLLAMA_HOST, a porta 11434 pode ser acessada a partir de outras máquinas, e o Ollama não tem senha própria, então feche essa porta para o exterior no firewall. Os artigos sobre como instalar o Ollama e sobre como colocar o nginx na frente dele descrevem as configurações.

Passo 5: embeddings e o que o plugin não faz

A página do plugin no Marketplace diz que ele oferece suporte a streaming, thinking, visão, chamada de ferramentas e embeddings de texto, e que os vetores de embedding são L2-normalized. Para embeddings, você adiciona um segundo modelo do tipo embeddings de texto, com um modelo de embedding da biblioteca do Ollama.

Ela também lista o que não está incluído. O Ollama não tem um endpoint nativo de rerank, então um modelo de rerank precisa de um serviço de rerank compatível com a OpenAI. A busca na web também não vem incluída. Ela exige um plugin de ferramenta separado do Dify ou um fluxo de trabalho externo.

Se a conexão falhar

  • Execute ollama ps e verifique se o modelo está carregado, e abra http://127.0.0.1:11434 no servidor para ver se o Ollama responde.
  • Confira a Base URL. Ela é a raiz do host, com a porta e sem /api.
  • Verifique se os contêineres do Dify conseguem alcançar o endereço. A documentação do Dify diz que as requisições de saída dele passam por um proxy que bloqueia faixas de IP internas e privadas. A página cita os nós HTTP e o download de imagens, e não diz se as requisições dos provedores de modelos seguem o mesmo caminho. Se você usa um endereço privado e ele é recusado, este é um lugar para investigar.
  • Leia os logs dos contêineres com docker compose logs. Não encontramos na documentação uma lista de mensagens de erro.

Manter o Dify atualizado

O guia diz que os passos de atualização variam entre versões, então siga o guia de atualização da versão para a qual você vai migrar, que fica na página Releases do Dify. Depois de uma atualização, compare o .env.example com o seu .env para ver variáveis novas ou alteradas. Se você alterou o docker-compose.yaml, aplique suas alterações de novo no arquivo da nova versão, porque uma versão pode acrescentar serviços que são obrigatórios.

Fontes

Leia a seguir