# 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 ```bash cd openwebui docker compose --env-file .env config docker compose --env-file .env up -d ``` ## Verificación ```bash 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.