Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Yes—you can run a browser-based local LLM workspace without a paid API by putting Open WebUI in Docker and connecting it to Ollama (or another compatible endpoint). Open WebUI supplies the accounts, chat interface, model picker and settings; the endpoint supplies and runs the models. A persistent /app/backend/data volume keeps chats, users and configuration when the container is replaced. The standard setup works with a host Ollama service, a separate Ollama container, a remote server or Docker Model Runner. CPU-only operation is supported, while NVIDIA acceleration requires a CUDA image and Docker GPU access. This guide gives reproducible Docker and Compose commands, explains each networking choice, and shows how to update safely without losing data.

What do Open WebUI, Ollama and Docker each do?

They are separate layers, and understanding that division prevents most setup mistakes. Docker runs the Open WebUI application in an isolated container. Open WebUI is the web interface and user-management layer. Ollama, Docker Model Runner or another compatible service downloads model files and performs inference.

  • Open WebUI: serves the browser UI on container port 8080, stores chats, users and settings in /app/backend/data, and connects to model APIs.
  • Ollama: exposes a local model API, normally on port 11434, and stores downloaded models in its own data directory.
  • Docker: supplies repeatable packaging, volumes, restart policies and optional GPU access.

You do not need a paid hosted API for this architecture. You still need a computer, storage, electricity and (for downloading models or updating images) an internet connection. Model quality and speed depend on the model and hardware you choose; the available documentation does not establish a universal RAM, VRAM or tokens-per-second threshold.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What do I need before installing?

Install Docker Engine or Docker Desktop and make sure an Ollama-compatible endpoint is available on the host, in another container, on another server or through Docker Model Runner. Decide whether this machine will be reachable only from itself or from other devices on your network, then generate a stable application secret.

Popular on Amazon
GEEKOM A7 Mini PC,Ryzen 7 7730U(Low Power)32GB RAM &500GB SSD(Expandable) | Business Efficiency(15W TDP) Up to 64GB RAM and 4TB SSD, Agentic AI Desktop for Creator&Office,SD,2xUSB-C, 3-Year Coverage
  • 【15W Efficiency for 24/7 Business & AI Workloads】Why pay for power you don't need? The GEEKOM A7's 15W TDP Ryzen 7 7730U processor helps reduce energy use and heat during extended operation. Run cloud AI assistants and AI Agent workflows for summaries, email, research, and scheduled tasks, or power business applications like digital signage, POS terminals, kiosks, and office automation. Four smart power modes—Silent (10W), Balanced (15W), Performance (20W), and High-Speed (30W)—let you match power to the workload, balancing quiet everyday operation with extra performance when needed.
  • 【Ryzen 7 7730U – More Than a Low-Power PC】Think low power means less performance? Not here. The Ryzen 7 7730U mini computer packs 8 cores, 16 threads, and up to 4.5GHz, giving you the power to handle multitasking, dozens of tabs, video calls, and creative work smoothly. AMD Radeon Graphics supports 4K playback, multi-display work, photo editing, and casual gaming without a dedicated GPU. Compared with the Ryzen 7 5825U and Ryzen 5 7430U, it delivers up to 20% higher performance for faster response and smoother everyday computing—all in a compact, energy-efficient Mini desktop.
  • 【32GB May Be the Smarter Buy】More memory isn’t just about bigger numbers. AI agents, background tasks, browser sessions, and daily apps all use RAM. With 32GB, the GEEKOM mini PC gives you more room for AI-assisted workflows, heavy multitasking, and large projects without constantly closing apps to free up memory. Choose 32GB upfront to skip an immediate upgrade and avoid future upgrade hassles as your needs grow. The 500GB PCIe Gen4 x4 SSD delivers fast storage, with support for up to 64GB RAM and 4TB SSD storage when you need more.
  • 【Premium Metal Design, 5 Security Protections &3-Year Coverage】Why settle for plastic? The GEEKOM mini PC features a premium aluminum alloy chassis that resists daily wear and helps dissipate heat during extended use. Five hardware-level security protections help safeguard devices and data. Backed by a 3-year coverage and US-based local repair support, with CE, FCC, CB, and CCC certifications, it delivers long-term reliability and dependable quality for large-scale business and educational deployments.
  • 【One Mini PC, All Your Ports】Stay connected with dual USB-C ports, 5 USB 3.2 ports, dual HDMI 2.0, and a 2.5G LAN port for fast, flexible connectivity. The USB-C ports support high-speed data transfer, display output, and peripheral power, while Wi-Fi 6E keeps streaming, file transfers, and online work fast and reliable. From multiple peripherals to high-resolution displays, everything you need stays within easy reach.

