Open WebUI¶
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform designed to operate entirely offline. It supports LLM runners such as Ollama and OpenAI-compatible APIs. Its built-in inference engine supports retrieval-augmented generation (RAG), making it a powerful AI deployment solution.
Install Open WebUI¶
- Follow the Open WebUI installation guide.
- Install Open WebUI using either the Docker or Python package method.
- Start the Open WebUI service.
- Access Open WebUI on port
3000.
- Follow the Open WebUI Quick Start guide to set up the self-hosted Open WebUI requirements, including the
.envfile. -
Add the following
ls-netexternal network to the Open WebUI and Ollama project’sdocker-compose.ymlfile:services: ollama: image: ollama/ollama:latest container_name: ollama volumes: - ollama:/root/.ollama restart: unless-stopped networks: - ls-net open-webui: image: ghcr.io/open-webui/open-webui:main container_name: open-webui volumes: - open-webui:/app/backend/data environment: - OLLAMA_BASE_URL=http://ollama:11434 depends_on: - ollama ports: - "3000:8080" restart: unless-stopped networks: - ls-net volumes: ollama: open-webui: networks: ls-net: external: true
Set up OpenLiteSpeed (OLS) proxy with AutoSSL¶
The easiest way to install OpenLiteSpeed, configure it as a reverse proxy, and enable AutoSSL is to use the ols1clk script.
Before continuing, ensure that your domain points to the server.
Replace www.example.com with your domain name, and run the following command:
bash <(curl -fsSL https://raw.githubusercontent.com/litespeedtech/ols1clk/master/ols1clk.sh) --proxy-r --proxy-port 3000 --autocert --sitedomain www.example.com
This command automatically:
- Installs OpenLiteSpeed.
- Configures the Example virtual host as a reverse proxy.
- Applies your domain to the listener virtual host mapping.
- Requests and installs SSL certificates using ACME.
-
Download the ols-proxy-docker-env repository:
git clone https://github.com/litespeedtech/ols-proxy-docker-env cd ols-proxy-docker-env -
Copy the example environment file:
cp .env.example .env -
Edit
.envwith your configuration values:OLS_IMAGE=litespeedtech/openlitespeed:latest BACKEND_IP=open-webui BACKEND_PORT=8080 DOMAIN=www.example.com PROXY_METHOD=context PROXY_SOCKET=true ACME_EMAIL=admin@example.com -
Start the proxy:
docker compose up -d
Verify the proxy configuration¶
Open https://www.example.com in a browser. The application interface should load through OpenLiteSpeed over HTTPS.
Warning
After verifying the configuration, restrict public access to port 3000 with your firewall.
Optional settings¶
You can further enhance your site's security by enabling features such as:
- OWASP protection
- reCAPTCHA
- Per-client throttling
- Realm protection
- IP Allow/Deny
See the OpenLiteSpeed Security Guide for more information.