Iniciante 12 minInterfaces

Open WebUI com Ollama: guia complet

O Ollama roda no seu terminal; é eficiente, mas pouco confortável no dia a dia. Este tutorial de Open WebUI + Ollama permite instalar em poucos minutos uma interface de chat completa e local, semelhante ao ChatGPT: histórico persistente, markdown, anexos, RAG integrado aos seus documentos e gerenciamento de múltiplas contas. Tudo em um contêiner Docker, sem dependências do sistema.

Por Mohamed Meguedmi·Atualização 2026-08-27·Testado no Windows, macOS e Linux

#Por que Open WebUI

Open WebUI (anteriormente Ollama WebUI) tornou-se o frontend de referência para LLMs auto-hospedados. É uma aplicação web de código aberto (licença permissiva) que se comunica nativamente com Ollama, mas também com qualquer endpoint compatível com OpenAI — LM Studio, vLLM, servidor llama.cpp, ou até mesmo uma chave OpenAI, se você tiver uma.

Interface familiar
Barra lateral com histórico, área central de chat, seletor de modelo na parte superior. Quem já abriu o ChatGPT consegue se orientar em 30 segundos.
RAG integrado
Arraste um PDF, um .docx, um .md ou um .txt para a conversa: o Open WebUI divide o arquivo em blocos, gera seus embeddings e o usa como contexto. Não é preciso montar uma stack RAG manualmente.
Multiusuário nativo
Contas locais, papéis admin/user/pending, validação manual de inscrições. Perfeito para uma equipe ou família.
100% offline após a instalação
O contêiner, a interface e os modelos rodam na sua máquina. Nenhuma telemetria obrigatória, nenhuma requisição de saída se você bloquear OpenAI/HuggingFace nas configurações.
Extensível
Pipelines Python (funções, filtros, RAG personalizado), ferramentas MCP, integração de pesquisa web (SearXNG, Tavily), TTS/STT, geração de imagens via ComfyUI ou Automatic1111.
i
Open WebUI ≠ Ollama
Ollama é o motor de inferência (o daemon que carrega o modelo e gera os tokens). Open WebUI é a interface que fala com Ollama via sua API HTTP. Você pode ter Ollama sem Open WebUI, o inverso é mais complicado — Open WebUI precisa de um backend que sirva os modelos.

#Pré-requisitos

O kit IA Local

O Open WebUI está respondendo, conectado ao Ollama. O kit de IA local o transforma no seu ChatGPT privado para toda a casa: múltiplas contas (cap. 6), perguntas aos seus documentos (cap. 8) e a lista do que realmente permanece local (cap. 13).

  • Espaço online vitalício
  • PDF + arquivos
  • Atualizações vitalícias
Ollama instalado e funcionando
O daemon deve escutar em http://localhost:11434. Verifique com curl http://localhost:11434/api/tags — você deve obter um JSON (vazio ou com seus modelos).
Docker Desktop ou Docker Engine
Windows/macOS: Docker Desktop. Linux: docker-ce via o gerenciador de pacotes da sua distribuição. Compose v2 está incluído.
2 GB de RAM livre
Open WebUI consome pouco (200-400 MB). A maior parte da RAM/VRAM será usada por Ollama, que carrega os modelos.
Um modelo Ollama já baixado
Se a lista estiver vazia, ollama pull qwen3.5:4b ou ollama pull granite4.2:8b antes de começar — caso contrário, não haverá nada para selecionar na interface.
→
Ainda não tem o Ollama?
Se o Ollama não estiver instalado, comece pelo guia de instalação correspondente ao seu sistema operacional. O tutorial de instalação do Ollama para Windows/macOS/Linux leva 3 minutos. Volte aqui depois.

#1. Instalação do Docker em um comando

A imagem oficial está publicada no GitHub Container Registry. Um único comando basta para iniciar o Open WebUI e conectá-lo automaticamente ao seu Ollama local.

