Self-hosted AI runs on your own hardware with zero data leaving your machine. Ollama is the easiest option, Open WebUI gives you a ChatGPT-like interface, and Jan.ai works without the command line. You need a GPU with 8GB+ VRAM for decent performance. I've been running this setup for months and it works surprisingly well for most tasks.
Why Self-Host?
The short version: Self-hosting means your data never leaves your machine. Maximum privacy, but you need decent hardware and some technical setup.
Self-hosting AI means running models on your own computer. No cloud, no third party, no data leaving your machine. It's the most private way to use AI. The tradeoff: you need decent hardware and some technical chops. If you can install an app, you can probably handle this.
What You Need
GPU (Recommended)
NVIDIA GPU with 8GB+ VRAM for good performance. RTX 3060 12GB is the sweet spot for price/performance. Apple Silicon (M1/M2/M3) also works well, I run it on an M2 MacBook Pro.
RAM
16GB minimum. 32GB recommended for larger models. Some 70B parameter models need 64GB+.
Storage
Models range from 4GB to 40GB+ each. Plan for at least 50GB of free SSD space. You'll want to try a few models before settling on one.
No GPU?
CPU-only inference works but is slow. Expect 1-5 tokens/second instead of 30-60. Usable for small tasks, painful for long conversations.
Option 1: Ollama (Easiest)
The short version: Ollama is the most popular local AI tool. Install it, pull a model with one command, and start chatting on Mac, Linux, or Windows.
Ollama is the most popular way to run AI models locally. Install it, pull a model, and start chatting. Works on Mac, Linux, and Windows. This is what I use daily.
# Install Ollama (macOS/Linux)
curl -fsSL https://ollama.com/install.sh | sh
# Pull a model (7B parameters, ~4GB)
ollama pull llama3.1
# Start chatting
ollama run llama3.1
# Or use a larger model (13B, ~8GB)
ollama pull llama3.1:13b
ollama run llama3.1:13bOption 2: Ollama + Open WebUI (Best UI)
Open WebUI gives you a ChatGPT-like interface for Ollama. Install both and you get a private ChatGPT running entirely on your machine. This is my preferred setup because I like having a nice interface instead of just the terminal.
# Install Open WebUI (requires Docker)
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
# Open http://localhost:3000 in your browserOption 3: Jan.ai (No Terminal Needed)
Jan.ai is a desktop app that runs AI models locally. Download, install, and start using. No command line required. Available for Mac, Windows, and Linux. I recommend this to friends who aren't comfortable with the terminal.
- Download from jan.ai
- Choose a model from the built-in library
- Start chatting — everything runs locally
- Chat history stored on your machine only
Option 4: PrivateGPT (Document-Focused)
PrivateGPT is designed for asking questions about your documents. Feed it PDFs, text files, or other documents, and ask questions. Everything stays local. I use it for searching through long technical documents without worrying about where the data goes.
Self-Hosted vs Cloud: Tradeoffs
The short version: Self-hosted gives you maximum privacy but weaker models and requires hardware. Cloud options like NanoGPT give you GPT-4 and Claude with strong privacy.
| Factor | Self-Hosted | Cloud (e.g., NanoGPT) |
|---|---|---|
| Privacy | Maximum — data never leaves your machine | High — no logging, no training |
| Model quality | Limited by your hardware (7B-13B typical) | GPT-4, Claude 3.5 — the best models |
| Cost | Free after hardware investment | Pay per prompt ($3-15/month typical) |
| Setup | Technical — requires some know-how | None — sign up and go |
| Speed | Depends on your GPU | Fast — cloud GPUs |
My Setup
If you want maximum privacy and have decent hardware, self-host with Ollama + Open WebUI. That's what I run. If you want the best AI models without hardware investment, use NanoGPT. It offers strong privacy with access to GPT-4 and Claude.