Prerequisites checklist

  • Docker with permission to run containers and create named volumes.
  • An Ollama service or another endpoint that Open WebUI can reach.
  • Free disk space for the Open WebUI data volume and the model files. Model storage belongs to the Ollama volume, not the Open WebUI volume.
  • For NVIDIA acceleration, a supported NVIDIA driver, the CUDA Container Toolkit and Docker GPU support.
  • A secret generated on the machine where you will manage the deployment:
openssl rand -hex 32

Copy the resulting value into WEBUI_SECRET_KEY. Keep it private and keep it unchanged across container recreations. The project documentation warns that without a fixed secret, you will be logged out every time the container is recreated.

How do I install Open WebUI with the official Docker command?

Run the following command for a standard CPU-oriented deployment while Ollama runs on the Docker host. It publishes the UI at port 3000, maps the host gateway into the container and stores application data in the named volume open-webui.

docker run -d -p 3000:8080 
  --add-host=host.docker.internal:host-gateway 
  -v open-webui:/app/backend/data 
  -e WEBUI_SECRET_KEY=your-secret-key 
  --name open-webui --restart always 
  ghcr.io/open-webui/open-webui:main
  1. Replace your-secret-key with the value produced by openssl rand -hex 32. Do not paste that value into a public issue, shell transcript or shared compose file.
  2. Wait for Docker to report that the container is running with docker ps.
  3. Open http://localhost:3000 in a browser.
  4. Create the first account. In a fresh installation, that account becomes the initial administrator.
  5. Confirm the Ollama connection in the administration or connections area, then pull or select a model from the interface.

The first-run documentation does not promise a particular default model or a particular response speed. The model list you see depends on the endpoint and on which models you have downloaded.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why is the host-gateway option included?

A container has its own network namespace. On Linux, host.docker.internal is not automatically defined in every Docker installation, so --add-host=host.docker.internal:host-gateway creates a name that resolves to the Docker host. With that mapping, Open WebUI can reach host Ollama at http://host.docker.internal:11434. Leave OLLAMA_BASE_URL unset for the standard host setup; set it explicitly when your endpoint uses a different address.

How do I bind the interface safely?

-p 3000:8080 publishes the port on all host interfaces. For a workstation that should be local-only, use -p 127.0.0.1:3000:8080 instead. If you intentionally publish the UI to a LAN, restrict access with your firewall and use strong account credentials; do not assume that a local model endpoint is safe to expose directly to the internet.

How do I deploy the same setup with Docker Compose?

Compose is easier to review, update and recreate because the configuration is kept in a file. Save this as compose.yaml, replacing the placeholder secret before starting it.

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    ports:
      - '3000:8080'
    volumes:
      - open-webui:/app/backend/data
    extra_hosts:
      - 'host.docker.internal:host-gateway'
    environment:
      - WEBUI_SECRET_KEY=your-secret-key
    restart: unless-stopped
volumes:
  open-webui:

Start it with:

docker compose up -d

Then browse to http://localhost:3000 and complete first-run account and connection checks. Add container_name: open-webui only when another tool explicitly expects that exact container name; Compose can manage the generated name without it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I update a Compose deployment?

