>_ josetilabs.com
← blog

01 nov 2026 · ia, self-hosted, docker, interface · 4 min

Open WebUI: uma interface própria para os seus modelos

Open WebUI é uma interface web que roda na sua própria máquina e fala com modelos locais (Ollama) ou com qualquer API compatível com OpenAI. Em vez de depender de um serviço externo, você sobe um contêiner, aponta para o modelo e tem chat, histórico, arquivos e busca no mesmo lugar. O projeto é open source, com mais de 150 mil estrelas no GitHub, e roda 100 % offline quando pareado com Ollama.

O que você ganha

Chat com histórico persistente, upload de documentos com busca no conteúdo (RAG), múltiplos usuários com permissões, integração com ferramentas e modelos, e uma API compatível com OpenAI para seus próprios scripts. Tudo isso num único contêiner.

O que roda, quanto pesa e quanto custa

A imagem :main traz embeddings, extração de documentos e reconhecimento de voz embutidos. A :slim é 88 % menor (197 MB para baixar) e usa cerca de 300 MiB de RAM em repouso, delegando embeddings e voz para serviços externos. Escolha :slim se a máquina for pequena e você não precisar de RAG local.

Em teste próprio, a imagem :main levou cerca de 60 segundos para responder no primeiro boot e consumiu 783 MiB de RAM em repouso com 0,35 % de CPU. O custo de operação é zero além da máquina que você já tem; o custo de licença é zero, o código é aberto (licença “Other” no GitHub, confira os termos no repositório).

Como subir

yaml
services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "3000:8080"
    volumes:
      - open-webui-data:/app/backend/data
    environment:
      - WEBUI_AUTH=True
      - WEBUI_SECRET_KEY=${WEBUI_SECRET_KEY}
    restart: unless-stopped
    mem_limit: 2g
    cpus: 1.0
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
      interval: 30s
      timeout: 10s
      retries: 5

volumes:
  open-webui-data:

Salve como compose.yaml, crie um arquivo .env com WEBUI_SECRET_KEY (uma string longa e aleatória) e rode docker compose up -d. A interface aparece em http://localhost:3000. No primeiro acesso, a conta que você criar vira administrador.

Para usar um modelo local, instale o Ollama na máquina e aponte o Open WebUI para http://host.docker.internal:11434. Para usar uma API externa, adicione a chave em Configurações, Conexões.

Como verificar

text
docker compose ps
curl -s http://localhost:3000/health
docker stats --no-stream open-webui

A saída esperada: contêiner com status healthy, health retornando {"status":true} e consumo de memória próximo de 780 MiB para a imagem :main (ou 300 MiB para a :slim).

Se der errado

Vantagens e limites

Aspecto Open WebUI Alternativa típica
Hospedagem self-hosted, offline SaaS com conta
Modelos Ollama local ou API externa só o modelo do fornecedor
Dados ficam no seu volume ficam no servidor do fornecedor
Custo zero de licença mensalidade
Memória ~780 MiB (:main) ou ~300 MiB (:slim) não se aplica

FAQ

Preciso de GPU? Não para rodar a interface. A GPU só importa para o modelo que ela chama; o Open WebUI em si roda em CPU.

Posso usar sem Ollama? Sim. Aponte para qualquer API compatível com OpenAI: OpenAI, Anthropic via proxy, vLLM, LM Studio, OpenRouter. A interface não depende de modelo local.

Como atualizar? docker compose pull && docker compose up -d. O volume preserva os dados. Faça backup do volume antes de atualizar versões maiores.

RAG funciona offline? Com a imagem :main, sim, porque os embeddings rodam dentro do contêiner. Com a :slim, você precisa de um serviço de embeddings externo.

É seguro expor na internet? Mantenha WEBUI_AUTH=True, use uma senha forte no WEBUI_SECRET_KEY e coloque atrás de um proxy reverso com TLS. Por padrão, sirva só na rede local ou via túnel.

Diagrama mostrando o usuario acessando o Open WebUI no navegador, que fala com o modelo via Ollama ou API externa, persistindo dados em um volume local
O que entra (navegador) e o que sai (modelo e volume persistente).

Para estruturar um compose do zero com healthcheck e variáveis em .env, veja docker compose do zero. Para limitar memória e reinício do contêiner, veja como limitar memória, log e reinício de um contêiner. Para não vazar segredo no .env, veja variáveis de ambiente e .env.

Fontes: Open WebUI Docs, open-webui/open-webui no GitHub. Testado em 01 nov 2026: subida em ~60 s, 783 MiB de RAM em repouso, health ok.

Leia também

// Por e-mail

Os textos publicados aqui também vão por e-mail. O envio ainda não começou: quem deixar o endereço agora entra na primeira lista.

Guardo só o seu e-mail, a data e o registro desta autorização. Sem cookies, sem rastreador e nada compartilhado com terceiros. Detalhes na política de privacidade.