cd /news/artificial-intelligence/how-to-run-local-llms-with-open-webu… · home topics artificial-intelligence article
[ARTICLE · art-97817] src=dev.to ↗ pub= topic=artificial-intelligence verified=true sentiment=↑ positive

How to Run Local LLMs with Open WebUI on Docker (Ditch the 0/mo AI Subscriptions)

A developer's guide on SelfHostStack demonstrates how to replace paid AI subscriptions like ChatGPT Plus and Claude Pro with a self-hosted setup using Open WebUI and Ollama on a low-cost VPS. The article provides a Docker Compose configuration, model pull commands, and benchmarks showing cost savings and privacy benefits, with options for hybrid access to frontier models via APIs.

read2 min views1 publishedAug 15, 2026

Originally published on SelfHostStack

If you pay $20/month for ChatGPT Plus or Claude Pro, you are paying $240 every single year for:

With modern quantized open-weight models (Llama 3.1, Mistral NeMo, DeepSeek-Coder, and Qwen 2.5), you can host your own private, unrestricted AI workspace on a low-cost VPS with Open WebUI and Ollama.

In this guide, we'll walk through the complete deployment using Docker Compose, setup reverse proxy authentication, and benchmark token generation speeds.

Model / Setup Cost Privacy / Retention Context & Feature Limits
ChatGPT Plus / Claude Pro
$20/month ($240/yr) Cloud training, data retained Strict 3-hour message caps, hard rate limits
Open WebUI + Ollama (VPS)
~$6 - $12/month VPS 100% Private (Zero telemetry) Unlimited messages, custom system prompts, RAG document chat
Hybrid (Open WebUI + OpenRouter/DeepSeek API)
~$1 - $3/month (Pay per token) Zero retention API options Access to 100+ models in a unified ChatGPT-like UI

Open WebUI (70k+ GitHub stars) is arguably the most polished open-source AI frontend available:

Here is the exact production-ready docker-compose.yml

to run Open WebUI paired with Ollama:

version: '3.8'
services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: always
    ports:
      - "3000:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
      - WEBUI_SECRET_KEY=generate_random_secret_string_here
      - ENABLE_SIGNUP=false # Set to false after creating your admin account
    volumes:
      - webui-data:/app/backend/data
    depends_on:
      - ollama

  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: always
    ports:
      - "11434:11434"
    volumes:
      - ollama-models:/root/.ollama

volumes:
  webui-data:
  ollama-models:

For lightweight models (like llama3.2:3b

or qwen2.5-coder:1.5b

), a standard 4GB RAM cloud instance works great. For larger 8B parameter models, choose a VPS with 8GB RAM and fast NVMe storage:

SSH into your server and run:

curl -fsSL https://get.docker.com | sh

mkdir -p ~/ai-stack && cd ~/ai-stack
nano docker-compose.yml # (paste the compose YAML above)
docker compose up -d

Pull lightweight, high-performance models directly inside the Ollama container:

docker exec -it ollama ollama pull qwen2.5-coder:7b

docker exec -it ollama ollama pull llama3.1:8b

docker exec -it ollama ollama pull llama3.2:3b

Use Caddy for automatic HTTPS:

ai.yourdomain.com {
    reverse_proxy localhost:3000
}

If you need occasional access to frontier models (Claude 3.5 Sonnet, GPT-4o, or DeepSeek-V3) for massive refactoring tasks, you don't need a $20/month subscription:

Looking to replace other expensive developer and productivity tools? Explore our curated guides with verified Docker templates:

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @open webui 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/how-to-run-local-llm…] indexed:0 read:2min 2026-08-15 ·