Every model in one interface
OpenAI, Anthropic and Gemini, switched in one screen.
Self-host Open WebUI · Agent Lab Deploy
An open-source ChatGPT: say one sentence to your AI tool, Agent Lab runs Open WebUI on PostgreSQL, add your model key, and the team is in.
> Set up Open WebUI from agentlab.cresclab.com/en/deploy/open-webui
sites_createchat → chat--acme.hosting.agentlab.run · medium
databases_createPostgreSQL 18 · S · pgvector
databases_connect_appDATABASE_URL, PGVECTOR_DB_URL set
sites_secrets_generateWEBUI_SECRET_KEY · generated
Open WebUI is up: chat--acme.hosting.agentlab.run. The first person to sign up is the admin; invite the team from the admin panel.
Why self-host
OpenAI, Anthropic and Gemini, switched in one screen.
Vectors in pgvector, in the same database as accounts and chats.
Public sign-up off; admins invite colleagues and set model access.
If an upgrade breaks, one action restores the previous version.
Choosing
The table scrolls sideways.
| What matters to you | Agent Lab + Open WebUI | ChatGPT Team | Your own VPS |
|---|---|---|---|
| Billing | Hosting plus actual model usage | Fixed per seat per month | Hosting plus model usage |
| Models | OpenAI, Claude, Gemini | OpenAI | Any |
| Where the data lives | Your Agent Lab organization | OpenAI | Your server |
| Who runs it | The platform | OpenAI | You |
| Setup | One sentence to an AI tool | Sign up | Docker, reverse proxy, TLS |
How
Needs size M or larger, so it starts on Pro.
One MCP line in your AI tool, one browser sign-in.
The agent creates the app, connects PostgreSQL with pgvector and generates WEBUI_SECRET_KEY.
Enter OPENAI_API_KEY as a console project secret.
The first sign-up is the admin; invite colleagues from the admin panel.
Copy and go
Everything lives in PostgreSQL and embeddings go through an API, so a rebuild loses nothing.
FROM ghcr.io/open-webui/open-webui:main
ENV DATA_DIR=/tmp/open-webui \
STATIC_DIR=/tmp/open-webui/static \
VECTOR_DB=pgvector \
RAG_EMBEDDING_ENGINE=openai \
RAG_EMBEDDING_MODEL=text-embedding-3-small \
ENABLE_SIGNUP=false \
SCARF_NO_ANALYTICS=true \
DO_NOT_TRACK=true
EXPOSE 8080
# Open WebUI reads $PORT; DATABASE_URL and PGVECTOR_DB_URL come from the platformDATABASE_URL written by databases_connect_appPGVECTOR_DB_URL same database, holds vectors; needs pgvectorWEBUI_SECRET_KEY generated by sites_secrets_generate; changing it signs everyone outOPENAI_API_KEY your model key, a console project secretRead https://app.agentlab.cresclab.com/agent/deploy.md and deploy Open WebUI to Agent Lab with the Dockerfile at agentlab.cresclab.com/en/deploy/open-webui: create and connect a PostgreSQL with pgvector, point DATABASE_URL and PGVECTOR_DB_URL at it, generate WEBUI_SECRET_KEY on the platform, and tell me where in the console to enter OPENAI_API_KEY. Use size M. Give me the URL when it's up.FAQ