Files
iiEsaywebUI/REBRAND_SOLUTION.md
2026-02-19 18:12:09 +00:00

259 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Рабочее решение ребрендинга 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
**Используйте этот скрипт для всех операций ребрендинга!**