A private chat assistant for a team has three parts: a chat app such as Open WebUI, an open model and a server. Your prompts and documents then stay on a machine you control.
A server without a GPU suits one or two people trying it out. For a team of 5 to 20, rent a GPU. In a published test, one RTX 4090 kept 64 requests at once writing about 29 tokens a second each.
The figures come from published tests and from Open WebUI's, AnythingLLM's and Docker's own documentation. We read them all on 27 October 2026.

Who this is for
- you want a ChatGPT-style assistant for your team without sending prompts to an outside service
- you need to know what server a team of 5 to 20 people needs
- you want the set-up steps, including logins and HTTPS
Not for you if you only want a chatbot on your website for customers: see our comparison of chatbots for your website.
Key numbers
- 29 tokens per second for each of 64 requests at once on one RTX 4090 with vLLM Our calculation,
- 7.7 tokens per second for one user of an 8B model on a processor alone, the middle LocalScore result Our calculation,
- 50 users the limit for renaming Open WebUI, per 30 days, under its licence Official page,
What the assistant is made of
- Your team (a browser, one login each): connects to Chat app (HTTPS).
- Chat app (Open WebUI or AnythingLLM): connects to Serving engine (OpenAI-style API).
- Serving engine (Ollama or vLLM): connects to Open model (loads).
- Open model (on the GPU's memory)
The chat app gives each person a login, keeps the chat history and lets people ask questions about uploaded documents. Open WebUI's documentation says it has no models of its own; it connects to an engine.
The serving engine runs the model on the card. Ollama is the simplest; vLLM handles many people at once far better, as our comparison of serving engines shows.
The model decides the quality of the answers and how big a card you need. Our guide to running an open model compares the routes, and our GPU memory guide sizes the card.
Open WebUI or AnythingLLM
Open WebUI is the usual choice for a team chat; AnythingLLM centres on documents and workspaces.
| Open WebUI | AnythingLLM | |
|---|---|---|
| Latest version | 0.12.4 (25 Oct 2026) | 1.19.0 (26 Oct 2026) |
| Licence | Open WebUI License: free to use; its name and logo must stay above 50 users | MIT |
| Several users with their own logins | yes; the first account is the administrator | yes, in the Docker version |
| Chat with your documents | yes, in a chat or as a knowledge base | yes, organised in workspaces |
| Calls home by default | a version check, a model-list request and a model update check, each can be turned off | anonymous usage data, can be turned off |
| Install | one Docker command | one Docker command |
Open WebUI's licence lets you change its name and logo only for up to 50 users in 30 days, or with permission. A team of 5 to 20 can rename it; a larger one keeps the branding.
AnythingLLM's README says it collects anonymous usage data unless you set DISABLE_TELEMETRY or turn it off under Privacy in the app.
Which server for how many people
The question is how many people ask at the same moment, not how many have a login. Size the server for the busiest moment, such as everyone trying it after a team meeting.
A processor alone suits a trial; one 24 GB card with vLLM covers a team of 20 with a small model.
| Server | Model | What the published figures show | Fits |
|---|---|---|---|
| Processor only, 16 GB of memory | 8B at 4-bit, with Ollama | about 7.7 tokens a second for one user (LocalScore); Ollama answers one request at a time by default | one or two people trying it out |
| One 24 GB card (RTX 4090) | 7B at 16-bit, with vLLM | 64 requests at once, each written at about 29 tokens a second; the first word after under a second (median) | a team of 5 to 20 with a small model |
| One 32 GB card (RTX 5090) | Qwen3.8-27B at 4-bit (NVFP4), with vLLM | room for about 91,000 tokens of conversation across all users at once (vLLM's recipe) | a team of 5 to 20 wanting a stronger model |
| Two 80 GB cards (H100) | Llama 3.3 70B at 8-bit, with NVIDIA NIM | 50 users at once got about 16 tokens a second each (NVIDIA) | a larger team, or one that needs a 70B model |
On a processor, a 300-token answer takes about 40 seconds at 7.7 tokens a second, by our calculation. With Ollama's default of one request at a time, the next person waits until it ends.
A 2019 review of reading studies put average silent reading at 238 words a minute, about four words a second. At 29 tokens a second, the answer arrives far faster than anyone reads it.
Our speed figures by card and our Qwen3.8-27B guide cover larger models.
| Plan | Price | New-customer offer | Link |
|---|---|---|---|
| Contabo Cloud VPS 8 8 vCPU, 24 GB | €11.20/month 24-month term, paid up front; the price applies to the first 24 months and to the EU region in Germany; other regions cost more each month checked 25 Oct 2026 | No offer | Visit |
| DigitalOcean Basic Droplet, 8 vCPUs, 16 GiB 8 vCPU, 16 GB | $96/month billed per second (60-second minimum), capped at this monthly price · VAT not stated checked 25 Oct 2026 | New accounts get a $5 credit that lasts 90 days and covers every product except SaaS add-ons checked 29 Oct 2026 | Visit |
| Hostinger KVM 2 2 vCPU, 8 GB | $8.79/month 24-month term, paid up front; Black Friday first-term price, then $14.99 checked 25 Oct 2026 | Black Friday prices on VPS plans and AI automation apps, for the first subscription term only checked 30 Oct 2026 | Visit |
Some of the lowest prices need a long term paid in advance; the term is under each price.
| Plan | Price | New-customer offer | Link |
|---|---|---|---|
| GPU Mart Enterprise Dedicated GPU Server - RTX 4090 24 GB GPU | $409/month monthly rate of a 24-month term, paid in advance · VAT not stated checked 25 Oct 2026 | A free 24-hour trial of a VPS, dedicated or GPU server for new clients, on request checked 29 Oct 2026 | Visit |
| Unihost AZM-04, NVIDIA RTX 4090 24 GB GPU | €359.90/month monthly, paid in advance; minimum one month checked 25 Oct 2026 | No offer | Visit |
| GPU Mart Enterprise Dedicated GPU Server - RTX 5090 32 GB GPU | $479/month monthly rate of a 24-month term, paid in advance · VAT not stated checked 25 Oct 2026 | A free 24-hour trial of a VPS, dedicated or GPU server for new clients, on request checked 29 Oct 2026 | Visit |
| Liquid Web GPU server, NVIDIA L4 24GB 24 GB GPU | $584.25/month monthly; 25% off the first month, then $779 · VAT not stated checked 25 Oct 2026 | No offer | Visit |
Dedicated monthly servers suit a team that uses the assistant every day.
| Plan | Price | New-customer offer | Link |
|---|---|---|---|
| DigitalOcean GPU Droplet, 1 x NVIDIA L40S 48 GB GPU | $1.57/hour (about $1,146/month) on demand, billed per second · VAT not stated checked 25 Oct 2026 | New accounts get a $5 credit that lasts 90 days and covers every product except SaaS add-ons checked 29 Oct 2026 | Visit |
| UpCloud GPU Server, 1 x NVIDIA L40S, 8 cores, 64 GB 48 GB GPU | €1.11/hour (about €746/month; no charge after 28 days of use)30-day month: the last 2 days are free.31-day month: the last 3 days are free.February: no free days (one in a leap year).Started mid-month: it may never reach the cap that month. on demand, billed by the starting hour; monthly cost capped at 28 days of use checked 25 Oct 2026 | No offer | Visit |
| DigitalOcean GPU Droplet, 1 x NVIDIA H100 80 GB GPU | $4.41/hour (about $3,219/month) on demand, billed per second · VAT not stated checked 25 Oct 2026 | New accounts get a $5 credit that lasts 90 days and covers every product except SaaS add-ons checked 29 Oct 2026 | Visit |
| GPU Mart Enterprise Dedicated GPU Server - H100 80 GB GPU | $2,099/month monthly rate of a 24-month term, paid in advance · VAT not stated checked 25 Oct 2026 | A free 24-hour trial of a VPS, dedicated or GPU server for new clients, on request checked 29 Oct 2026 | Visit |
Monthly costs for hourly prices assume the server runs all month (730 hours), or less where a provider caps the monthly bill.
Hourly plans show the price for a full month; you pay only for the hours you use.
Set it up step by step
These steps put Open WebUI and Ollama on one rented GPU server running Ubuntu, with Docker and NVIDIA's driver installed. They follow Open WebUI's quick start.
1. Start Open WebUI with Ollama inside
Open WebUI offers one container with Ollama built in. Bind it to the server itself, so it is reachable only through the HTTPS proxy in step 3:
bash
SECRET=$(openssl rand -hex 32)
docker run -d -p 127.0.0.1:3000:8080 --gpus=all \
-v ollama:/root/.ollama -v open-webui:/app/backend/data \
-e WEBUI_SECRET_KEY=$SECRET \
--name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
echo "$SECRET" # keep it: updates need the same keyDocker's documentation warns that published ports are open to the world by default. Ubuntu's ufw firewall does not stop them either, so the 127.0.0.1: part matters.
2. Download a model
bash
docker exec open-webui ollama pull qwen2.5:7bFor a stronger model on a 24 or 32 GB card, our Qwen3.8-27B guide explains the files and the memory they need.
3. Put HTTPS in front
A reverse proxy such as Caddy adds HTTPS with a free certificate. Point a domain at the server, install Caddy and give it this Caddyfile:
text
chat.example.com {
reverse_proxy 127.0.0.1:3000
}4. Create the accounts
- Open the address and create the first account. Open WebUI makes it the administrator.
- Sign-up then switches itself off. To let colleagues join, turn on New Sign Ups under Settings, Admin, Authentication.
- New accounts wait as Pending until you approve them in the Admin Panel.
5. Keep it private and up to date
- Turn off the calls home Open WebUI lists in its quick start. Add
-e ENABLE_VERSION_UPDATE_CHECK=falseand-e RAG_EMBEDDING_MODEL_AUTO_UPDATE=falseto the command in step 1. - Delete the default OpenAI connection under Settings, Admin, Connections. Use
ENABLE_OPENAI_API=falseonly if you will never add an OpenAI-style engine such as vLLM. - Back up the
open-webuivolume before each update, then pull the new image and start it again with the same key. - Read Open WebUI's hardening guide before you open it to people outside your team.
To serve many people at once, run vLLM next to it and add vLLM as an OpenAI-compatible connection under Settings, Admin, Connections. Our serving engine guide has the vLLM steps.
Chatting with your team's documents
Both apps let people upload files and ask questions about them. Open WebUI keeps them in a chat or in a shared knowledge base; AnythingLLM groups them in workspaces.
The documents stay on your server, but the model reads only the parts it finds relevant. Our guide to fine-tuning or a document chatbot explains when this beats training a model.
Keeping your team's data private
Running the assistant yourself keeps prompts off outside services, as long as no connection points to one. In Open WebUI, delete the default OpenAI connection unless you mean to use it.
Where the server stands still matters for personal data. Our guide to AI hosting in Europe lists which providers keep data in the EU.
How we checked
We read Open WebUI's and AnythingLLM's documentation, licences and GitHub releases, and Docker's documentation, on 27 October 2026. The load figures come from the tests named above.
Our own measurements will be added here, with their dates, when our test bench runs them.
Mistakes to avoid
Publishing the chat app's port with a plain
-p 3000:8080Instead: Docker opens it to the internet past ufw; bind it to 127.0.0.1.
Leaving sign-up open
Instead: Approve each new account in the Admin Panel.
Sizing by logins, not by busy moments
Instead: Count the people who ask at the same time.
Losing the secret key
Instead: Updates need the same WEBUI_SECRET_KEY; keep it with your backups.
Other questions
Can I run a private ChatGPT-style assistant without a GPU?
Yes, for one or two people: an 8B model on a processor writes about 7.7 tokens a second. A team needs a GPU.
How many users can one GPU serve?
In a published test, one RTX 4090 with vLLM kept 64 requests at once at about 29 tokens a second each, with a 7B model. Bigger models serve fewer people per card.
Is Open WebUI free for business use?
Its licence allows business use. Removing its branding is allowed only for up to 50 users in 30 days, or with permission.
Sources and test notes
- Open WebUI on GitHub (latest release), read
- Open WebUI License, read
- Open WebUI documentation: quick start, read
- AnythingLLM on GitHub (README, telemetry, latest release), read
- AnythingLLM: how to use Docker, read
- Docker documentation: port publishing, read
- Docker documentation: packet filtering and firewalls (Docker and ufw), read
- ComputingForGeeks: SGLang vs vLLM on a rented RTX 4090 (21 Jul 2026), read
- NVIDIA NIM benchmarking: performance (Llama 3.3 70B Instruct), read
- vLLM recipe: Qwen3.8-27B, read
- LocalScore results (CPU speeds, via our Ollama guide), read
- Ollama FAQ (one request at a time by default), read
- Brysbaert (2019): How many words do we read per minute? Journal of Memory and Language, read
Every page read on 27 October 2026. Load figures are other people's published runs; per-user speeds and answer times are our calculation.