diff --git a/docs/features/channels/index.md b/docs/features/channels/index.md new file mode 100644 index 0000000..8947af1 --- /dev/null +++ b/docs/features/channels/index.md @@ -0,0 +1,6 @@ +--- +sidebar_position: 7 +title: "📢 Channels" +--- + +Soon... \ No newline at end of file diff --git a/docs/features/mcp.mdx b/docs/features/mcp.mdx index c6477b9..02d737d 100644 --- a/docs/features/mcp.mdx +++ b/docs/features/mcp.mdx @@ -46,7 +46,11 @@ Browser-based, multi-user deployments increase the surface area (CORS/CSRF, per- ## ❓ FAQ **Do you support stdio or SSE transports?** -No. Open WebUI only supports **MCP via Streamable HTTP**. +Native MCP support in Open WebUI is **Streamable HTTP only**. This design choice reflects our architecture: Open WebUI is a **web-based, multi-tenant environment**, not a local desktop process. + +Browsers operate within strict **sandboxed and event-driven HTTP constraints**, making long-lived stdio or SSE connections difficult to maintain securely across users and sessions. + +If you need to bridge those other MCP transports, check out [**mcpo**](https://github.com/open-webui/mcpo) — an open-source proxy that translates **stdio or SSE-based MCP servers into OpenAPI-compatible endpoints**. It effectively lets you run traditional MCP tools inside Open WebUI without modifying their transport layer. **Is MCP considered stable here?** Supported and improving. The broader ecosystem is still evolving; expect occasional breaking changes. diff --git a/docs/getting-started/env-configuration.mdx b/docs/getting-started/env-configuration.mdx index d41f4e8..5d35e98 100644 --- a/docs/getting-started/env-configuration.mdx +++ b/docs/getting-started/env-configuration.mdx @@ -921,7 +921,9 @@ The value of `API_KEY_ALLOWED_ENDPOINTS` should be a comma-separated list of end Setting `JWT_EXPIRES_IN` to `-1` disables JWT expiration, making issued tokens valid forever. **This is extremely dangerous in production** and exposes your system to severe security risks if tokens are leaked or compromised. -**Always set a reasonable expiration time (e.g., `3600s`, `1h`, etc.) in production to limit the lifespan of authentication tokens.** Never use `-1` in a production environment. +**Always set a reasonable expiration time in production environments (e.g., `3600s`, `1h`, `7d` etc.) to limit the lifespan of authentication tokens.** + +**NEVER use `-1` in a production environment.** If you have already deployed with `JWT_EXPIRES_IN=-1`, you can rotate or change your `WEBUI_SECRET_KEY` to immediately invalidate all existing tokens. diff --git a/docs/license.mdx b/docs/license.mdx index a5d34f4..8278b8a 100644 --- a/docs/license.mdx +++ b/docs/license.mdx @@ -36,7 +36,7 @@ Open WebUI’s license now: - **You may NOT alter, remove, or obscure any “Open WebUI” branding** (name, logo, UI marks, etc.) in any deployment or distribution, except in the circumstances below. - Branding must remain clearly visible, unless: 1. **You have 50 or fewer users** in a 30-day period; - 2. **You are a contributor**, and have gotten written permission from us for an internal deployment; + 2. **You are a substantive contributor**, and have gotten written permission from us for an internal deployment; 3. **You’ve secured an enterprise license** from us which explicitly allows branding changes. - **CLA required for new contributions** after v0.6.5 (v0.6.6+) under the updated license. @@ -62,7 +62,7 @@ This is not legal advice—refer to the full [LICENSE](https://github.com/open-w **Absolutely.** You can change, extend, and customize the code or the user interface for your organization’s needs—but you’re required to keep “Open WebUI” branding visible *unless*: - Your deployment is for **50 or fewer users in any 30-day window**; or -- You’re a recognized project contributor **and** have received written permission to adjust branding for an internal deployment; or +- You’re a substantive project contributor **and** have received written permission to adjust branding for an internal deployment; or - You’ve secured an **enterprise license** with us that explicitly allows branding changes. If you remove or modify branding without meeting these criteria, that’s a material breach of the license. diff --git a/src/components/SidebarBanners.tsx b/src/components/SidebarBanners.tsx index d15aa05..4a92059 100644 --- a/src/components/SidebarBanners.tsx +++ b/src/components/SidebarBanners.tsx @@ -35,22 +35,30 @@ export const SidebarBanners = () => { description: "The intelligent terminal for developers", }, - { - imgSrc: "/sponsors/banners/tailscale-banner.png", - mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png", - url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs", - name: "Tailscale", - description: "Connect self-hosted AI to any device with Tailscale", - }, + // { + // imgSrc: "/sponsors/banners/tailscale-banner.png", + // mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png", + // url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs", + // name: "Tailscale", + // description: "Connect self-hosted AI to any device with Tailscale", + // }, + + // { + // imgSrc: "/sponsors/banners/tailscale-banner.png", + // mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png", + // url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs", + // name: "Tailscale", + // description: "Connect self-hosted AI to any device with Tailscale", + // }, { - imgSrc: "/sponsors/banners/tailscale-banner.png", - mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png", - url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs", - name: "Tailscale", - description: "Connect self-hosted AI to any device with Tailscale", + imgSrc: "/sponsors/banners/placeholder.png", + mobileImgSrc: "/sponsors/banners/placeholder-mobile.png", + url: "https://forms.gle/92mvG3ESYj47zzRL9", + name: "Open WebUI", + description: + "The top banner spot is reserved for Emerald+ Enterprise sponsors", }, - { imgSrc: "/sponsors/banners/placeholder.png", mobileImgSrc: "/sponsors/banners/placeholder-mobile.png", diff --git a/src/components/SponsorList.tsx b/src/components/SponsorList.tsx index 3248762..aa20972 100644 --- a/src/components/SponsorList.tsx +++ b/src/components/SponsorList.tsx @@ -15,12 +15,12 @@ export const SponsorList = () => { name: "Warp", description: "The intelligent terminal for developers", }, - { - imgSrc: "/sponsors/logos/tailscale.png", - url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs", - name: "Tailscale", - description: "Connect self-hosted AI to any device with Tailscale", - }, + // { + // imgSrc: "/sponsors/logos/tailscale.png", + // url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs", + // name: "Tailscale", + // description: "Connect self-hosted AI to any device with Tailscale", + // }, ]; const sponsors = [ diff --git a/src/components/TopBanners.tsx b/src/components/TopBanners.tsx index c077e8c..f835588 100644 --- a/src/components/TopBanners.tsx +++ b/src/components/TopBanners.tsx @@ -40,22 +40,30 @@ export const TopBanners = ({ description: "The intelligent terminal for developers", }, - { - imgSrc: "/sponsors/banners/tailscale-banner.png", - mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png", - url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs", - name: "Tailscale", - description: "Connect self-hosted AI to any device with Tailscale", - }, + // { + // imgSrc: "/sponsors/banners/tailscale-banner.png", + // mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png", + // url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs", + // name: "Tailscale", + // description: "Connect self-hosted AI to any device with Tailscale", + // }, + + // { + // imgSrc: "/sponsors/banners/tailscale-banner.png", + // mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png", + // url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs", + // name: "Tailscale", + // description: "Connect self-hosted AI to any device with Tailscale", + // }, { - imgSrc: "/sponsors/banners/tailscale-banner.png", - mobileImgSrc: "/sponsors/banners/tailscale-banner-mobile.png", - url: "https://tailscale.com/blog/self-host-a-local-ai-stack/?utm_source=OpenWebUI&utm_medium=paid-ad-placement&utm_campaign=OpenWebUI-Docs", - name: "Tailscale", - description: "Connect self-hosted AI to any device with Tailscale", + imgSrc: "/sponsors/banners/placeholder.png", + mobileImgSrc: "/sponsors/banners/placeholder-mobile.png", + url: "https://forms.gle/92mvG3ESYj47zzRL9", + name: "Open WebUI", + description: + "The top banner spot is reserved for Emerald+ Enterprise sponsors", }, - { imgSrc: "/sponsors/banners/placeholder.png", mobileImgSrc: "/sponsors/banners/placeholder-mobile.png",