Open WebUI is a self-hosted, ChatGPT-style interface for local and remote AI models, supporting Ollama, OpenAI-compatible endpoints, and per-user authentication. This guide deploys Open WebUI using Docker Compose with Traefik handling automatic HTTPS. By the end, you'll have an Open WebUI instance running securely at your domain, ready to point at a model backend.
1. Create the project directory:
$ mkdir -p ~/openwebui/data
$ cd ~/openwebui
2. Create the environment file:
$ nano .env
DOMAIN=openwebui.example.com
LETSENCRYPT_EMAIL=admin@example.com
1. Create the Docker Compose manifest:
$ nano docker-compose.yaml
services:
traefik:
image: traefik:v3.6
container_name: traefik
command:
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--entrypoints.web.http.redirections.entrypoint.to=websecure"
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
- "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
- "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
- "--certificatesresolvers.letsencrypt.acme.email=${LETSENCRYPT_EMAIL}"
- "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- "letsencrypt:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
restart: unless-stopped
openwebui:
image: ghcr.io/open-webui/open-webui:main
container_name: openwebui
hostname: openwebui
expose:
- "8080"
volumes:
- "./data:/app/backend/data"
environment:
- WEBUI_AUTH=true
labels:
- "traefik.enable=true"
- "traefik.http.routers.openwebui.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.openwebui.entrypoints=websecure"
- "traefik.http.routers.openwebui.tls.certresolver=letsencrypt"
- "traefik.http.services.openwebui.loadbalancer.server.port=8080"
restart: unless-stopped
volumes:
letsencrypt:
2. Start the services:
$ docker compose up -d
3. Verify the services are running:
$ docker compose ps
4. View the logs:
$ docker compose logs
Open https://openwebui.example.com
in a browser. The first user you register becomes the administrator. Additional users sign up through the same flow and can be managed from Admin Panel → Users.
Open WebUI is running and served securely over HTTPS. From here you can:
For the full guide with additional tips, visit the original article on ** Vultr Docs**.