Встановлення Open WebUI та налаштування OmniProxy
Хочете об’єднати локальні та хмарні моделі в одному вікні чату, але побоюєтеся складного розгортання й підключення? Open WebUI пропонує знайомий інтерфейс чату: після встановлення достатньо покроково вказати параметри підключення, щоб почати роботу.
Open WebUI — це інтерфейс чату, який можна самостійно розгорнути на власному комп’ютері або сервері та використовувати повністю офлайн. Він не прив’язаний до одного постачальника моделей: можна підключати як інструменти на кшталт Ollama, що запускають моделі локально, так і сумісні з форматом OpenAI API, тобто адреси сервісів моделей, які використовують такий самий формат запитів. Завдяки цьому між локальними та хмарними моделями можна перемикатися в одному вікні.
Open WebUI підходить для тривалого використання командами й організаціями. Можливості, які оновлюються швидше, спочатку з’являються в Computer — продукті Open WebUI для випробування нових функцій.
Підготовка до встановлення
Open WebUI можна використовувати в macOS, Linux і Windows. Встановлення доступне через Docker, Python або Kubernetes. Docker розміщує застосунок і середовище виконання у відносно ізольованому контейнері, тому це рекомендований спосіб. Якщо Docker немає, можна скористатися наведеними нижче перевіреними командами Python. Kubernetes — це система для розгортання контейнерів і керування ними; відповідні інструкції наведено в Quick Start, посилання на який є наприкінці сторінки.
Офіційно рекомендовано
Docker
- Одна команда docker run
- Відкрийте 3000 у браузері
- Дані зберігаються в томі
Потрібен лише чат
Образ slim
- Менший розмір завантаження
- Змініть тег на :slim
- Функція чату залишається доступною
Тут не розглядається
Ще два способи
- Ручне встановлення через Python
- Розгортання в Kubernetes
- Перегляньте офіційний Quick Start
Перед початком підготуйте:
- Встановлений і працездатний Docker.
- Рядок секретного ключа, призначений лише для вас. Згенеруйте його командою
openssl rand -hex 32, а потім укажіть уWEBUI_SECRET_KEY. Збережіть це значення без змін: якщо під час повторного створення контейнера його замінити, усі користувачі, які ввійшли в систему, вийдуть зі своїх облікових записів. - Запущений OmniProxy та ідентифікатор моделі з його поточного списку моделей. Ідентифікатор моделі — це повна назва, яка використовується для вибору конкретної моделі.
Встановлення та перший запуск
Відкрийте термінал і виконайте команду з Quick Start. Спочатку замініть your-secret-key на щойно згенерований рядок ключа:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data -e WEBUI_SECRET_KEY=your-secret-key --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Параметри цієї команди виконують такі функції:
-p 3000:8080: дає змогу відкрити інтерфейс через порт 3000 цього комп’ютера. Якщо порт 3000 зайнятий, змініть число ліворуч.-v open-webui:/app/backend/data: зберігає чати, користувачів і налаштування в томі даних. Том даних — це місце для довготривалого зберігання даних поза контейнером; після оновлення контейнера його вміст зберігається, тому не вилучайте цей параметр.--add-host=host.docker.internal:host-gateway: дає контейнеру доступ до інших сервісів, запущених на цьому комп’ютері.--restart always: після перезавантаження комп’ютера контейнер буде запущено знову.
Після виконання команди відкрийте в браузері http://localhost:3000 і створіть перший обліковий запис, дотримуючись вказівок на сторінці.
Якщо чат використовуватиметься лише через API, тег образу можна змінити з :main на :slim. slim — це менший образ, який не містить локальних моделей мовлення та вбудовувань усередині контейнера, але інтерфейс чату залишається доступним. Якщо ці локальні можливості потрібні, продовжуйте використовувати :main.
Для ручного оновлення спочатку виконайте docker rm -f open-webui, потім docker pull ghcr.io/open-webui/open-webui:main, а після цього знову запустіть ту саму команду docker run. Том даних і WEBUI_SECRET_KEY мають залишитися незмінними.
Якщо Docker немає
Quick Start також пропонує спосіб встановлення через Python. 2026-10-09 за допомогою наведеної нижче команди Open WebUI v0.11.4 було встановлено в macOS і успішно проведено одну розмову. На цьому комп’ютері тоді не було Docker Desktop.
DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve
Після запуску відкрийте в браузері http://localhost:8080. Це порт, який використовується за встановлення через Python, а не порт Docker 3000.
Під час першого запуску буде завантажено модель вбудовувань, що може тривати кілька хвилин. Модель вбудовувань перетворює текст на дані, зручні для пошуку та зіставлення. Перш ніж продовжити, дочекайтеся появи сторінки входу. Перший зареєстрований обліковий запис стане адміністратором. Мова інтерфейсу відповідає системній; під час цього тесту відображалася спрощена китайська.
DATA_DIR має вказувати на каталог, який зберігатиметься тривалий час і міститиме дані Open WebUI. Якщо не встановити цю змінну, дані можуть потрапити до тимчасового каталогу та зникнути після завершення роботи. Якщо WEBUI_SECRET_KEY не встановлено, програма запише файл .webui_secret_key у поточний каталог. Запускайте програму з каталогу, який плануєте зберігати, або самостійно встановіть цю змінну.
Отримання параметрів підключення з OmniProxy
Скопіюйте з власного OmniProxy такі три значення:
URL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: скопіюйте повний ідентифікатор із поточного списку моделей OmniProxy
URL — це адреса, яку Open WebUI використовуватиме для підключення до API. Вона має закінчуватися на /v1. Не додавайте після неї /chat/completions: Open WebUI додасть цю частину самостійно.
Ідентифікатор моделі потрібно повністю скопіювати з поточного списку OmniProxy. Якщо він містить префікс джерела та скісну риску, їх також потрібно зберегти. Наведені нижче дві короткі назви слугують лише орієнтирами з документації постачальників станом на 2026-10-09. Не використовуйте їх, якщо їх немає в поточному списку:
- Ідентифікатор Claude API для Claude Sonnet 5.5:
claude-sonnet-5-5 - Назва API для Gemini 3.8 Flash:
gemini-3.8-flash
Не вводьте ключ постачальника в Open WebUI. Якщо шлюз не перевіряє ключ, поле ключа API можна залишити порожнім — не вигадуйте окремий ключ.
Браузер
Локальний порт 3000
- Відкрийте сторінку чату
- Спочатку завершіть реєстрацію
- Потім перейдіть до налаштувань
У контейнері
Open WebUI
- Не вказуйте localhost
- Використовуйте ім’я хоста
- URL має завершуватися на /v1
На тому самому комп’ютері
OmniProxy
- Ключ залишається у шлюзі
- Орієнтуйтеся на список моделей шлюзу
- Потім перегляньте журнал викликів
Якщо сервіс моделей працює на хост-системі, а Open WebUI — у контейнері Docker, замініть localhost в URL на host.docker.internal. Хост-система — це комп’ютер, на якому безпосередньо працює Docker. Якщо OmniProxy прослуховує лише цей комп’ютер, URL можна записати як http://host.docker.internal:порт/v1, замінивши слово «порт» на порт, який фактично використовує OmniProxy.
Якщо Open WebUI запущено локально за допомогою команди Python із попереднього розділу й OmniProxy також працює локально, використовуйте в адресі 127.0.0.1 або localhost. У такому разі не вказуйте host.docker.internal.
Заповнення конфігурації інструмента
Інтерфейс v0.11.4 зі спрощеною китайською мовою станом на 2026-10-09 відрізнявся назвами від Settings > Admin > Connections в англомовній інструкції. Виконайте наведені нижче дії відповідно до фактично відображених пунктів:
- Розгорніть ліву бічну панель.
- Натисніть меню користувача внизу.
- Натисніть Налаштування.
- У нижній групі адміністратора натисніть Зовнішні підключення.
- Відкрийте OpenAI API.
- Праворуч від Керування підключеннями OpenAI API натисніть +.
- У вікні Редагувати підключення введіть URL, що закінчується на
/v1. Для типу API залиште Chat Completions. - Для Способу автентифікації залиште Ключ (Bearer). Bearer — це спосіб автентифікації, за якого ключ API передається в запиті. Якщо OmniProxy надав вам ключ, введіть його в поле Ключ API. Якщо шлюз не перевіряє ключ, залиште це поле порожнім. 2026-10-09 з порожнім полем успішно пройшли і перевірка, і одна розмова.
- Натисніть Перевірити підключення поруч із URL. Якщо OmniProxy надає
/models, тут буде отримано список моделей. - Відкрийте Додатково. Якщо поле Ідентифікатор моделі залишити порожнім, використовуватимуться всі моделі, повернуті
/modelsза цією адресою. Лише якщо перевірка не вдається, введіть повний ідентифікатор зі списку в полі Додати ідентифікатор моделі, а потім натисніть Додати. Кожен ідентифікатор додавайте лише один раз; пробіли на початку та в кінці буде вилучено. - Натисніть Зберегти в цьому вікні, а потім — Зберегти в нижньому правому куті сторінки зовнішніх підключень.
Самого збереження конфігурації недостатньо — воно не замінює перевірку. Перевірити підключення надсилає запит до /models на іншому боці, тобто до API для отримання списку доступних моделей. Деякі сервіси не мають такого API, тому перевірка може завершитися помилкою, хоча чат усе одно може працювати. У такому разі додайте ідентифікатор моделі вручну.
Перевірка реального завдання
Поверніться на сторінку чату, відкрийте меню моделей поруч із полем введення та виберіть повний ідентифікатор зі списку OmniProxy. Надішліть дуже коротке повідомлення, наприклад попросіть відповісти лише одним словом. У вікні чату має фактично з’явитися відповідь.
2026-10-09 цю розмову було виконано у v0.11.4, установленій через Python. Docker залишається рекомендованим способом, але цього разу тест не повторювали в Docker.
Потім відкрийте журнал викликів OmniProxy та перевірте джерело цього запиту й ідентифікатор моделі. Самого повідомлення про успішне збереження або появи моделі в меню ще недостатньо для завершення перевірки.
Інтерфейс
Модель доступна для вибору
- Connections збережено
- Модель з’явилася у списку
- Надішліть коротке запитання
Відповідь
У чаті є відповідь
- Повідомлення не порожнє
- Це не помилка підключення
- Спробуйте ще раз з іншою моделлю
Журнал
Шлюз бачить запит
- Джерело — це підключення
- ID моделі збігається
- Ключ не потрапив на сторінку
Поширені помилки
- У контейнері вказано
localhostабо127.0.0.1: ці адреси вказують на сам контейнер, а не на хост-систему. Замініть їх наhost.docker.internalі переконайтеся, що команда запуску містить--add-host=host.docker.internal:host-gateway. Якщо Open WebUI працює не в контейнері, слід, навпаки, використовувати локальну адресу. - Сторінка не відкривається в браузері: для Docker перевірте порт 3000, а для Python — 8080. Під час першого запуску потрібно дочекатися завершення завантаження моделі вбудовувань. Команда
docker psдає змогу перевірити, чи працює контейнер. Якщо порт 3000 зайнятий, змініть порт ліворуч у параметрі-p. - Ідентифікатор у меню моделей довший за коротку назву постачальника: використовуйте повний ідентифікатор із меню разом з усіма скісними рисками.
- Після оновлення всі користувачі вийшли з облікових записів: значення
WEBUI_SECRET_KEYзмінилося. Перезапустіть систему з рядком ключа, згенерованим під час першого встановлення. - Помилка Перевірити підключення: спочатку вручну додайте ідентифікатор моделі в розділі Додатково, а потім перевірте роботу за допомогою реального короткого повідомлення в чаті. Деякі сервіси не мають
/models, тому чат може працювати, навіть якщо перевірка завершується помилкою. - Модель не існує: повторно скопіюйте ідентифікатор із поточного списку OmniProxy та не використовуйте застарілу назву.
Офіційні довідкові матеріали
Команду встановлення наведено в Open WebUI Quick Start. Інструкції з підключення наведено в описі підключення OpenAI-compatible. Ідентифікатори моделей із прикладів наведено в огляді моделей Claude та списку моделей Gemini.
Замістіть усі заповнювачі значеннями з вашої власної конфігурації OmniProxy. Ніколи не публікуйте справжній ключ.
Збережений результат або HTTP 200 самі по собі не доводять повну сумісність Агента. Перевірте джерело та модель у журналі викликів OmniProxy.