# Open WebUI + LiteLLM

A ChatGPT Team replacement: one UI, many models, your keys, Postgres memory.

**Replaces:** ChatGPT Team seats

**Tier:** Easy

## Problem

ChatGPT Team is $30/user/month and you still cannot point it at the model that won last week's bench. Teams also leak prompts into a vendor log you cannot audit.

## Stack

- [Open WebUI](https://github.com/open-webui/open-webui) — Self-hosted ChatGPT-style UI
- [LiteLLM](https://www.litellm.ai/) — Unified proxy over OpenAI, Anthropic, local models
- [Postgres](https://www.postgresql.org/) — Users, chats, and memory

## Estimated SaaS cost saved

| You stop paying | Typical / year | Self-host instead |
|---|---:|---|
| ChatGPT Team (10 seats) | $3,600 | Open WebUI + LiteLLM + your keys |
| Vendor lock / unused seats | $1,200 | Pay only for tokens you burn |

**About $3,600 / year** on a small team, before you count lock-in.

## Deploy on Railway

Placeholder: Open WebUI + LiteLLM + Postgres. Fits the AI audience; ongoing usage means Railway kickback.

## AGENT_PROMPT

```
Deploy a team ChatGPT replacement.

Stack: Open WebUI + LiteLLM + Postgres.
- LiteLLM holds provider keys (OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.) and exposes an OpenAI-compatible endpoint.
- Open WebUI talks only to LiteLLM. Enable auth. Persist Open WebUI data on a volume.
- Document how to add a local Ollama model later without changing the UI.
- Write a one-page "this is not ChatGPT Team, here is how to pick a model" note for the team.
```

## FAQ

### Do we still pay OpenAI?

You pay tokens to whoever you route. You stop paying $30/seat for a UI and a policy wrapper.

### Can agents use the same proxy?

Yes. Point Cursor, n8n, or your own bots at LiteLLM. That is the whole point.

Source: https://c17.io/stacks/open-webui-litellm