Pull the new image and recreate only the service:

docker compose pull
docker compose up -d

The named volume remains attached, so chats, users and settings survive the replacement. Do not use docker compose down -v as a routine stop command: the -v option removes the named volume and deletes that data.

How do I connect Open WebUI to Ollama in each topology?

Choose the endpoint URL that is reachable from the Open WebUI container. The correct value depends on where Ollama runs, not on where your browser runs.

Ollama on the Docker host

Use the standard command or Compose file with the host-gateway mapping. Ollama normally listens on port 11434, so the container reaches it at http://host.docker.internal:11434. If automatic discovery does not fit your installation, add OLLAMA_BASE_URL=http://host.docker.internal:11434 to the Open WebUI environment and recreate the container.

Ollama in a separate container

Give Ollama its own persistent volume and publish its API, then put both containers on a shared Docker network or address the published port. A representative Ollama container is:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
docker run -d 
  -v ollama:/root/.ollama -p 11434:11434 
  --name ollama ollama/ollama

Add --gpus=all only when NVIDIA GPU support is installed and you want this Ollama container to use it. If both services share a user-created network, set OLLAMA_BASE_URL=http://ollama:11434 in Open WebUI and use the Ollama container name as the hostname. Keep the ollama volume: it contains the downloaded model files.

Also popular on Amazon
GMKtec EVO-X2 AI Mini PC Ryzen Al Max+ 395 Superchip 128GB LPDDR5X 2TB SSD | Gaming PC AI Supercomputer, AMD RADEON 8090S iGPU, 4K/8K HDMI 2.1, DP1.4, Dual USB4 Ports, SD Card Reader 4.0, WIFI7, BT5.4
  • EVOLUTION RYZEN AI MAX+ 395 MINI PC - GMKtec EVO-X2 is the next evolution in AI mini PC Ryzen Strix Halo series. Thanks to AMD Simultaneous Multithreading (SMT) the core-count is effectively doubled, to 32 threads. Ryzen AI Max+ 395 has 64 MB of L3 cache and can boost up to 5.1 GHz, depending on the workload. The Ryzen AI Max+ 395 is currently rated as the "most powerful x86 APU" on the market for AI computing.
  • AI NPU with XDNA 2 ARCHITECTURE - Powered by 16 “Zen 5” CPU cores, 50+ peak AI TOPS XDNA 2 NPU and a truly massive integrated GPU driven by 40 AMD RDNA 3.5 CUs, the Ryzen AI MAX+ 395 is a transformative upgrade and delivers a significant performance boost over the competition. The Ryzen AI Max+ 395 excels in consumer AI workloads like the llama.cpp-powered application: LM Studio. Shaping up to be the must-have app for client LLM workloads, LM Studio allows users to locally run the latest language model without any technical knowledge required and unleash their creativity and productivity.
  • AMD RADEON 8090S iGPU GAMING PC - The AMD Radeon RX 8060S offers all 40 CUs with up to 2.9 GHz graphics clock and uses the new RDNA 3.5 architecture. The powerful iGPU is positioned between an RTX 4060 and 4070 laptop GPU and therefore enables gaming in FHD at maximum details in most demanding games. The 8060S can also utilize the full 128GB pool, which is perfect for running LLMs such as Deepseek 70B Q8, which runs comfortably on this machine.
  • EIGHT CHANNEL LPDDR5X - LPDDR5X is a new ground breaking memory small form factor installed on-board. With blazing speeds up to to 8000MT/s, it runs 1.5x faster than the DDR5 SODIMMs; 90% better performance over DDR5 SODIMMs in video conferencing and photo editing; 30% better performance in productivity apps; 12% better performance in digital content workloads.
  • QUAD SCREEN 8K DISPLAY SUPPORT - EVO-X2 AI Mini PC support 4-screen 4K/8K output via HDMI 2.1 (8K@60Hz), DisplayPort 1.4 (4K@60Hz), and dual USB 4 40Gbps Transfer speed (supporting PD3.0/DP1.4/DATA). Ideal for gaming, video editing, and multitasking, it provides expansive and crisp multi-display support.

