Three months ago, I cancelled my ChatGPT Plus subscription. Not out of protest, not to save $20, but because I genuinely wasn’t using it anymore. I’d built something better for my needs — a private ChatGPT running on my own Mac Mini, accessible from my iPhone, with no usage limits, no rate throttling, and the comforting knowledge that none of my conversations were training anyone’s future model.
The surprise was how easy it turned out to be. We’re talking 10 minutes from zero to “I have a private ChatGPT.” If you can install an app and run one Docker command, you can do this. Let’s walk through it, exactly.
In Short: The 4 Things You’ll Install
- Ollama — the local LLM backend. Runs your models.
- Docker Desktop — needed to run Open WebUI cleanly. Free for personal use.
- Open WebUI — the ChatGPT-style interface. 124K+ GitHub stars, actively developed.
- Tailscale (optional but recommended) — so your iPhone can access your Mac’s AI from anywhere.
Total download: ~1.5GB. Total install time: ~10 minutes. Total cost: $0.
Open WebUI looks like ChatGPT, feels like ChatGPT, handles documents like ChatGPT — except nothing you type ever leaves your house. It’s the self-hosted experience that finally makes “I’ll run it locally” a real choice, not a compromise.
Why Build a Private ChatGPT at All?
Let’s be honest: ChatGPT is good. Claude is arguably better for most writing. Gemini has excellent free limits. So why bother setting up a private alternative?
Four reasons, in order of how often they motivate my readers:
- Privacy. The stuff I actually want AI help with — draft performance reviews, family medical questions, contract language, half-finished business plans — is exactly the stuff I don’t want in a cloud provider’s training pipeline. Local AI solves this absolutely.
- Cost. $20/month for ChatGPT Plus is $240/year. A one-time investment in a Mac Mini pays for itself in 3 years if you’re a heavy user, and you own the hardware forever.
- Zero rate limits. Run it for 8 hours straight. Ask 500 questions in a row. Generate 200 summaries. There is no limit. There is no “you’ve reached your cap” message. Ever.
- Offline resilience. Airplane Wi-Fi out? ChatGPT in one of its regular outages? Your local model doesn’t care. It keeps working.
The Setup
Step-by-Step: Install Ollama and Open WebUI on Mac
Follow these in order. Do not skip steps. Each one takes under 2 minutes.
- 1
Install Ollama. Download the Mac installer fromollama.com/download. Drag it to Applications. Launch once — you’ll see a little llama icon in your menu bar. That’s your local AI engine now running in the background, listening on port 11434. - 2
Pull your first model. Open Terminal and run:ollama pull qwen2.5:7b. This downloads ~4.4GB. While it’s downloading, make a coffee. - 3
Test Ollama on its own. Runollama run qwen2.5:7bin Terminal and type “hello”. You should get a response. If you do, your AI engine is working. Quit with/bye. - 4
Install Docker Desktop. Download fromdocker.com/products/docker-desktop. It’s a normal Mac app install. Launch it once so it’s running (whale icon in menu bar). - 5
Run Open WebUI in Docker. Paste this single command into Terminal:
docker run -d -p 3000: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:main
This downloads the Open WebUI image (~1GB) and starts it. It’ll keep running even after reboots thanks to--restart always. - 6
Open your browser tohttp://localhost:3000. You’ll see a sign-up screen. The first account you create is automatically the admin. Use any email — it never leaves your machine. - 7
Select your model and chat. The model dropdown at the top of the chat should showqwen2.5:7b. Pick it. Say hi. You are now talking to a private AI running entirely on your Mac.
[YOUR INPUT — Asif] Screenshot: Open WebUI first conversation
A screenshot of your Open WebUI interface on the first chat (model dropdown visible, a real conversation in progress) will make this guide 10x more credible. Bonus: a screenshot of Activity Monitor showing Ollama’s RAM use next to it.
The Good Stuff
What You Can Do With Your Private ChatGPT (Beyond Just Chat)
If Open WebUI were only a chat interface, it would still be worth the setup. But it’s shockingly full-featured. Here’s what I actually use regularly:
Go Global
Making It Accessible From Your Phone (Anywhere in the World)
Here’s the part that makes your private ChatGPT feel real. You don’t want to be tied to your desk to use it. You want it on your phone, in a café, on the train, on a plane. Enter Tailscale.
Tailscale creates an encrypted mesh network between your devices. Your Mac Mini, your iPhone, your laptop — they all get private URLs that only your devices can reach. There’s no port forwarding, no public IP, no exposed services. It’s the closest thing to magic I’ve installed in years.
- 1
Sign up attailscale.com(free personal tier allows 100 devices). - 2
Install Tailscale on your Mac Mini. Log in. It joins your private network. Note the hostname Tailscale assigns (usually your Mac’s name, likemac-mini). - 3
Install the Tailscale app on your iPhone. Log in with the same account. - 4
On your iPhone, open Safari and go tohttp://mac-mini:3000. You should see Open WebUI. Add it to your home screen (“Share → Add to Home Screen”). You now have a ChatGPT icon on your phone — except it’s yours.
[YOUR INPUT — Asif] Phone screenshot with your private ChatGPT icon
A photo of your iPhone home screen with your private ChatGPT PWA icon (ideally with a distinctive custom icon/name) is a brilliant detail to include here. It makes the “yes, this actually works” point visually.
5 Settings to Tweak After Install
- Set
OLLAMA_KEEP_ALIVE=24hso models stay loaded in RAM — first-token latency drops from ~3s to ~0.1s. - In Open WebUI Admin Settings, disable “Allow New User Signups” after creating your accounts — you don’t want a random visitor signing up if your URL ever leaks.
- Enable HTTPS via Tailscale Serve for proper iOS PWA behavior on iPhone (optional, but nice).
- Pull a second smaller model (like
qwen2.5:0.5b) for quick-and-dirty questions — it’s 10x faster and good enough for “what’s a synonym for X”. - Back up your
open-webuiDocker volume periodically — that’s where chat history and settings live.docker run --rm -v open-webui:/source -v $(pwd):/backup alpine tar czvf /backup/openwebui-backup.tar.gz -C /source .
Common Problems (And How to Fix Them)
Open WebUI can’t see my Ollama models
The Docker container needs to talk to Ollama running on your Mac. The --add-host=host.docker.internal:host-gateway flag in the run command handles this. If it’s still broken, go to Open WebUI → Settings → Connections and confirm the Ollama URL is http://host.docker.internal:11434.
First message takes forever to respond
That’s Ollama loading the model into RAM from disk. Subsequent responses will be fast. Set OLLAMA_KEEP_ALIVE=24h (via launchctl setenv or the Ollama menu bar app settings) to keep models warm.
My iPhone can’t connect via Tailscale
Check that Tailscale is enabled on both devices (it’s a toggle in the iOS app — easy to forget). Also confirm your Mac isn’t sleeping — sleeping Macs drop off the Tailscale network. In System Settings → Energy, enable “Prevent automatic sleeping on power adapter” for a headless setup.
Docker is using too much RAM
Docker Desktop on Mac has a configurable RAM limit. Go to Docker Desktop → Settings → Resources → Memory and drop it to 4GB. Open WebUI is lightweight; it doesn’t need more.
📘
PILLAR GUIDE
The Complete Guide to Running AI Locally on a Mac Mini: From Zero to Production
🔀
TOOL COMPARISON
Ollama vs LM Studio vs Jan: Which Local AI Runner Wins?
🎯
MODEL PICKER
The Best Quantized Models for 16GB, 24GB, and 64GB Macs
💸
ALSO ON TECHTIPPR
ChatGPT Plus vs Claude Pro vs Perplexity Pro: Which Is Worth $20/Month?
Frequently Asked Questions
Is Open WebUI really free?
Yes, completely. Open WebUI is open-source (BSD-3 license), hosted on GitHub, with no paid tier. There’s nothing to unlock, no subscription upsell, no “premium features.” The project is funded by the community and sponsors. 282 million downloads and counting.
Can Open WebUI use cloud models like GPT-4?
Yes. In the admin settings you can add an OpenAI, Anthropic, Groq, or any OpenAI-compatible API endpoint. Many people run a hybrid setup: local Qwen or Llama for private/routine work, cloud GPT-4 for the occasional heavy-lift task. All in the same interface. This is arguably Open WebUI’s best-kept secret.
How much RAM do I need?
The minimum practical setup is 16GB (running a 7B model at Q4). Sweet spot is 24GB (running 14B). For serious work with 30B+ models, 48GB+. Your Mac’s unified memory is the single biggest factor — see our dedicated guide on matching models to RAM tiers.
Is it secure to run this on my home network?
Yes, especially if you use Tailscale. With Tailscale, your Open WebUI is not exposed to the public internet — it’s only reachable from devices you’ve added to your Tailscale account. Even on your local LAN, exposure is minimal. Don’t run Ollama on 0.0.0.0 without a VPN or Tailscale in front of it.
Can I use this instead of ChatGPT Plus?
For most of what most people use ChatGPT Plus for — writing, editing, summarizing, coding help, brainstorming — absolutely yes. You’ll lose some things: cutting-edge model quality (GPT-4.x/Claude Sonnet still edge out 14B local models on complex reasoning), multimodal image input (currently limited locally), and voice mode. For the 80% of daily use, a local setup is a legit ChatGPT Plus replacement.
10 Minutes From Now, You Could Own Your AI.
Install Ollama. Run the Docker command. Open localhost:3000. Add Tailscale. That’s it — you’ll have a private, permanent, subscription-free ChatGPT alternative running on your Mac. The post-cloud future is already here. You just have to install it.