Linux / macOS — Ollama local
docker run -d \
  -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main
Windows PowerShell
docker run -d `
  -p 3000:8080 `
  --add-host=host.docker.internal:host-gateway `
  -v open-webui:/app/backend/data `
  --name open-webui `
  --restart always `
  ghcr.io/open-webui/open-webui:main

Vamos analisar os flags. Cada um tem um propósito preciso:

-p 3000:8080
O Open WebUI escuta na porta 8080 dentro do contêiner. Essa porta é publicada na porta 3000 da sua máquina. Você acessará o serviço por http://localhost:3000.
--add-host=host.docker.internal:host-gateway
Obrigatório no Linux: permite que o contêiner acesse Ollama que está rodando fora do Docker via o hostname host.docker.internal. No Windows/macOS, o Docker Desktop já configura isso.
-v open-webui:/app/backend/data
Volume nomeado que preserva o histórico das conversas, as contas dos usuários e os documentos indexados. Sem isso, tudo desaparece ao reiniciar o contêiner.
--restart always
O contêiner reinicia automaticamente no boot da máquina. Open WebUI torna-se um serviço permanente.
ghcr.io/open-webui/open-webui:main
Tag main = versão estável mais recente. Para fixar uma versão, use :v0.5.0 (ou a release atual). Em produção, não dependa de main.
!
Primeira imagem: ~1,5 GB
A primeira execução de docker run baixa a imagem completa. Espere levar vários minutos, dependendo da sua conexão. As inicializações seguintes serão instantâneas.

#2. Primeiro acesso e conta de administrador

Depois que o contêiner estiver iniciado, abra no navegador a URL abaixo.

Interface local
http://localhost:3000
  1. 01
    Criação da conta de administrador
    Na primeira execução, o Open WebUI pede que você crie uma conta. O primeiro usuário registrado se torna administrador automaticamente. E-mail, senha — tudo permanece local, no volume Docker.
  2. 02
    Verifique os modelos disponíveis
    No seletor no topo da tela, seus modelos Ollama devem aparecer. Se a lista estiver vazia, é porque a conexão com o Ollama falhou (ver seção 3 abaixo).
  3. 03
    Inicie uma conversa de teste
    Escolha um modelo, digite uma mensagem. Se a resposta chegar em streaming, tudo está conectado. Caso contrário, abra Settings > Admin Panel > Connections para diagnosticar.
→
Anote bem a senha do administrador
Não há procedimento de recuperação pela interface gráfica. Se você o perder, será preciso editar o banco de dados SQLite no volume Docker ou apagar tudo e começar de novo. Armazene-o em seu gerenciador de senhas.

#3. Conectar o Open WebUI ao Ollama

Em 95% dos casos, a conexão é feita automaticamente através de host.docker.internal. Se isso não ocorrer, segue como forçar manualmente.

Acesse Settings (ícone no canto inferior esquerdo) > Admin Panel > Connections > Ollama API. Insira a URL:

URL Ollama a partir do contêiner
http://host.docker.internal:11434

Clique no botão de teste (ícone de atualização ao lado do campo). Um indicador verde confirma a conexão. A lista de seus modelos é recarregada imediatamente.

!
Linux: Ollama deve escutar em 0.0.0.0
Por padrão no Linux, o daemon Ollama escuta apenas em 127.0.0.1, o que o torna invisível a partir do Docker. Edite o serviço systemd (sudo systemctl edit ollama) e adicione Environment="OLLAMA_HOST=0.0.0.0:11434" na seção [Service]. Em seguida, execute sudo systemctl restart ollama. Leve em conta suas regras de firewall se a máquina estiver exposta.

Para verificar via CLI se Ollama está realmente acessível fora do contêiner:

Teste de conectividade
# Depuis l'hôte
curl http://localhost:11434/api/tags

# Depuis le conteneur Open WebUI (Linux)
docker exec -it open-webui curl http://host.docker.internal:11434/api/tags