Ollama on another server

Set the variable to a URL reachable from the Open WebUI container, for example:

-e OLLAMA_BASE_URL=https://your-ollama-host

Use the actual internal URL, port and scheme for your environment. Place the endpoint behind network controls and authentication appropriate to your deployment. The basic variable only tells Open WebUI where to connect; it does not create encryption, access control or a firewall policy.

Docker Model Runner

Docker’s documented integration uses the host gateway and port 12434:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
extra_hosts:
  - 'host.docker.internal:host-gateway'
environment:
  - OLLAMA_BASE_URL=http://host.docker.internal:12434

For the OpenAI-compatible API exposed by the local runner, use:

OPENAI_API_BASE_URL=http://host.docker.internal:12434/engines/v1
OPENAI_API_KEY=your-local-runner-key

The key value must match what your local runner configuration accepts. Do not reuse a production credential merely because the variable is named OPENAI_API_KEY.

Which Open WebUI image and hardware configuration should I choose?

Start with the standard image unless you have a specific reason to reduce the download, enable NVIDIA support or bundle Ollama. These are deployment choices, not different chat applications.

Need Image or configuration Trade-off
Normal install with local helper models ghcr.io/open-webui/open-webui:main Largest standard image; it includes bundled speech-to-text and embedding models.
Smaller download and memory footprint :slim or :main-slim Functions omitted from the slim image require external services. Project documentation reports 197 MB instead of 1.62 GB to download, an 88% reduction on Linux/amd64; those figures are project-published, not an independent benchmark.
NVIDIA acceleration for Open WebUI’s own local models :cuda or :cuda126 with --gpus all Requires NVIDIA drivers, the CUDA Container Toolkit and working Docker GPU support.
One container for UI and Ollama :ollama plus a persistent Ollama volume Simpler topology, but model files still consume storage and must be backed up.
CPU-only Ollama Standard :main with host or container Ollama No GPU toolkit is needed. Larger models can run more slowly; no universal speed figure is established.

The project states that Open WebUI works on macOS, Linux (x86_64 and ARM64, including Raspberry Pi and NVIDIA DGX Spark) and Windows. That operating-system statement does not guarantee that every model or GPU combination fits the machine.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I enable NVIDIA GPU access without breaking a CPU setup?

Use GPU flags only for an NVIDIA-capable host with the driver and container runtime configured. A CUDA-tagged Open WebUI image without --gpus all cannot see the GPU, while adding that flag on a machine without the required runtime causes the container to fail rather than provide a fallback.

GPU-enabled Open WebUI container

Change the image tag and add the GPU request:

docker run -d --gpus all -p 3000:8080 
  --add-host=host.docker.internal:host-gateway 
  -v open-webui:/app/backend/data 
  -e WEBUI_SECRET_KEY=your-secret-key 
  --name open-webui --restart always 
  ghcr.io/open-webui/open-webui:cuda

Use :cuda126 when that tag matches the CUDA compatibility of your installed driver. This affects local components run by Open WebUI; Ollama in a separate container needs its own --gpus=all setting.

Verify the runtime before troubleshooting Open WebUI

  1. Confirm the host driver can see the GPU with the vendor’s diagnostic utility.
  2. Run a small test container with --gpus all to verify Docker can pass through the device.
  3. Inspect docker logs open-webui for CUDA initialization errors.
  4. If the test fails, revert to the standard CPU image while fixing the driver or toolkit; changing application settings will not repair a missing container runtime.

What should I do immediately after the first login?

