NanoGPT + Open WebUI Setup: Self-Hosted AI Interface

open webui gives you a chatgpt-like interface that runs on your own machine. pair it with NanoGPT and you get 400+ models without giving anyone your data. it's the setup i recommend to everyone who asks me about self-hosted AI.

tl;dr: Open WebUI plus NanoGPT gives you a self-hosted ChatGPT-like interface with 400+ models for $6-8/month. setup takes 5-10 minutes with Docker. your data stays local, conversations are stored on your machine, and you control everything.

Key Takeaways:

  • Open WebUI + NanoGPT costs $6-8/month vs $20/month for ChatGPT Plus with worse privacy
  • Docker setup takes 5-10 minutes: one docker run command or docker-compose up
  • Open WebUI supports RAG document upload, web search, multi-user setup, and runs on a Raspberry Pi 4

i've been running this combo for two months on a mini PC (Intel N100, 16GB RAM). it's my daily driver. total cost: $6-8/month for NanoGPT credits, $0 for the interface.

why open webui

open webui (formerly Ollama WebUI) is the most popular open-source AI chat interface. clean, fast, actively maintained. it's easier to set up than librechat and has a better mobile experience.

featureopen webuilibrechatchatgptNanoGPT web
self-hostedyesyesnono
open-sourceyesyesnono
multi-modelyesyeslimitedyes
mobile UIexcellentgoodgoodbasic
RAG supportyesyesyesno
image genyesyesyesno
user managementyesyesn/ano
setup difficultyeasymediumnonenone

open webui is easier to set up than librechat and has a more polished mobile experience. librechat has more plugins and customization. pick based on your priorities - or just start with open webui and switch later if you need more features.

what you need

  1. NanoGPT account with API key (sign up here)
  2. Docker Desktop installed (or Docker Engine on Linux)
  3. 5-10 minutes

installing Docker

short answer: Mac/Windows: download Docker Desktop. Linux: curl https://get.docker.com | sh then log out and back in.

Mac/Windows: download Docker Desktop

Linux (Ubuntu/Debian):

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# log out and back in

installation

method 1: Docker run (simplest)

short answer: docker run -d -p 3000:8080 with volume mounting. single command, takes 2-3 minutes.

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

short answer: docker-compose.yml with port mapping and volume. docker compose up -d for easy management.

create docker-compose.yml:

version: '3.8'
services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    ports:
   - "3000:8080"
    volumes:
   - open-webui:/app/backend/data
    environment:
   - WEBUI_AUTH=true
    restart: always

volumes:
  open-webui:

then:

docker compose up -d

access open webui

short answer: open http://localhost:3000 in your browser. create your admin account on first visit.

open your browser, go to:

http://localhost:3000

create your admin account on first visit. that's it for installation.

connecting NanoGPT

step 1: open settings

short answer: click profile icon bottom left, go to Settings, then Connections.

click your profile icon (bottom left) → SettingsConnections

step 2: add OpenAI API connection

short answer: under OpenAI API, click plus and fill in the NanoGPT base URL and your API key.

under OpenAI API, click the + button and fill in:

  • API Base URL: https://api.nano-gpt.com/v1
  • API Key: your NanoGPT API key

click Save.

step 3: verify connection

short answer: go back to chat. if NanoGPT models appear in the dropdown, you're connected.

go back to the chat interface. in the model dropdown, you should see NanoGPT models listed. if you see models like gpt-4o, claude-3-5-sonnet, etc., you're connected.

step 4: test it

short answer: pick a model and send a test message. if you get a response, setup is complete in about 3 minutes.

pick a model and send:

Hello! Can you confirm which model you are?

if you get a response, setup is complete. took me about 3 minutes total.

model configuration

adding custom models

short answer: go to Settings, Models, Add Model. enter model ID like gpt-4o, base URL, and API key.

if models don't appear automatically:

  1. go to SettingsModels
  2. click Add Model
  3. enter model ID (e.g., gpt-4o), base URL, and API key
  4. save

short answer: gpt-4o for general use, Claude 3.5 for writing, GPT-4o-mini for quick questions, DeepSeek for budget, Gemini for long docs.

modeluse casesettings
gpt-4ogeneral, codedefault
claude 3.5 sonnetwriting, analysisdefault
gpt-4o-miniquick questionsdefault
deepseek v3budget codingdefault
gemini 1.5 prolong documentsdefault

model presets

short answer: create presets for different tasks: coding at temp 0.3, writing at temp 0.8, quick answers at temp 0.5.