#4. RAG com seus documentos em 2 minutos

É provavelmente a funcionalidade que, por si só, justifica a instalação. O Open WebUI inclui um pipeline RAG completo: extração de texto (PDF, DOCX, MD, TXT, HTML, código-fonte), chunking, embeddings, busca vetorial e injeção no contexto.

#Método 1: anexo enviado na hora

Em uma conversa, clique no ícone de clipe (ou digite # para navegar pelos documentos indexados). Selecione um arquivo — ele é ingerido, dividido em blocos e convertido em embeddings em poucos segundos. O modelo agora pode responder a perguntas sobre seu conteúdo.

i
Modelo de embeddings padrão
Open WebUI utiliza por padrão sentence-transformers/all-MiniLM-L6-v2. É rápido, mas focado no inglês. Para conteúdo em francês, mude para BAAI/bge-m3 ou intfloat/multilingual-e5-large em Settings > Documents > Embedding Model. Primeiro download: ~1-2 GB.

#Método 2: Knowledge (base persistente)

Para uso recorrente — documentação interna, base de conhecimento, arquivos de projeto — crie uma Knowledge. Workspace > Knowledge > Create Knowledge. Dê um nome a ela (ex.: "Documentação do produto"), carregue seus documentos em massa e associe-a a um modelo personalizado via Workspace > Models.

Chunking padrão
1000 caracteres com sobreposição de 100. Ajustável em Settings > Documents. Para texto técnico denso, reduza para 500/50. Para texto narrativo, mantenha 1500/200.
Top K
Número de chunks fornecidos ao modelo. Valor padrão: 4. Aumente para 6-8 em perguntas que abrangem vários temas, reduza para 2-3 se o modelo perder o foco.
Busca híbrida
Ativável na mesma página. Combina busca lexical BM25 e similaridade vetorial. Essencial para consultas contendo termos técnicos exatos (referências de produto, nomes próprios, códigos).
→
Escolher um modelo adequado para RAG
O contexto injetado pode ocupar de 2 mil a 8 mil tokens. Um modelo pequeno com uma janela de contexto curta satura rapidamente. Para um uso sério de RAG, prefira Qwen 3.5 9B (256k de contexto, ≈6,6 GB), Granite 4.2 8B (128k, muito eficiente no uso de tokens, ≈5,3 GB) ou Gemma 4 12B Q4 se você tiver VRAM suficiente (≈7,6 GB).

#5. Múltiplos usuários e autenticação

O Open WebUI gerencia três papéis: admin (tudo), user (chat + suas próprias bases de conhecimento), pending (conta criada, mas aguardando validação). O sistema foi projetado para que um admin controle quem entra na instância.

  1. 01
    Habilitar o cadastro controlado
    Admin Panel > Settings > General. Defina Default User Role como 'pending'. Todo novo cadastro exigirá sua aprovação manual em Admin Panel > Users.
  2. 02
    Criar usuários
    Seus colegas acessam http://votre-ip:3000 e criam uma conta. Você vê a solicitação em Admin Panel > Users e a aprova com um clique. Eles podem então fazer login.
  3. 03
    Restringir modelos por usuário
    Workspace > Models > selecione um modelo > Visibility. Você pode tornar um modelo público, privado ou expô-lo apenas a alguns usuários (útil para um modelo sensível com ajuste fino).
  4. 04
    Forçar HTTPS se a instância estiver exposta
    O Open WebUI não gerencia TLS por conta própria. Coloque Caddy, Traefik ou nginx à frente do contêiner. Sem HTTPS, não exponha o Open WebUI fora da sua LAN — as senhas são transmitidas em texto claro.
!
OAuth / LDAP: possível, mas avançado
O Open WebUI suporta provedores OAuth (Google, Microsoft, GitHub) e LDAP via variáveis de ambiente (OAUTH_*, LDAP_*). Isso é útil em empresas, mas exige um bom domínio do assunto. Para uso pessoal ou em uma pequena equipe, as contas locais são mais do que suficientes.

#Open WebUI vs Msty vs LobeChat

Três interfaces maduras dividem o mercado em 2026. Veja como escolher entre elas de acordo com seu perfil.

Open WebUI
O mais completo e extensível. RAG, pipelines em Python, múltiplos usuários, MCP, busca na web. Requer Docker. Ideal se você quer UMA interface para toda a equipe.
Msty
Aplicativo desktop nativo (Windows/Mac/Linux), sem Docker, instalação em 1 clique. Excelente experiência de usuário para uso individual. RAG integrado também. Menos extensível que Open WebUI. Ideal para um desenvolvedor ou curioso que quer testar rapidamente.
LobeChat
Mais voltado para um "clone visual do ChatGPT". Visual bonito, plugins e marketplace de agentes. Suporte a múltiplos provedores muito bem implementado. RAG menos avançado. Ideal se você alterna entre Ollama local e várias APIs (OpenAI, Anthropic, Mistral na nuvem).
Veredito rápido
Uso individual + máquina pessoal: Msty. Equipe + servidor dedicado: Open WebUI. Usuário avançado que quer um frontend bonito com vários provedores: LobeChat.

#Solução de problemas

Lista de modelos vazia
O Open WebUI não consegue se conectar ao Ollama. Verifique: (1) se ollama list exibe modelos, (2) se curl http://localhost:11434/api/tags responde e (3) se, no Linux, OLLAMA_HOST=0.0.0.0:11434 está definido. Teste a URL em Admin Panel > Connections.
Erro 502 Bad Gateway
O contêiner não inicia corretamente. docker logs open-webui mostra a causa. Muitas vezes: volume montado em modo somente leitura, porta 3000 já ocupada ou conflito com uma instância anterior (docker rm -f open-webui e depois iniciar novamente).
Baixa taxa de tokens por segundo
O gargalo está em Ollama, não em Open WebUI. O comando ollama ps deve mostrar 100% de GPU. Se for CPU ou parcial, o modelo ultrapassa a VRAM — mude para uma quantização menor (Q4_K_M em vez de Q5_K_M).
Documentos não indexados
O primeiro upload baixa o modelo de embeddings (1-2 GB), o que pode levar algum tempo. Consulte docker logs open-webui. Verifique também se o arquivo não excede o tamanho máximo (ajustável em Settings > Documents > Max Upload File Size).
Atualização
docker pull ghcr.io/open-webui/open-webui:main puis docker stop open-webui && docker rm open-webui et relancez la commande run d'origine. Le volume open-webui:/app/backend/data préserve vos données.
Backup
docker run --rm -v open-webui:/data -v $(pwd):/backup alpine tar czf /backup/openwebui-backup.tar.gz -C /data . cria um arquivo com todo o seu histórico, contas e conhecimentos. Faça isso antes de cada atualização importante.

#Para se aprofundar

Com o Open WebUI instalado e conectado ao Ollama, você tem um ambiente de trabalho de IA local completo. Alguns próximos passos naturais:

Melhorar o RAG
O RAG integrado do Open WebUI é bastante satisfatório, mas, para grandes conjuntos de documentos ou buscas mais específicas, o guia de RAG com ChromaDB deste site mostra como montar um pipeline dedicado, com melhor desempenho e mais possibilidades de ajuste.
Escolher a quantização correta
Q4_K_M por padrão, mas o equilíbrio entre vantagens e desvantagens muda conforme a sua VRAM. O guia de quantização Q4/Q5/Q8 detalha as ordens de grandeza — muitas vezes decisivas para conseguir rodar um 14B ou ter que ficar com um 7B.
Comparar com outros frontends
Se você ainda está hesitando entre Open WebUI, LibreChat, AnythingLLM, SillyTavern, o guia comparativo dos frontends de chat lista suas respectivas vantagens em uma página.
Este guia ajudou você?

Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.