Ollama — o motor
Baixa e serve modelos abertos localmente por meio de uma API simples. Os modelos vivem em um volume, então sobrevivem a reinicializações. Ele só conversa com a internet para baixar um modelo.
O Secretia são três peças ligadas entre si: o Ollama roda os modelos, o Open WebUI é o chat, e uma pequena camada de nginx lhe dá a identidade do Escriba. Tudo roda no seu próprio servidor.
Internet ─► secretia (nginx, public) ─► open-webui (internal) ─► ollama (internal) branding + magenta accent chat, users, OIDC local modelsOllama — o motor
Baixa e serve modelos abertos localmente por meio de uma API simples. Os modelos vivem em um volume, então sobrevivem a reinicializações. Ele só conversa com a internet para baixar um modelo.
Open WebUI — a interface
A interface de chat: conversas, usuários, seletor de modelos, entrada multimodal e OIDC nativo.
Ele aponta para o Ollama através de OLLAMA_BASE_URL.
A camada de identidade
Um pequeno reverse-proxy nginx fica na frente e injeta o CSS do Secretia — a tipografia Inter e o tom magenta — e serve o logo, sem fazer fork da UI do Open WebUI.
Federação com o Lockatus
O OIDC nativo do Open WebUI é ligado ao Lockatus: registre secretia (redirect URI + matriz
de acesso) e a família faz login uma vez, com 2FA e papéis por app.
A aparência do Escriba aqui é em nível de identidade, não um re-skin completo. O nome, o logo e o tom são nossos; a interface por baixo é o próprio design do Open WebUI. O tom é injetado como CSS pela camada nginx — robusto para os toques seguros (tipografia, links, foco, a barra superior), e em regime de melhor esforço para recolorações mais profundas, que podem precisar de um ajuste quando o Open WebUI muda sua marcação. Um re-skin pixel-perfect completo significaria fazer fork e manter a UI deles à mão — caro e frágil — então não fazemos isso.
Baixe o que couber no seu hardware:
llama3.1:8b — um modelo de chat geral sólido e leve.qwen2.5:7b — uma alternativa forte.llava:7b — multimodal: lê texto e imagens.Um modelo de 7–8B pesa cerca de 4–5 GB. Eles rodam em CPU; uma GPU é dramaticamente mais rápida.