open webui supports presets. create them for different tasks:

  1. start a new chat
  2. select your model
  3. click the gear icon next to the model
  4. set temperature (0.7 balanced, 0.3 focused), max tokens, system prompt
  5. save as preset

i have presets for "coding" (gpt-4o, temp 0.3), "writing" (claude sonnet, temp 0.8), and "quick answers" (gpt-4o-mini, temp 0.5).

advanced features

RAG (document upload)

short answer: upload PDFs and documents, then ask questions about them. Gemini 1.5 Pro is best for this with its huge context window.

open webui supports document upload and retrieval-augmented generation:

  1. click the + button in chat
  2. upload a PDF, text file, or document
  3. ask questions about the document
  4. the model uses the document as context

works with any NanoGPT model that supports long contexts. gemini 1.5 pro is best for this - huge context window, good at document analysis.

short answer: enable web search in settings to let the AI search the web and include results in context with citations.

open webui can search the web and include results in the AI's context:

  1. go to SettingsWeb Search
  2. enable web search
  3. configure search provider (SearXNG, Google, etc.)
  4. the AI can now search and cite sources

multi-user setup

short answer: enable user registration in admin settings. each user gets their own history. all share the NanoGPT API key.

for sharing with others:

  1. go to SettingsAdminUsers
  2. enable user registration (or invite manually)
  3. each user gets their own conversation history
  4. all users share the NanoGPT API key and balance

troubleshooting

problemcausefix
no models showingAPI connection not configuredcheck Settings → Connections
"invalid API key"wrong key or URLverify key at NanoGPT dashboard
slow responsesmodel or networktry a faster model (gpt-4o-mini)
Docker won't startport conflictchange port: -p 3001:8080
can't access from phonefirewallopen port 3000 in firewall
blank pagebrowser cachehard refresh (Ctrl+Shift+R)

Docker commands

short answer: docker ps to check status, docker logs open-webui to debug, docker restart open-webui to restart.

# check status
docker ps

# view logs
docker logs open-webui

# restart
docker restart open-webui

# update to latest version
docker pull ghcr.io/open-webui/open-webui:main
docker stop open-webui
docker rm open-webui
# re-run the original docker run command

# or with compose
docker compose pull
docker compose up -d

testing your API key

short answer: curl the NanoGPT models endpoint with your key. if it returns model data, the key works and the issue is in Open WebUI config.

curl https://api.nano-gpt.com/v1/models \
  -H "Authorization: Bearer YOUR_KEY_HERE"

if this returns model data, the issue is in open webui configuration. if it errors, the issue is with your NanoGPT account or key.

open webui vs librechat

i've used both extensively. here's my honest comparison:

aspectopen webuilibrechatwinner
setup easeeasierharderopen webui
UI polishbettergoodopen webui
mobile experienceexcellentdecentopen webui
plugin ecosystemgrowinglargerlibrechat
customizationgoodexcellentlibrechat
multi-usergoodbetterlibrechat
documentationgoodbetterlibrechat
update frequencyweeklyweeklytie

my pick: open webui for personal use. librechat for teams or heavy customization needs. see our librechat setup guide for the alternative.

accessing from your phone

if open webui is running on your local network, access it via your computer's IP address:

http://192.168.x.x:3000

for remote access, set up a VPN or reverse proxy with HTTPS. don't expose port 3000 directly to the internet.

the mobile UI is genuinely good. i use it on my phone regularly.

running on a raspberry pi

yes, it works on a raspberry pi 4 or 5 with 4GB+ RAM. the UI is lightweight - the heavy lifting happens on NanoGPT's servers. i ran it on a pi 4 for a while before switching to a mini PC.

data privacy

open webui runs locally. your conversations are stored on your machine. the only external connection is to NanoGPT's API when you send a message. open webui doesn't phone home or collect analytics.

for maximum privacy, run it on a local machine (not a VPS). if you need remote access, use a VPN.

updating

docker compose pull
docker compose up -d

check for updates weekly or so. the project updates frequently.

my experience

two months running open webui + NanoGPT on a mini PC. daily driver for AI chat.

pros: fast UI, great mobile experience, easy model switching, my data stays local.

cons: occasional Docker issues after updates, RAG setup requires extra configuration.

total cost: $6-8/month for NanoGPT credits. compared to $20/month for chatgpt plus with worse privacy, it's a clear win.

👉 Start with NanoGPT


Last updated: July 2026


Disclosure: This article contains affiliate links. If you sign up through our referral link, you get a 5% discount and we earn a small commission. This doesn't affect our reviews - we pay for all services ourselves.

Ready to swap crypto privately?

No KYC. No account. Instant swaps.

Swap Now