Host Docker
Qualquer servidor que rode imagens Docker. O Ollama precisa de internet de saída uma vez, para
o ollama pull dos seus modelos; depois disso, tudo é local.
O Secretia é uma distribuição: ele roda as imagens oficiais do Ollama e do Open WebUI e adiciona uma pequena camada de identidade. Escolha o caminho que se encaixa no seu host — um Compose de um único arquivo, ou três serviços separados (a opção mais amigável no EasyPanel).
Host Docker
Qualquer servidor que rode imagens Docker. O Ollama precisa de internet de saída uma vez, para
o ollama pull dos seus modelos; depois disso, tudo é local.
RAM suficiente
Um modelo de 7–8B precisa de cerca de 4–5 GB. Funciona só com CPU; uma GPU é bem mais rápida.
Um segredo de sessão
Uma string aleatória longa para o Open WebUI (openssl rand -hex 32). Para o SSO, os detalhes do
cliente do Lockatus (opcional).
O EasyPanel prefere serviços separados a um Compose. Crie um projeto e três serviços:
ollama — App → Docker Image ollama/ollama:latest. Monte um volume em
/root/.ollama. Sem domínio (interno).open-webui — App → Docker Image ghcr.io/open-webui/open-webui:main. Monte
/app/backend/data. Defina as variáveis de ambiente (abaixo). Sem domínio (interno).secretia — App → GitHub diegoparras/secretia, Build = Dockerfile. Defina
OPEN_WEBUI_UPSTREAM=open-webui:8080. Atribua o seu domínio público → porta 8080.Dentro de um mesmo projeto, os serviços se alcançam pelo nome (http://ollama:11434,
open-webui:8080). O checklist completo vive no DEPLOY.md do repositório.
git clone https://github.com/diegoparras/secretia.git && cd secretiacp .env.example .env # set WEBUI_URL, WEBUI_SECRET_KEY and the OAUTH_* varsdocker compose up -dO compose sobe o Ollama, o Open WebUI e o nginx de identidade juntos; apenas o serviço de
identidade é publicado (porta 8080).
Quer o caminho mais simples? Rode apenas ollama + open-webui e aponte o seu domínio
diretamente para o open-webui (porta 8080). Você mantém o nome “Secretia” e o login pelo
Lockatus, mas perde o tom magenta — é isso que o serviço de identidade adiciona.
| Variable | Example | Description |
|---|---|---|
OLLAMA_BASE_URL | http://ollama:11434 | Onde vive o motor de modelos (hostname interno). |
WEBUI_NAME | Secretia | O nome do app exibido na UI. |
WEBUI_URL | https://your-domain | URL pública — usada para montar os redirects OIDC. |
WEBUI_SECRET_KEY | (random) | Chave de sessão/cripto. openssl rand -hex 32. Mantenha em segredo. |
ENABLE_SIGNUP | false | Cadastro local desligado — as contas entram pelo Lockatus. |
ENABLE_OAUTH_SIGNUP | true | Cria um usuário automaticamente no primeiro login pelo Lockatus. |
OAUTH_CLIENT_ID | secretia | Slug do app registrado no Lockatus. |
OAUTH_CLIENT_SECRET | (secret) | O segredo registrado no Lockatus. |
OPENID_PROVIDER_URL | …/.well-known/openid-configuration | URL de discovery do Lockatus. |
OPENID_REDIRECT_URI | https://your-domain/oauth/oidc/callback | Deve coincidir com a registrada no Lockatus. |
O serviço de identidade recebe uma variável: OPEN_WEBUI_UPSTREAM (padrão open-webui:8080).
ollama, baixe um modelo:ollama pull llama3.1:8b # or qwen2.5:7b, or llava:7b for imagesO modelo aparece sozinho no seletor do Secretia.