Skip to main content
Find my setup
Language: English

A private ChatGPT-style assistant for your team: the server it needs for 5 to 20 people

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.

Four colleagues at a shared desk with laptops and printed charts, seen from above
Each person gets their own login, and the chats stay on your server. Photo: Thirdman, Pexels.

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

How a private chat assistant fits together Everything runs on servers you rent; nothing has to leave them.
How a private chat assistant fits togetherYour team a browser, one login each HTTPS Chat app Open WebUI or AnythingLLM OpenAI-styleAPI Serving engine Ollama or vLLM loads Open model on the GPU's memory
  1. Your team (a browser, one login each): connects to Chat app (HTTPS).
  2. Chat app (Open WebUI or AnythingLLM): connects to Serving engine (OpenAI-style API).
  3. Serving engine (Ollama or vLLM): connects to Open model (loads).
  4. 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.

The two chat apps on 27 October 2026, from their GitHub pages and documentation
Open WebUIAnythingLLM
Latest version0.12.4 (25 Oct 2026)1.19.0 (26 Oct 2026)
LicenceOpen WebUI License: free to use; its name and logo must stay above 50 usersMIT
Several users with their own loginsyes; the first account is the administratoryes, in the Docker version
Chat with your documentsyes, in a chat or as a knowledge baseyes, organised in workspaces
Calls home by defaulta version check, a model-list request and a model update check, each can be turned offanonymous usage data, can be turned off
Installone Docker commandone 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.

How published tests map to team sizes (figures from the sources below; per-user speeds are our calculation)
ServerModelWhat the published figures showFits
Processor only, 16 GB of memory8B at 4-bit, with Ollamaabout 7.7 tokens a second for one user (LocalScore); Ollama answers one request at a time by defaultone or two people trying it out
One 24 GB card (RTX 4090)7B at 16-bit, with vLLM64 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 vLLMroom 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 NIM50 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.

Servers without a GPU, for a trial. Prices checked on 25 Oct 2026.
PlanPriceNew-customer offerLink
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.

24 and 32 GB cards, for a team. Prices checked on 25 Oct 2026.
PlanPriceNew-customer offerLink
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.

48 GB cards and larger, for bigger models. Prices checked on 25 Oct 2026.
PlanPriceNew-customer offerLink
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 key

Docker'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:7b

For 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

  1. Open the address and create the first account. Open WebUI makes it the administrator.
  2. Sign-up then switches itself off. To let colleagues join, turn on New Sign Ups under Settings, Admin, Authentication.
  3. 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=false and -e RAG_EMBEDDING_MODEL_AUTO_UPDATE=false to the command in step 1.
  • Delete the default OpenAI connection under Settings, Admin, Connections. Use ENABLE_OPENAI_API=false only if you will never add an OpenAI-style engine such as vLLM.
  • Back up the open-webui volume 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:8080

    Instead: 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

Every page read on 27 October 2026. Load figures are other people's published runs; per-user speeds and answer times are our calculation.

Back to Where to run an open model