Files
Portainer/openwebui

Open WebUI

Interfaz de chat para los modelos publicados por LiteLLM. Ollama está deshabilitado explícitamente; este despliegue usa únicamente la API compatible con OpenAI.

Arquitectura

Open WebUI se une a proxy, desde donde Traefik lo publica y puede alcanzar litellm:4000. Los chats, usuarios y ajustes se guardan en OPENWEBUI_DATA_PATH.

Configuración

Variable Uso
OPENAI_API_BASE_URL http://litellm:4000/v1 para tráfico interno
OPENAI_API_KEY Valor de LITELLM_MASTER_KEY, no una credencial de Codex
WEBUI_SECRET_KEY Firma sesiones; debe ser aleatoria y estable
OPENWEBUI_DOMAIN, WEBUI_URL URL pública detrás de Traefik
ENABLE_SIGNUP Debe desactivarse salvo durante un alta controlada
ENABLE_LOGIN_FORM Mantiene o elimina el login local según la estrategia SSO
WEBUI_AUTH_TRUSTED_*_HEADER Cabeceras de identidad entregadas por el proxy autenticado

Las cabeceras de usuario sólo son seguras si Open WebUI no puede alcanzarse evitando Traefik y si el proxy elimina cualquier cabecera equivalente enviada por el cliente. WEBUI_SECRET_KEY no debe cambiarse en cada recreación porque invalidaría sesiones.

Relación con Codex

Open WebUI nunca monta ni lee auth.json. Envía una petición OpenAI-compatible a LiteLLM; LiteLLM valida su clave, selecciona el alias y, si corresponde, usa su proveedor Codex. Esto limita la exposición del refresh token a un único contenedor.

Despliegue

cd openwebui
docker compose --env-file .env config
docker compose --env-file .env up -d

Verificación

docker compose --env-file .env ps
docker compose --env-file .env logs -f openwebui

Si no aparecen modelos, prueba primero /v1/models contra LiteLLM con la misma clave. Si los modelos aparecen pero fallan sólo los alias Codex, revisa el montaje y renovación de auth.json en LiteLLM.