Open WebUI — это удобный интерфейс чата для моделей, доступ к которым предоставляется через API. С его помощью можно общаться с AI-агентами в привычном формате диалога.
Разберемся, как установить Open WebUI и подключить к нему AI-агента.
Предполагается, что у вас уже создан AI-агент. Если нет, поможет наша документация, где подробно описано, что такое агент и как его создать.
Установка
Интерфейс можно развернуть как локально на рабочем компьютере, так и на удаленном сервере, если нужен постоянный доступ к чату.
Для корректной работы Open WebUI потребуется минимум 2 ГБ ОЗУ.
Убедитесь, что у вас установлены docker
и docker compose
:
docker --version
docker compose version
Если вы разворачиваете Open WebUI локально, достаточно создать файл docker-compose.yaml
с содержимым:
services:
openwebui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
volumes:
open-webui:
Если вы хотите развернуть интерфейс на сервере, для удобства доступа стоит использовать домен и SSL-сертификат. Для этого создайте файл .env
:
DOMAIN=openwebui.example.com
LETSENCRYPT_EMAIL=admin@example.com
TZ=Europe/Moscow
В DOMAIN
укажите домен, на котором будет работать интерфейс. Для домена должна быть настроена A-запись на ваш сервер.
LETSENCRYPT_EMAIL
— почтовый ящик, который будет использоваться для получения сертификата.
TZ
— таймзона.
Создайте файл docker-compose.yaml
со следующим содержимым:
version: "3.8"
services:
traefik:
image: traefik:v3.1
container_name: traefik
restart: unless-stopped
command:
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.httpchallenge=true"
- "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
- "--certificatesresolvers.myresolver.acme.email=${LETSENCRYPT_EMAIL}"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "letsencrypt:/letsencrypt"
openwebui:
image: ghcr.io/open-webui/open-webui:main
container_name: openwebui
restart: unless-stopped
environment:
- TZ=${TZ}
- WEBUI_URL=https://${DOMAIN}
volumes:
- openwebui-data:/app/backend/data
labels:
- "traefik.enable=true"
# HTTPS роутер
- "traefik.http.routers.openwebui.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.openwebui.entrypoints=websecure"
- "traefik.http.routers.openwebui.tls.certresolver=myresolver"
- "traefik.http.services.openwebui.loadbalancer.server.port=8080"
- "traefik.http.services.openwebui.loadbalancer.server.scheme=http"
# HTTP роутер с редиректом на HTTPS
- "traefik.http.routers.openwebui-http.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.openwebui-http.entrypoints=web"
- "traefik.http.routers.openwebui-http.middlewares=redirect-to-https"
# Middleware для редиректа
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
volumes:
openwebui-data:
letsencrypt:
Сохраните манифест и запустите контейнер:
docker compose up
Docker скачает образ и развернет Open WebUI. После появления логотипа в терминале откройте в браузере страницу http://localhost:3000/
или используйте ваш домен, если интерфейс разворачивается на сервере (в дальнейшем в инструкции будем использовать localhost).
Если загрузилась приветственная страница — установка прошла успешно.
Вернитесь в терминал и остановите контейнер сочетанием Ctrl+C
, а затем запустите его в фоновом режиме:
docker compose up -d
В браузере обновите страницу http://localhost:3000/
, вы также должны наблюдать приветственную страницу.
Подключение агента
Нажмите на кнопку «Давайте начнем».
Заполните данные для создания аккаунта администратора. Локально можно не заморачиваться с паролем, а если установка выполняется на сервере — укажите стойкий вариант. Почта, введенная при регистрации, используется только как идентификатор и как логин для входа, никакие письма на нее не приходят.
Open WebUI поддерживает два способа подключения агентов:
- Через прямое подключение — для каждого пользователя указывается собственный API-ключ и URL;
- Для всех пользователей — настройки подключения задаются один раз в панели администратора и используются по умолчанию.
Рассмотрим оба варианта.
Прямое подключение
После создания аккаунта вы окажетесь в главном рабочем пространстве. Но чтобы подключить агентов, нужно сделать еще пару шагов.
Нажмите на имя аккаунта в левом нижнем углу и выберите «Панель администратора».
Дальше откройте вкладку «Настройки» → пункт «Подключения» и включите переключатель напротив «Прямые подключения». Сохраните изменения.
Теперь перейдем к подключению модели. Вновь нажмите на имя пользователя, но теперь выберите пункт «Настройки».
Перейдите в раздел «Подключения» и нажмите на иконку плюсика.
В открывшемся меню укажите:
-
URL — значение из поля «OpenAI URL» во вкладке «Доступ» на странице агента в панели Timeweb Cloud;
После этого нажмите на кнопку проверки соединения. Если ошибок нет — сохраните.
Закройте окно с настройками и нажмите на кнопку «Новый чат». В меню выбора модели у вас отобразится модель вашего AI-агента. Если этого не произошло — обновите страницу браузера и проверьте вновь.
На этом установка и настройка Open WebUI завершена.
Общие настройки подключения
Если вы хотите настроить доступ к агенту один раз для всех пользователей, сделайте следующее:
Нажмите на имя аккаунта в левом нижнем углу и выберите «Панель администратора».
Перейдите во вкладку «Настройки» и нажмите на иконку плюса рядом с пунктом «API OpenAI».
В открывшемся меню укажите:
- URL — значение из поля «OpenAI URL» во вкладке «Доступ» на странице агента в панели Timeweb Cloud;
- Ключ — API-токен для доступа к агенту
После этого нажмите на кнопку проверки соединения. Если ошибок нет — сохраните.
Закройте окно с настройками и нажмите на кнопку «Новый чат». В меню выбора модели у вас отобразится модель вашего AI-агента. Если этого не произошло — обновите страницу браузера и проверьте вновь.
На этом установка и настройка Open WebUI завершена.