cd /news/ai-tools/deploying-openwebui-local-ai-interfa… · home topics ai-tools article
[ARTICLE · art-14572] src=dev.to pub= topic=ai-tools verified=true sentiment=· neutral

Deploying OpenWebUI Local AI Interface on Ubuntu 24.04

A developer deployed Open WebUI, a self-hosted ChatGPT-style interface for local and remote AI models, on Ubuntu 24.04 using Docker Compose with Traefik for automatic HTTPS. The setup provides a secure instance at a specified domain with per-user authentication, where the first registered user becomes the administrator. The deployment supports Ollama and OpenAI-compatible endpoints for model backend integration.

read1 min publishedMay 26, 2026

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**.

── more in #ai-tools 4 stories · sorted by recency
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/deploying-openwebui-…] indexed:0 read:1min 2026-05-26 ·