Complete a short validation sequence before importing users or relying on the installation for work.

  1. Open the model or connections settings and verify that the expected endpoint URL is shown.
  2. Check that at least one model is available. If the list is empty, pull a model through Ollama or the endpoint’s own management method.
  3. Send a short test prompt and confirm that a response arrives without endpoint or timeout errors.
  4. Refresh the page and sign out and back in to verify account persistence.
  5. Stop and start the container once with docker restart open-webui; the same account, chats and settings should remain.

Do not treat a successful page load as proof that inference works: the UI can be healthy while the model endpoint is unreachable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I protect chats, users and model files?

Protect the two different volumes separately. Open WebUI data lives in open-webui at /app/backend/data; Ollama models live in ollama at /root/.ollama when Ollama is containerized.

Also popular on Amazon
Sale
GMKtec K15 AI Mini PC Oculink Intel Ultra 5 125U 32GB DDR5 512GB SSD | Desktop Computer AI Boost, 3X M.2 2280 Storage Expansion, Dual NIC 2.5GbE, HDMI 2.1, USB4 Quad 8K Display
  • LOW ENERGY HIGH PERFORMANCE MINI PC - The Intel Core Ultra 5 125U is part of the Ultra 5 lineup, using the Meteor Lake architecture with BGA 2049. Intel Hyper-Threading technology is available and effectly doubles the core-count of the P-Cores, to a total of 14 threads. Core Ultra 5 125U has 12 MB of L3 cache and operates at 1300 MHz by default, but can boost up to 4.3 GHz, depending on the workload. With a TDP of 15 W, the Core Ultra 5 125U consumes very little energy but outputs high performance efficiency
  • 32GB DDR5 RAM + 512GB SSD - The K15 mini computer is equipped with Dual 16GB (Total 32GB) SO-DIMM DDR5 4800MHz memory sticks. 512GB PCIE 4.0 SSD Drive with 3x M.2 2280 Expansion slots. Each slot capable of reading up to 8TB. (24TB MAX)
  • QUAD SCREEN 4K DISPLAY SUPPORT - K15 Mini PC support 4-screen 4K/8K output via HDMI 2.1 (8K@60Hz), DisplayPort 1.4 (4K@60Hz), and USB Type-C Transfer speed (supporting PD3.0/DP1.4/DATA). Ideal for gaming, video editing, and multitasking, it provides expansive and crisp multi-display support
  • OCULINK PORT - The Oculink port on the rear interface enables higher bandwidth capabilities, better frame rates and lower lag. The standard also operates at PCIe x4 speeds, compared to Thunderbolt's x3. Gamers and content creators can benefit from Oculink's higher bandwidth, resulting in better performance and lower lag for eGPU setups
  • DUAL NIC FAST 2.5GBE + WIFI 6E + BT 5.2 - Dual Ethernet 2.5GbE LAN port design provides more applications, such as firewall, multichannel aggregation, soft routing, file storage server. Built-in WIFI 6E / Bluetooth 5.2 is more stable and efficient to connect multiple wireless devices such as projector, printer, monitor, speakers and etc

Back up the Open WebUI volume

Stop writes during a backup, then archive the named volume from a temporary container:

docker stop open-webui
docker run --rm -v open-webui:/data -v "$PWD":/backup alpine tar czf /backup/open-webui-backup.tgz -C /data .
docker start open-webui

Store the archive somewhere other than the Docker host as well. If you use Compose, the service name may be required instead of open-webui for stop and start commands; check docker compose ps.

Back up or move Ollama models

Model files can be much larger than the UI database. Back up the ollama volume or use Ollama’s documented model-management process before deleting or migrating the container. A UI backup alone cannot restore model files that were kept in a separate volume.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep the secret stable

Do not generate a new WEBUI_SECRET_KEY every time you recreate the container. A fixed secret preserves session encryption behavior and avoids the repeated logout warning documented by the project. If the secret is exposed, rotate it deliberately and expect existing sessions to require new logins.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How do I update, pin or roll back Open WebUI?

