12 KiB
Рабочее решение ребрендинга Open WebUI для iiEasy
📋 Обзор
Скрипт rebrand_safe_final.sh - это безопасное и полное решение для ребрендинга Open WebUI, которое заменяет все логотипы, иконки и удаляет упоминания "Open WebUI" без нарушения функциональности приложения.
✅ Что делает скрипт
1. Замена логотипов и иконок
Скрипт заменяет все типы логотипов и иконок:
Основные логотипы:
- ✅
logo.png- основной логотип - ✅
logo.svg- SVG версия логотипа - ✅
logo-light.svg/logo-light.png- для светлой темы - ✅
logo-dark.svg/logo-dark.png- для темной темы - ✅
splash.png- логотип на экране загрузки - ✅
splash-dark.png- логотип на экране загрузки (темная тема) - ✅
splash-light.png- логотип на экране загрузки (светлая тема)
Favicon и иконки:
- ✅
favicon.png- основная иконка сайта - ✅
favicon.ico- иконка для браузеров - ✅
favicon-dark.png- иконка для темной темы - ✅
favicon-light.png- иконка для светлой темы - ✅
apple-touch-icon.png- иконка для iOS устройств
2. Исправление ссылок в шаблонах
Скрипт автоматически исправляет ссылки в HTML/Svelte файлах:
- Заменяет
/static/favicon.ico→/static/logo.png - Заменяет
/static/favicon-dark.png→/static/logo.png - Заменяет
/static/splash-dark.png→/static/logo.png - Заменяет
/static/apple-touch-icon.png→/static/logo.png - Исправляет
hrefиsrcатрибуты в HTML тегах
3. Удаление упоминаний "Open WebUI"
- ✅ Удаляет текст "(Open WebUI)" из всех HTML/Svelte шаблонов
- ✅ Исправляет "Войти в iiEasyWeb (Open WebUI)" → "Войти в iiEasyWeb"
- ✅ Заменяет ссылки на документацию:
docs.openwebui.com→note.iieasy.ru
4. Удаление элементов интерфейса
- ✅ Удаляет кнопку "Проверить обновления"
- ✅ Удаляет ссылку "(последняя)" на GitHub releases
- ✅ Удаляет "Посмотреть, что нового"
- ✅ Удаляет социальные сети (Discord, Twitter/X, GitHub)
- ✅ Удаляет блок "Помощь" с соцсетями
- ✅ Удаляет блок "Лицензия" полностью
5. Исправление API endpoints
- ✅ Заменяет
/api/v1/models/model/profile/image→/static/logo.png - ✅ Исправляет изображения профиля моделей
📁 Структура файлов
/home/its/iiEasyWeb/
├── media/
│ ├── logo.png # Основной логотип (обязательно)
│ ├── favicon.png # Favicon (опционально, иначе используется logo.png)
│ ├── logo-light.svg # Логотип для светлой темы (опционально)
│ └── logo-dark.svg # Логотип для темной темы (опционально)
├── scripts/
│ └── rebrand_safe_final.sh # Основной скрипт ребрендинга
└── docker-compose.yml # Docker Compose конфигурация
🚀 Использование
Требования
- Контейнер
open-webuiдолжен быть запущен - Файлы логотипов должны находиться в папке
media/ - Минимум требуется
logo.png
Запуск скрипта
cd /home/its/iiEasyWeb
sudo ./scripts/rebrand_safe_final.sh
После выполнения
-
Очистите кеш браузера:
Ctrl+Shift+Delete→ Очистить кеш изображений- Или используйте режим инкогнито:
Ctrl+Shift+N
-
Проверьте результат:
- Откройте
https://odo.iieasy.ruилиhttp://localhost:3001 - Проверьте favicon в браузере
- Проверьте логотип в окне авторизации
- Проверьте темную тему (если используется)
- Откройте
-
Проверьте статические файлы:
# Проверьте, что файлы заменены curl http://localhost:3001/static/logo.png curl http://localhost:3001/static/favicon.ico curl http://localhost:3001/static/splash-dark.png curl http://localhost:3001/static/apple-touch-icon.png
🔒 Безопасность
Почему скрипт безопасен:
- Не трогает JavaScript/TypeScript код - обрабатывает только HTML/Svelte/Python шаблоны
- Не изменяет OAuth/Authentik - исключает файлы связанные с аутентификацией
- Не ломает функциональность - только заменяет статические файлы и текст в шаблонах
- Использует безопасные sed команды - точные замены без агрессивных паттернов
Что НЕ делает скрипт:
- ❌ Не изменяет скомпилированные JS файлы (может сломать функциональность)
- ❌ Не трогает OAuth/OIDC конфигурацию
- ❌ Не изменяет базу данных
- ❌ Не удаляет критичные системные файлы
📝 Логика работы
Шаг 1: Копирование файлов в статические директории
Скрипт копирует логотипы во все возможные статические директории:
/app/web/build/_app/immutable/app/web/static/app/web/build/app/backend/static/app/static/app/web/public/app/public
Шаг 2: Замена существующих файлов
Скрипт находит все существующие файлы логотипов и иконок и заменяет их:
find /app -type f -name "logo.png" -o -name "favicon.png" ...
Шаг 3: Исправление ссылок в шаблонах
Скрипт ищет файлы с упоминаниями иконок и исправляет ссылки:
find /app/web -type f -name "*.html" -o -name "*.svelte" | grep -l "favicon"
Шаг 4: Удаление текста и элементов
Скрипт удаляет упоминания "Open WebUI" и элементы интерфейса только из Svelte файлов (безопасно).
Шаг 5: Перезапуск контейнера
Скрипт автоматически перезапускает контейнер для применения изменений.
🔄 Обновление после обновления Open WebUI
После обновления образа Open WebUI нужно запустить скрипт снова:
# 1. Обновите образ
sudo docker compose pull
# 2. Пересоздайте контейнер
sudo docker compose up -d
# 3. Запустите ребрендинг
sudo ./scripts/rebrand_safe_final.sh
Или используйте скрипт update.sh:
sudo ./scripts/update.sh
🐛 Решение проблем
Логотип не изменился
- Очистите кеш браузера - это самая частая причина
- Проверьте файлы в контейнере:
sudo docker exec open-webui ls -la /app/web/static/logo.png - Перезапустите контейнер:
sudo docker compose restart open-webui
Favicon не изменился
- Проверьте HTML код страницы (View Source)
- Убедитесь, что ссылка на favicon исправлена
- Очистите кеш браузера полностью
Элементы интерфейса не удалились
Элементы могут быть в скомпилированных JS файлах. В этом случае:
- Проверьте исходные Svelte файлы через
find_settings_elements.sh - Удалите элементы вручную в найденных файлах
- Или используйте Admin Panel для скрытия элементов
Контейнер не запускается после ребрендинга
Если скрипт сломал контейнер:
# Восстановите контейнер
sudo docker compose restart open-webui
# Если не помогло, пересоздайте
sudo docker compose down
sudo docker compose up -d
sudo ./scripts/rebrand_safe_final.sh
📊 Поддерживаемые файлы
| Тип файла | Обрабатывается | Приоритет |
|---|---|---|
logo.png |
✅ Да | Высокий |
favicon.png |
✅ Да | Высокий |
favicon.ico |
✅ Да | Высокий |
favicon-dark.png |
✅ Да | Средний |
apple-touch-icon.png |
✅ Да | Средний |
splash-dark.png |
✅ Да | Средний |
logo-dark.svg |
✅ Да | Низкий (если есть) |
logo-light.svg |
✅ Да | Низкий (если есть) |
✨ Особенности
- Автоматическое определение темы - скрипт автоматически использует
logo-dark.svgдля темной темы, если файл существует - Fallback на logo.png - если специальных файлов нет, используется основной
logo.png - Безопасная обработка - скрипт не трогает критичные файлы и не ломает функциональность
- Подробный вывод - скрипт показывает, что именно обрабатывается
📚 Связанные файлы
scripts/rebrand_safe_final.sh- основной скрипт ребрендингаscripts/update.sh- скрипт для обновления с автоматическим ребрендингомREBRANDING.md- общая документация по ребрендингуLOGO_SETUP.md- инструкция по настройке логотипов
🎯 Итог
Скрипт rebrand_safe_final.sh - это полное и безопасное решение для ребрендинга Open WebUI, которое:
- ✅ Заменяет все логотипы и иконки
- ✅ Исправляет ссылки в шаблонах
- ✅ Удаляет упоминания "Open WebUI"
- ✅ Удаляет ненужные элементы интерфейса
- ✅ Не ломает функциональность приложения
- ✅ Работает после обновлений Open WebUI
Используйте этот скрипт для всех операций ребрендинга!