Recommended Free Tools
For most users, install Open WebUI with Docker: its documentation recommends that route, and Docker Engine’s Ubuntu guide lists both 64-bit Ubuntu 24.04 LTS (Noble) and 26.04 LTS (Resolute) as supported hosts. Python is an alternative when you prefer a manually managed environment; Open WebUI documents Python 3.11 and 3.12, with 3.11 its more heavily tested production choice. The Python guidance is for Linux generally, not a claim of Ubuntu-specific testing on both releases.
Choose Docker or Python
| Consideration | Docker | Python |
|---|---|---|
| Best fit | Recommended by Open WebUI for most users; a good choice if Docker is already part of your setup. | Useful for a manual setup or when you want to manage the Python environment directly. |
| Version control | Choose a project image tag; a specific stable release tag is preferable for reproducible or production deployments. | Use Python 3.11 or 3.12. Open WebUI says 3.11 is most heavily tested for production; 3.13 is not supported yet. |
| Persistent data | The example uses a named Docker volume mounted at /app/backend/data. |
Set DATA_DIR to choose where application data is stored. |
| Updates | Changing the image tag controls which build or release is deployed. | Update the package with pip install -U open-webui, then restart the server. |
Docker Engine’s supported-host list includes Ubuntu 24.04 LTS and 26.04 LTS. That confirms host support for Docker Engine; it is not a report of separate end-to-end Open WebUI testing on each release. Ubuntu says 26.04 LTS was released on 23 April 2026 and is supported until April 2031 (Ubuntu 26.04 release notes).
As an Amazon Associate I earn from qualifying purchases.
Install Open WebUI with Docker
1. Install Docker Engine
Use Docker’s Ubuntu installation guide to configure its apt repository for your system and architecture, then update apt and install the current packages:
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemssudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
The install command assumes you have already completed the repository setup in Docker’s guide. Follow that page for the correct repository and architecture instructions rather than adding an improvised source.
#1 Best Overall
2. Start the container
Generate a secret key, then use it in the command. Open WebUI’s quick start specifies openssl rand -hex 32 for generating the key.
openssl rand -hex 32
docker run -d -p 3000:8080
--add-host=host.docker.internal:host-gateway
-v open-webui:/app/backend/data
-e WEBUI_SECRET_KEY=replace-with-generated-key
--name open-webui
--restart always
ghcr.io/open-webui/open-webui:main
Replace replace-with-generated-key with the generated value. The mapping -p 3000:8080 publishes the app’s container port 8080 on host port 3000, so open http://localhost:3000 on the Ubuntu machine. If port 3000 is occupied, change the number on the left side of the mapping, for example to -p 3001:8080, and use that port in the browser. The host.docker.internal entry is included in the official example so the container can address the host by that name.
Rank #2
The named volume open-webui stores application data mounted at /app/backend/data; it retains chats, users, and settings when the container is replaced. Keep the same volume when recreating the container if you want that data to remain available.
Free tools Windows power users keep installed
One-click scans. No signup required.
3. Select a suitable image tag
The example uses :main, which follows the newest build; :latest is also a floating tag. For a reproducible or production deployment, Open WebUI recommends choosing a specific stable :vX.Y.Z release tag instead. Select the actual tag from the project’s releases rather than guessing one.
Rank #3
Install Open WebUI with Python
Open WebUI documents Python 3.11 and 3.12. Python 3.13 is not supported yet, even if it is available from your Ubuntu package sources. The project recommends the latest Python 3.11 for production because that combination has been tested most heavily; 3.12 is supported, though the project notes rare behavior it has not reproduced on 3.11. This is upstream Linux/Python guidance, not a claim that these commands were specifically tested on Ubuntu 24.04 and 26.04.
Create and activate a virtual environment before installing the package so it stays separate from system Python:
Rank #4
python3 -m venv venv
source venv/bin/activate
pip install open-webui
open-webui serve
The server is available at http://localhost:8080. To put application data in a chosen location, set DATA_DIR when starting the server, for example:
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →DATA_DIR=~/.open-webui open-webui serve
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.First run and routine updates
Complete initial setup
Open the local address for the method you installed and follow the setup flow to create the initial admin account. Open WebUI says sign-ups switch off after that first account is created.
Best Value
Check Docker startup logs
If the Docker page does not load, inspect the container logs and allow startup to finish. The quick start advises waiting for “Application startup complete.” You can view the logs with:
docker logs -f open-webui
Update a Python installation carefully
With the virtual environment activated, update the package and restart the server:
pip install -U open-webui
If you run more than one Uvicorn worker, let database migration complete with one worker before increasing the worker count; the project warns that migrations with UVICORN_WORKERS > 1 can corrupt the database schema. For multiple replicas, run migrations on only one replica.
Production hardening
For a production deployment, Open WebUI’s environment reference strongly recommends setting ENABLE_PIP_INSTALL_FRONTMATTER_REQUIREMENTS=False. When runtime installation is enabled, requirements declared by tools or functions can trigger package installation. The project identifies arbitrary package installation from admin-uploaded code and concurrent install races as concerns; its guidance is to preinstall required packages in a custom image.
Use a specific stable image tag for Docker deployments that need reproducible versions. For Python deployments, use the supported interpreter guidance and account for the migration behavior before scaling workers or replicas.
Quick Recap
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.




