Open WebUI: I Set Up My Own ChatGPT Interface on a $5 VPS — Here's How
Want a private ChatGPT alternative for your team or personal use? Open WebUI is a massive open-source project that looks and feels exactly like ChatGPT. Here is how I hosted it on a $5 DigitalOcean VPS.
The Hunt for the Perfect Private UI
I love local AI. I use Ollama on my Mac every single day. But sometimes I want to access my AI models from my phone while I'm on the couch. Or sometimes, I want to share a customized AI model with my non-technical co-founder without making him learn terminal commands.
I needed a web interface. I tried dozens of open-source projects, but most of them looked like they were designed in 2005 or were missing crucial features like chat history and markdown support.
And then I found Open WebUI. With over 140,000 stars on GitHub, it is the absolute gold standard for self-hosted AI interfaces. It is a visually stunning, feature-complete clone of ChatGPT. It supports multi-modal models, RAG (document uploading), voice input, and user management.
Instead of running it locally, I decided to deploy it to a cheap $5/month cloud VPS so I could access it from anywhere. Here is the step-by-step guide on how I did it in under 20 minutes.
Step 1: Spinning up the $5 Server
You don't need massive cloud infrastructure for the UI layer. Open WebUI is surprisingly lightweight.
- I went to DigitalOcean (Hetzner or Linode work great too).
- Created a basic Droplet (VPS) running Ubuntu 24.04.
- Selected the cheapest tier: 1 GB RAM, 1 CPU ($5/month).
- Added my SSH key and created the server.
Note: This $5 server is only going to run the UI and the database. We will configure it to connect to external API providers (like OpenAI, Anthropic, or a remote Ollama instance) to actually generate the AI responses, so we don't need expensive GPUs on this server.
Step 2: Installing Docker
SSH into your shiny new server: ssh root@your_server_ip.
Open WebUI is distributed as a Docker image, which makes deployment ridiculously easy. First, install Docker on Ubuntu using their convenience script:
curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.shVerify it installed correctly by running docker --version.
Step 3: Deploying Open WebUI
Here comes the magic command. We are going to pull the Open WebUI image and run it on port 80 (standard HTTP port) so we can access it directly via the server's IP address. We also mount a volume so our chat history is saved even if the container restarts.
docker run -d -p 80:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:mainDocker will download the image and start the container. Give it about 60 seconds to initialize its internal SQLite database.
Now, open your web browser and type in your server's IP address. You should be greeted by the sleek Open WebUI login screen!
Step 4: Initial Setup and Admin Account
The very first account created on your new Open WebUI instance automatically becomes the Admin.
Click "Sign Up", enter your name, email, and a secure password. Once logged in, you'll see a clean, dark-mode interface that looks strikingly similar to ChatGPT. But right now, it has no models to talk to. Let's fix that.
Step 5: Plugging in the AI Brains
As the admin, click on the Settings gear in the bottom left, and go to the Admin Panel. Click on Connections.
Here is where Open WebUI shows its true power. You can connect it to almost anything:
- OpenAI / Anthropic: Toggle on the OpenAI API, paste your API key, and instantly you have access to GPT-4o or Claude directly in your UI. You pay per API call, which is usually vastly cheaper than a $20/month subscription if you are a light user.
- Ollama (Local AI): If you have Ollama running on another machine (like your home PC or a GPU server), you can enter its IP address here (e.g.,
http://your-home-ip:11434). Open WebUI will automatically fetch all your downloaded Llama and DeepSeek models and make them available in the chat dropdown.
Why I Love This Setup
I've been running this $5 setup for a month now, and it's phenomenal.
I hooked it up to the Anthropic API. I created user accounts for my wife and my business partner. Now, all three of us share this private "ChatGPT" interface. We can create custom system prompts (which Open WebUI calls "Modelfiles"), upload PDFs for the AI to summarize, and keep all our chat history perfectly synced across desktop and mobile.
If you want to take back ownership of your AI tools, Open WebUI is the undisputed king. Put it behind a reverse proxy with a custom domain and SSL, and you've got a professional-grade AI platform for the cost of a cup of coffee.
FAQ
Is Open WebUI safe to expose to the internet?
Yes, it has built-in authentication. Users cannot access the chat or the models without an account. By default, new account registrations are put into a 'Pending' state until the Admin approves them, keeping random people out.
Can I run the models on the same $5 VPS?
No. A $5 VPS has 1GB of RAM, which is not enough to run a Large Language Model locally using Ollama. You must connect Open WebUI to external APIs (OpenAI) or a separate GPU machine for the actual inference.
Does it support mobile devices?
Yes! Open WebUI is a Progressive Web App (PWA). You can open it in Safari or Chrome on your phone, click 'Add to Home Screen', and it will behave exactly like a native mobile app.
Explore RuView on GitHub
Browse the Rust engine, ESP32 firmware and examples.