For convenience, the main tag tracks the current project image. For reproducible upgrades, pin a release tag or image digest in Compose, back up the data volume, then update in a controlled sequence.

  1. Record the current image tag or digest and make a fresh Open WebUI volume backup.
  2. Change the image reference to the chosen release tag or digest.
  3. Run docker compose pull followed by docker compose up -d, or pull and recreate the equivalent standalone container.
  4. Test login, an existing chat and a model request.
  5. If a regression appears, restore the previous image reference and recreate the container while keeping the volume attached.

Never combine an upgrade with docker compose down -v unless deleting all application data is intentional and you have a verified backup.

What are the most common failures and their fixes?

Most errors are caused by an unreachable endpoint, a missing volume or a GPU/runtime mismatch. Use the symptom to narrow the search.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Symptom Likely cause Fix
The page does not open at port 3000 Container stopped, port conflict or a different host binding Run docker ps, inspect docker logs open-webui, and check whether another process already uses port 3000. Try a different host port such as 3001:8080.
Open WebUI loads but no models appear Wrong endpoint URL or Ollama is not running Check the Ollama service, test its reachable address from the Docker host, then set OLLAMA_BASE_URL to the URL resolvable inside the container.
Connection works on the host but not in the container Missing host-gateway entry, incorrect Docker-network hostname or blocked firewall Add extra_hosts/--add-host for host Ollama, use the service name on a shared network, and allow the endpoint port only on the required interface.
Every recreation logs the user out WEBUI_SECRET_KEY changed or was omitted Set one generated secret in the environment and reuse it for every recreation.
Chats disappear after an update The data volume was not mounted or was removed with down -v Inspect the container mounts, restore the named volume or backup, and recreate without deleting volumes.
CUDA errors or no GPU detected Missing driver, toolkit, compatible image tag or --gpus all Validate Docker GPU support with a test container, then use the matching CUDA image and GPU flag. CPU mode is a safe fallback while repairing the runtime.
Ollama models vanished but the UI is intact The Ollama volume was replaced or omitted Reattach the persistent ollama:/root/.ollama volume or restore its backup; Open WebUI cannot recreate model files by itself.

Does running locally really cost $0 per month?

It can eliminate a recurring hosted-AI subscription or per-request API bill, but $0 per month is a goal rather than a guaranteed total cost. You provide the computer, storage, electricity, internet bandwidth for downloads and any replacement hardware. A capable NVIDIA GPU may improve local acceleration, while CPU-only operation avoids GPU purchases but can make larger models less responsive. Compare the one-time hardware and operating costs with the hosted service you would otherwise use instead of assuming that every setup is financially free.

What is the safest practical default?

For a first deployment, use the standard :main image, a named open-webui volume, a fixed generated secret and host Ollama reached through host.docker.internal:host-gateway. Move Ollama into its own container when you want an isolated model volume or shared Docker networking. Add CUDA tags and GPU flags only after CPU connectivity works, and pin an image tag or digest when updates must be reproducible.

Frequently Asked Questions

Can I use Open WebUI when the computer is offline?

After the image and model files are already present, chat generation can run without an internet connection if the endpoint and container remain on the local machine. Internet access is still needed to download new models, pull updated images, install missing external services or recover a lost volume.

Can several people use one local Open WebUI installation?

Yes, Open WebUI provides user accounts, so multiple people can sign in through the same web address. Treat the host as a shared service: restrict the published port with a firewall or private network and avoid exposing an unauthenticated model endpoint.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why does changing the Docker port not change Ollama’s port?

The published port maps browser traffic to Open WebUI’s container port 8080; it is unrelated to Ollama’s API port, normally 11434. Keep the endpoint URL set to the address and port reachable from the container, even if users open the UI through a different host port.

Can I move this installation to a new computer?

Copy the Open WebUI volume backup and, when Ollama is containerized, the Ollama model volume or its backup. Recreate the containers with the same secret and endpoint settings, restore the volumes, then test an existing chat and a model request before allowing normal use.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.