{
  "manifest_version": "1",
  "slug": "open-webui",
  "title": "Open WebUI",
  "headline": "Self-host Open WebUI",
  "description": "Run Open WebUI on exe.dev: a private ChatGPT for you or your team, with models from exe.dev's LLM gateway, exe.dev login, and chats on your VM.",
  "category": "ai-apps",
  "tags": [
    "chatgpt alternative",
    "ai chat",
    "llm",
    "rag",
    "ollama",
    "docker compose"
  ],
  "url": "https://exe.dev/deploy/open-webui",
  "markdown_url": "https://exe.dev/deploy/open-webui.md",
  "upstream": {
    "website": "https://openwebui.com",
    "source": "https://github.com/open-webui/open-webui",
    "docs": "https://docs.openwebui.com",
    "license": "Open WebUI License (BSD-3-Clause with a branding clause)"
  },
  "example_vm_name": "my-open-webui",
  "time": "10 minutes",
  "stack": [
    {
      "name": "Open WebUI 0.12",
      "detail": "The official Docker image, in Docker Compose",
      "port": 8000,
      "data": "~/open-webui/data"
    },
    {
      "name": "exe.dev LLM gateway",
      "detail": "GPT, GLM, Kimi, Grok, and more, without API keys"
    },
    {
      "name": "exe.dev login",
      "detail": "Signs everyone in to Open WebUI; no second password"
    }
  ],
  "access": [
    {
      "url": "https://my-open-webui.exe.xyz/",
      "who": "private",
      "what": "Your chats, signed in with your exe.dev account"
    },
    {
      "url": "https://my-open-webui.exe.xyz/",
      "who": "shared",
      "what": "Teammates you share the VM with, each with their own account"
    }
  ],
  "delivers": [
    "Open WebUI at your VM's private URL, signed in with exe.dev, with you as admin.",
    "Dozens of models from exe.dev's LLM gateway. No API keys to paste.",
    "An account made automatically for each teammate you share the VM with.",
    "Chat with documents, DuckDuckGo web search, and voice input, ready to use.",
    "Starts again after a reboot; nightly backups, with one restored and checked."
  ],
  "owner_runs_after": [
    "ssh exe.dev share add my-open-webui teammate@example.com"
  ],
  "deployable": true,
  "deploy": {
    "new_vm_url": "https://exe.dev/new?prompt=Set%20up%20Open%20WebUI%20on%20this%20VM%20by%20following%20the%20exe.dev%20recipe%20at%20https%3A%2F%2Fexe.dev%2Fdeploy%2Fopen-webui.md%20from%20top%20to%20bottom.%0A%0AThe%20recipe%27s%20example%20VM%20name%20is%20my-open-webui.%20This%20VM%27s%20name%20is%20the%20output%20of%20%60hostname%60%3A%20use%20it%20wherever%20the%20recipe%20writes%20my-open-webui.%20Skip%20the%20step%20that%20creates%20the%20VM%3B%20you%20are%20on%20it.%0A%0AYou%20are%20done%20when%20all%20of%20these%20are%20true.%20Check%20each%20one%20yourself%3A%0A-%20Open%20WebUI%20at%20your%20VM%27s%20private%20URL%2C%20signed%20in%20with%20exe.dev%2C%20with%20you%20as%20admin.%0A-%20Dozens%20of%20models%20from%20exe.dev%27s%20LLM%20gateway.%20No%20API%20keys%20to%20paste.%0A-%20An%20account%20made%20automatically%20for%20each%20teammate%20you%20share%20the%20VM%20with.%0A-%20Chat%20with%20documents%2C%20DuckDuckGo%20web%20search%2C%20and%20voice%20input%2C%20ready%20to%20use.%0A-%20Starts%20again%20after%20a%20reboot%3B%20nightly%20backups%2C%20with%20one%20restored%20and%20checked.%0A%0ARead%20the%20whole%20recipe%2C%20including%20the%20closed%20details.%20For%20initial%20setup%2C%0Afollow%20%22Install%20by%20hand%22%20first%2C%20skipping%20VM%20creation%20and%20SSH%3A%20Docker%2C%0Athe%20Compose%20stack%2C%20the%20owner%27s%20admin%20account%2C%20the%20chat%20check%2C%20the%0Adocuments%2Fsearch%2Fvoice%20check%2C%20the%20backup%20timer%2C%20and%20the%20backup%20check.%0AThose%20checks%20are%20enough%3B%20don%27t%20install%20extra%20tools%20to%20test%20further.%0AThe%20walkthrough%20at%20the%20top%20is%20for%20the%20owner%20afterwards.%20Do%20not%20run%0ARestore%2C%20Update%2C%20or%20%22Run%20a%20small%20model%20on%20the%20VM%22.%0AWork%20as%20exedev%20in%20~%2Fopen-webui.%20Never%20overwrite%20an%20existing%20.env.%0AMake%20the%20VM%27s%20owner%20the%20admin%2C%20using%20the%20email%20from%20the%20reflection%0Aintegration%3B%20if%20it%20prints%20nothing%2C%20ask%20the%20user%20for%20their%20exe.dev%20email.%0AThe%20VM%20is%20private%20until%20it%27s%20shared%2C%20so%20start%20Open%20WebUI%20as%20written%3B%0Athere%27s%20no%20need%20to%20hide%20port%208000%20first.%20Don%27t%20share%20the%20VM%20or%20make%20it%0Apublic.%20Keep%20test%20chats%20to%20a%20word%20or%20two.%0AVerify%20docker.service%20is%20enabled%20and%20the%20container%20uses%20unless-stopped%3B%0Ado%20not%20reboot.%0A%0AFinish%20with%20the%20URLs%20I%20should%20open%20and%20these%20commands%2C%20which%20only%20I%20can%20run%2C%20from%20my%20own%20computer%20%28with%20this%20VM%27s%20name%20in%20them%29%3A%0A%20%20ssh%20exe.dev%20share%20add%20my-open-webui%20teammate%40example.com%0A",
    "terminal": "curl -fsSL https://exe.dev/deploy/open-webui/prompt.txt | ssh exe.dev new --prompt=/dev/stdin",
    "prompt": "Set up Open WebUI on this VM by following the exe.dev recipe at https://exe.dev/deploy/open-webui.md from top to bottom.\n\nThe recipe's example VM name is my-open-webui. This VM's name is the output of `hostname`: use it wherever the recipe writes my-open-webui. Skip the step that creates the VM; you are on it.\n\nYou are done when all of these are true. Check each one yourself:\n- Open WebUI at your VM's private URL, signed in with exe.dev, with you as admin.\n- Dozens of models from exe.dev's LLM gateway. No API keys to paste.\n- An account made automatically for each teammate you share the VM with.\n- Chat with documents, DuckDuckGo web search, and voice input, ready to use.\n- Starts again after a reboot; nightly backups, with one restored and checked.\n\nRead the whole recipe, including the closed details. For initial setup,\nfollow \"Install by hand\" first, skipping VM creation and SSH: Docker,\nthe Compose stack, the owner's admin account, the chat check, the\ndocuments/search/voice check, the backup timer, and the backup check.\nThose checks are enough; don't install extra tools to test further.\nThe walkthrough at the top is for the owner afterwards. Do not run\nRestore, Update, or \"Run a small model on the VM\".\nWork as exedev in ~/open-webui. Never overwrite an existing .env.\nMake the VM's owner the admin, using the email from the reflection\nintegration; if it prints nothing, ask the user for their exe.dev email.\nThe VM is private until it's shared, so start Open WebUI as written;\nthere's no need to hide port 8000 first. Don't share the VM or make it\npublic. Keep test chats to a word or two.\nVerify docker.service is enabled and the container uses unless-stopped;\ndo not reboot.\n\nFinish with the URLs I should open and these commands, which only I can run, from my own computer (with this VM's name in them):\n  ssh exe.dev share add my-open-webui teammate@example.com\n",
    "prompt_url": "https://exe.dev/deploy/open-webui/prompt.txt"
  },
  "updated": "2026-10-17",
  "verified": "2026-10-17",
  "related": [
    "hermes-agent",
    "openclaw",
    "n8n",
    "claude-code",
    "code-server",
    "uptime-kuma"
  ],
  "alternatives": [
    "ChatGPT",
    "LibreChat"
  ]
}
