{ "slug": "openwebui", "kind": "compose", "metadata": { "name": "Openwebui", "description": "Web-based interface for managing and interacting with local AI models (Ollama, etc.). Provides chat, model management, and multi-user support.", "tags": [ "traefik", "authentik" ], "icon": { "provider": "selfhst", "id": "open-webui" }, "draft": false, "version": { "name": "v0.9.2", "source_dep_name": "ghcr.io/open-webui/open-webui", "source_dep_version": "v0.9.2" } }, "variables": [ { "title": "General", "name": "general", "items": [ { "name": "service_name", "type": "str", "title": "Service Name", "required": false, "default": "openwebui", "config": { "placeholder": "openwebui" } }, { "name": "container_name", "type": "str", "title": "Container Name", "required": false, "default": "openwebui", "config": { "placeholder": "openwebui" } }, { "name": "container_hostname", "type": "str", "title": "Container Hostname", "required": true }, { "name": "container_timezone", "type": "str", "title": "Container Timezone", "required": false, "config": { "placeholder": "Europe/Berlin" } }, { "name": "restart_policy", "type": "enum", "title": "Restart Policy", "required": true, "default": "unless-stopped", "config": { "options": [ "unless-stopped", "always", "on-failure", "no" ] } }, { "name": "ollama_base_url", "type": "str", "title": "Ollama URL", "required": false, "default": "http://ollama:11434", "config": { "placeholder": "http://ollama:11434" } }, { "name": "webui_url", "type": "str", "title": "Public WebUI URL", "required": false, "default": "http://localhost:8080", "config": { "placeholder": "https://openwebui.home.arpa" } } ] }, { "title": "Traefik", "name": "traefik", "toggle": "traefik_enabled", "items": [ { "name": "traefik_enabled", "type": "bool", "title": "Traefik", "required": false, "default": false }, { "name": "traefik_host", "type": "str", "title": "Host", "required": true, "config": { "placeholder": "openwebui" } }, { "name": "traefik_domain", "type": "str", "title": "Domain", "required": true, "config": { "placeholder": "home.arpa" } }, { "name": "traefik_entrypoint", "type": "str", "title": "Traefik Entrypoint", "required": false, "default": "", "config": { "placeholder": "web" } }, { "name": "traefik_network", "type": "str", "title": "Network", "required": true, "default": "traefik", "config": { "placeholder": "traefik" } }, { "name": "traefik_tls_enabled", "type": "bool", "title": "TLS", "required": false, "default": false }, { "name": "traefik_tls_entrypoint", "type": "str", "title": "Traefik Tls Entrypoint", "required": false, "default": "", "needs": [ "traefik_tls_enabled=true" ], "config": { "placeholder": "websecure" } }, { "name": "traefik_tls_certresolver", "type": "str", "title": "Cert Resolver", "required": true, "default": "cloudflare", "config": { "placeholder": "cloudflare" }, "needs": [ "traefik_tls_enabled=true" ] } ] }, { "title": "Ports", "name": "ports", "items": [ { "name": "ports_http", "type": "int", "title": "Web UI port", "required": false, "default": 8080, "config": { "placeholder": "8080" } } ] }, { "title": "Authentik", "name": "authentik", "items": [ { "name": "authentik_enabled", "type": "bool", "title": "Authentik Enabled", "required": false, "default": false }, { "name": "openid_provider_url", "type": "str", "title": "OpenID Config URL", "required": false, "needs": [ "authentik_enabled=true" ], "config": { "placeholder": "https://authentik.home.arpa/application/o/openwebui/.well-known/openid-configuration" } }, { "name": "openid_redirect_uri", "type": "str", "title": "OAuth redirect URI", "required": false, "default": "https://openwebui.home.arpa/oauth/oidc/callback", "needs": [ "authentik_enabled=true" ], "config": { "placeholder": "https://openwebui.home.arpa/oauth/oidc/callback" } }, { "name": "oauth_scopes", "type": "str", "title": "OAuth Scopes", "required": false, "default": "openid email profile", "description": "OAuth scopes (space-separated)", "needs": [ "authentik_enabled=true" ], "config": { "placeholder": "openid email profile" } }, { "name": "oauth_merge_accounts", "type": "bool", "title": "Merge Accounts", "required": false, "default": false, "description": "Merge OAuth accounts by email", "needs": [ "authentik_enabled=true" ] }, { "name": "authentik_client_id", "type": "secret", "title": "Authentik Client Id", "required": true, "needs": [ "authentik_enabled=true" ] }, { "name": "authentik_client_secret", "type": "secret", "title": "Authentik Client Secret", "required": true, "needs": [ "authentik_enabled=true" ] } ] } ] }