# Рабочее решение ребрендинга 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 конфигурация ``` ## 🚀 Использование ### Требования 1. Контейнер `open-webui` должен быть запущен 2. Файлы логотипов должны находиться в папке `media/` 3. Минимум требуется `logo.png` ### Запуск скрипта ```bash cd /home/its/iiEasyWeb sudo ./scripts/rebrand_safe_final.sh ``` ### После выполнения 1. **Очистите кеш браузера:** - `Ctrl+Shift+Delete` → Очистить кеш изображений - Или используйте режим инкогнито: `Ctrl+Shift+N` 2. **Проверьте результат:** - Откройте `https://odo.iieasy.ru` или `http://localhost:3001` - Проверьте favicon в браузере - Проверьте логотип в окне авторизации - Проверьте темную тему (если используется) 3. **Проверьте статические файлы:** ```bash # Проверьте, что файлы заменены 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 ``` ## 🔒 Безопасность ### Почему скрипт безопасен: 1. **Не трогает JavaScript/TypeScript код** - обрабатывает только HTML/Svelte/Python шаблоны 2. **Не изменяет OAuth/Authentik** - исключает файлы связанные с аутентификацией 3. **Не ломает функциональность** - только заменяет статические файлы и текст в шаблонах 4. **Использует безопасные 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: Замена существующих файлов Скрипт находит все существующие файлы логотипов и иконок и заменяет их: ```bash find /app -type f -name "logo.png" -o -name "favicon.png" ... ``` ### Шаг 3: Исправление ссылок в шаблонах Скрипт ищет файлы с упоминаниями иконок и исправляет ссылки: ```bash find /app/web -type f -name "*.html" -o -name "*.svelte" | grep -l "favicon" ``` ### Шаг 4: Удаление текста и элементов Скрипт удаляет упоминания "Open WebUI" и элементы интерфейса только из Svelte файлов (безопасно). ### Шаг 5: Перезапуск контейнера Скрипт автоматически перезапускает контейнер для применения изменений. ## 🔄 Обновление после обновления Open WebUI После обновления образа Open WebUI нужно запустить скрипт снова: ```bash # 1. Обновите образ sudo docker compose pull # 2. Пересоздайте контейнер sudo docker compose up -d # 3. Запустите ребрендинг sudo ./scripts/rebrand_safe_final.sh ``` Или используйте скрипт `update.sh`: ```bash sudo ./scripts/update.sh ``` ## 🐛 Решение проблем ### Логотип не изменился 1. **Очистите кеш браузера** - это самая частая причина 2. **Проверьте файлы в контейнере:** ```bash sudo docker exec open-webui ls -la /app/web/static/logo.png ``` 3. **Перезапустите контейнер:** ```bash sudo docker compose restart open-webui ``` ### Favicon не изменился 1. Проверьте HTML код страницы (View Source) 2. Убедитесь, что ссылка на favicon исправлена 3. Очистите кеш браузера полностью ### Элементы интерфейса не удалились Элементы могут быть в скомпилированных JS файлах. В этом случае: 1. Проверьте исходные Svelte файлы через `find_settings_elements.sh` 2. Удалите элементы вручную в найденных файлах 3. Или используйте Admin Panel для скрытия элементов ### Контейнер не запускается после ребрендинга Если скрипт сломал контейнер: ```bash # Восстановите контейнер 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` | ✅ Да | Низкий (если есть) | ## ✨ Особенности 1. **Автоматическое определение темы** - скрипт автоматически использует `logo-dark.svg` для темной темы, если файл существует 2. **Fallback на logo.png** - если специальных файлов нет, используется основной `logo.png` 3. **Безопасная обработка** - скрипт не трогает критичные файлы и не ломает функциональность 4. **Подробный вывод** - скрипт показывает, что именно обрабатывается ## 📚 Связанные файлы - `scripts/rebrand_safe_final.sh` - основной скрипт ребрендинга - `scripts/update.sh` - скрипт для обновления с автоматическим ребрендингом - `REBRANDING.md` - общая документация по ребрендингу - `LOGO_SETUP.md` - инструкция по настройке логотипов ## 🎯 Итог Скрипт `rebrand_safe_final.sh` - это **полное и безопасное решение** для ребрендинга Open WebUI, которое: - ✅ Заменяет все логотипы и иконки - ✅ Исправляет ссылки в шаблонах - ✅ Удаляет упоминания "Open WebUI" - ✅ Удаляет ненужные элементы интерфейса - ✅ Не ломает функциональность приложения - ✅ Работает после обновлений Open WebUI **Используйте этот скрипт для всех операций ребрендинга!**