A chat interface over models you host, so prompts and the documents people paste into them never leave your network. Pilae runs it on your own servers, or in Zurich, Switzerland, and eleven other Pilae Cloud regions.
- Licence
- Open WebUI License
- Runs on
- Your own hardware, or any of 10+ Pilae regions — six of them in Switzerland and the EU
- Upgrades
- Pinned, tested against your configuration, applied in your window
- Upstream
- openwebui.com
Running Open WebUI in production: what it takes
Size, then pin and deploy
A version we have run, against the model server your hardware justifies, with Postgres and pgvector behind it instead of the default file.
Put it behind your identity provider
OIDC sign-on and group-based access to models, so an expensive model is not available to everyone by accident.
Wire retrieval to your own documents
The file share or wiki indexed into pgvector, with permissions respected — a retrieval layer that ignores who may read what is a data leak with a chat interface.
Back up conversations and index
We take the database and the vector store offsite nightly. Once a month we restore both into a scratch environment and ask a question against the restored index.
Upgrade in your window
The project moves fast and the schema moves with it. We hold your version, test the next against a copy of your data, and apply it in the window you agreed.
What Open WebUI is, and who runs it
Open WebUI is a chat interface. It looks like the commercial assistants people already use — threads, history, file uploads, shared prompts — and it sits in front of whichever model you point it at: something running on your own GPUs, or a hosted API if you decide that trade is acceptable for a given use.
It is usually the first thing an organisation deploys when the answer to “can we use ChatGPT for this” has become no. The refusal is rarely about the model’s quality; it is about the documents people paste into it. A contract, a patient record, a draft set of accounts — once it has gone to a third party, it has gone, and no policy retrieves it.
Running the interface yourself changes where that boundary sits. With models on your own hardware, a prompt and everything attached to it stays inside the network. The retrieval layer goes further: Open WebUI can index your own file share or wiki and answer from it, which is the capability the public tools cannot offer at all, and in practice the one that makes people stop using them.
The things that go wrong are consistent. The default SQLite database holds every conversation in one file and does not survive real use. Without sign-on wired to your directory, access is whoever found the URL. A retrieval layer that ignores your file permissions is a data leak with a chat interface in front of it: it will quote a document to someone who was never allowed to open it. And a deployment sized for a model the hardware cannot actually serve produces an assistant slower than the one people were told to stop using, which ends the project more reliably than any policy.
Open WebUI system requirements
Before anything is deployed, this is what has to exist. We size it with you in the first session, and we say so when your own hardware is already enough.
- GPU
- NVIDIA, sized to the modelEnough memory for the model at the context length you need. Open WebUI can front a hosted API instead, in which case you need no GPU — and nothing stays on your side.
- CPU and memory
- 4 vCPU · 8 GBFor the interface. The interface is small; the inference is what costs.
- Database
- PostgreSQLThe default SQLite holds every conversation in one file, which stops being appropriate past a handful of people.
- Vector store
- pgvectorIn the same Postgres, for retrieval over your documents. One database to back up rather than two.
- Identity provider
- OIDCSo accounts arrive from your directory, instead of anyone who finds the URL being able to sign in.
Migrating from ChatGPT Team to Open WebUI
There is nothing to migrate, and that is the difficulty. People do not keep documents in ChatGPT Team; they keep habits. A private deployment that answers more slowly, or worse, than the tool they were using gets abandoned within two weeks. So the move is a sizing exercise, not a data migration. We work out which models your hardware can serve at the speed people expect. We tell you where a local model is weaker than the one they use today. And we put retrieval over your own documents in place early, because answering questions about your own files is the one thing the public tool cannot do.
Size the hardware against the model
Which models your GPUs can serve, at what context length, for how many people at once. This decides whether the rollout works, and it is answered before anything is installed.
Put it behind sign-on
Accounts from your directory, groups deciding who reaches which model. Nobody gets a new password and a leaver loses access with everyone else.
Connect your documents
Retrieval over the file share or the wiki. This is the capability that makes people switch, rather than the one that makes them tolerate the switch.
Run both and watch which one people open
The public tool stays available while the internal one is measured. If the internal one is not being used, the answer is sizing or retrieval, and we say which.
Where the model runs, and what leaves your network
| Ollama on your GPUs | Your hardware | Nothing. |
| vLLM on your GPUs | Your hardware | Nothing. |
| Ollama on a Pilae site | Any Pilae region | Nothing outside the region you picked. |
| OpenAI-compatible API | Third party | Every prompt and every attachment. |
| Document retrieval | pgvector, beside the app | Nothing. Your permissions are respected. |
What Pilae is responsible for
A pinned version
A version we have run, not whatever latest resolves to that day.
A runbook
What it depends on, how it fails, what to do about it. In your repository.
A restore drill
Backups restored on a schedule. A backup nobody has restored is a file.
A patch window
Security updates in a window you agreed, with a rollback ready.
Someone watching
Every endpoint probed on the minute. An alert reaches a person, not a dashboard nobody opens.
- Where it runs
- zur1, fra1, fal1, gra1, ams1, hel1, lon1, ash1, hil1, sin1, tok1, syd1, on-premZurich, Frankfurt, Falkenstein, Gravelines, Amsterdam, Helsinki, London, Ashburn, Hillsboro, Singapore, Tokyo, Sydney, Your own hardware
- Who holds the credentials
- You do. Ours are separate, named, logged and revocable with one command. We ask before anything changes outside an agreed window.
- If you leave
- The machine, the data, the compose files and the runbook are already yours. Nothing stops when our access does.
What running Open WebUI costs
On Starter, Open WebUI runs in Pilae Cloud for CHF 449EUR 479USD 559 a month, hosting and onboarding included. On Business, it is one of up to three apps for CHF 1,590EUR 1,690USD 1,990 a month, on your own servers or in Pilae Cloud. Enterprise is quoted. The plans set what each includes; these are the inputs that move the price around them.
- Instance size
- The CPU, memory and, where a model runs, the GPUs the app needs for your users and your data.
- High availability
- One machine with tested restores, or a replicated setup that keeps serving when a node fails.
- Storage and backups
- How much data it holds, how long backups are kept, and point-in-time recovery for its database.
- Plan and support
- Starter, Business or Enterprise: support hours, response times in the contract and how often we review the service with you.
- Region
- Your own hardware, where the infrastructure is already yours, or a Pilae Cloud region, where machines are priced per month. On Starter, Pilae chooses the site.
- Sign-on and integrations
- Single sign-on, directory sync, mail relays and the other systems the app has to reach.
Open WebUI: common questions
Does anything we type reach a third party?
What hardware do we need?
Can it answer questions about our own documents?
Is Open WebUI open source?
What happens to conversations if we leave?
Also in ai and llm
Ollama
A server that loads open-weight models on demand behind an OpenAI-compatible API, run on GPUs in Switzerland, the EU or your own datacentre so prompts never reach a model vendor.
Replaces OpenAI API, Azure OpenAI
vLLM
An OpenAI-compatible inference server for open-weight models, run on GPUs in Switzerland, the EU or your own datacentre, so prompts and answers never reach a model vendor.
Replaces OpenAI API, Azure OpenAI
LibreChat
One chat interface over every model your organisation allows, local or hosted, with the keys, the history and the choice of provider held on your side.
Replaces ChatGPT Team, Poe
Bring us your Open WebUI. We will tell you what it takes.
Thirty minutes on the deployment you already have, or the one you are about to start.