Skip to content

Chatbot UI

Self-hosted open-source web chat app for talking to AI models, backed by Supabase.

Stars
33.3k
Forks
9.4k
Licence
MIT
Language
TypeScript
Last update
2.3 years ago
Type
App

No commits in over a year — check for forks or alternatives before adopting.

What it is

Chatbot UI is a web app that gives you a chat interface for AI models, which you can run on your own machine or server. It stores chats and settings in a Supabase (Postgres) database, and the README says it can also connect to local Ollama models. A hosted version is available from the maintainer if you don't want to run it yourself.

  • Chat with OpenAI or Azure OpenAI models through a self-hosted interface, using your own API keys
  • Run a local instance for private chats stored in your own Supabase database
  • Deploy a hosted instance to Vercel with a Supabase backend
  • Use Ollama-hosted local models by setting the Ollama URL

Great for

  • Developers who want a self-hosted chat interface for OpenAI or Azure OpenAI models
  • People comfortable running Docker and a Node.js project locally
  • Anyone who wants to try local models through Ollama alongside hosted ones
  • Teams who want to customize an open-source chat front end

Not ideal for

  • Non-technical users who want a simple install: setup requires Docker, Supabase CLI, and editing SQL migration files
  • People needing a polished mobile experience, since the README says improved mobile layouts are still planned
  • People who want the 2.0 code's latest deployment simplification: the README says simpler deployment is still on the way
Step-by-step guide: how to use Chatbot UIInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Clone and build from source

    You'll need: Node.js (README says use v18) · Docker · Supabase CLI

    Clone the repo

    git clone https://github.com/mckaywrigley/chatbot-ui.git

    Install dependencies

    npm install

    Start Supabase locally

    supabase start

    Run the app locally

    npm run chat
  2. 2

    Run it

    • Clone the repository and run npm install in its root folder
    • Install Docker and the Supabase CLI, then run supabase start
    • Copy .env.local.example to .env.local and fill in values from supabase status
    • Replace the project_url and service_role_key values in the first SQL migration file as the README describes
    • Run npm run chat and open http://localhost:3000
  3. 3

    Get the most out of it

    • Add API keys such as OPENAI_API_KEY as environment variables to enable models without typing them in the UI
    • Set NEXT_PUBLIC_OLLAMA_URL if you use local Ollama models (default http://localhost:11434)
    • For a hosted setup, follow the README's Vercel steps and set the Framework Preset to Next.js
    • Use npm run update to pull the latest code, and npm run db-push on hosted instances to apply migrations

Downloads

Strengths

  • Open source under the MIT license, so you can read and modify the code
  • Stores data in Supabase (Postgres) instead of only in browser storage, as the README explains
  • Has an official hosted version for people who don't want to self-host

Trade-offs

  • Setup has many steps, including Docker, the Supabase CLI, and manual SQL edits, and the README says deployment is still being simplified
  • The README states that the project's maintainer is working on a big update and that the 1.0 code lives on a legacy branch
  • Issues about setup are redirected to Discussions, and the README says the contributing guide is still in progress

How it compares

ProjectStarsTypeLevelUpdatedBest for
chatbot-ui (this)33.3kAppintermediate2.3 years agoDevelopers who want a self-hosted chat interface for OpenAI or Azure OpenAI models
LibreChat46.6kAppintermediate4 days agoTeams that want one shared chat interface across several AI providers

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.